Hallo zusammen,
ich hab mal angefangen, mich mit Assembler zu beschaeftigen und schreibe grad mein erstes Programm. Um den Spass schnell zu verlieren und Gruende zum Fluchen zu finden, hab ich mir direkt ein kompliziertes Projekt vorgenommen Und hier auch schon das Problem:
ldi r16, 1<<PCIE ;Pin Change Interrupts on/Int0|Int1 off
out GIMSK, r16
Um ein sauberes Programm zu schreiben, initialisiere ich alle Register, die einen Interrupt aktivieren koennen, nochmal manuell neu. Dieser Block initialisiert das Register fuer externe Interrupts und soll INT0/INT1 abschalten und Port Change Interrupts zulassen. Dazu soll Bit.5 auf eins gesetzt werden. Wenn ich die Codezeile nun im Simulator ausfuehre, steht im Register anschliessend 0x08. Das ist theoretisch nicht moeglich, da nur Bit 7-5 manipulierbar sind, der Rest ist ohne Funktion. Die gleiche Ladeanweisung anders formuliert (ldi r16, 0b00100000) brachte ebenfalls dasselbe Ergebnis. Was soll der Mist? *lol*
Gruesse, Uwe
P.S.: Diese Frage hab ich auch bei mikrocontroller.net gepostet
ich hab mal angefangen, mich mit Assembler zu beschaeftigen und schreibe grad mein erstes Programm. Um den Spass schnell zu verlieren und Gruende zum Fluchen zu finden, hab ich mir direkt ein kompliziertes Projekt vorgenommen Und hier auch schon das Problem:
ldi r16, 1<<PCIE ;Pin Change Interrupts on/Int0|Int1 off
out GIMSK, r16
Um ein sauberes Programm zu schreiben, initialisiere ich alle Register, die einen Interrupt aktivieren koennen, nochmal manuell neu. Dieser Block initialisiert das Register fuer externe Interrupts und soll INT0/INT1 abschalten und Port Change Interrupts zulassen. Dazu soll Bit.5 auf eins gesetzt werden. Wenn ich die Codezeile nun im Simulator ausfuehre, steht im Register anschliessend 0x08. Das ist theoretisch nicht moeglich, da nur Bit 7-5 manipulierbar sind, der Rest ist ohne Funktion. Die gleiche Ladeanweisung anders formuliert (ldi r16, 0b00100000) brachte ebenfalls dasselbe Ergebnis. Was soll der Mist? *lol*
Gruesse, Uwe
P.S.: Diese Frage hab ich auch bei mikrocontroller.net gepostet