Gast
#4179235
Hallo, ich habe eine Frage, ich habe gerade mit meinem PIC16F887 ein kleines Assembler Programm laufen lassen. Dabei bin ich auf ein komisches verhalten gestoßen, dass ich mir nicht erklären kann. Warum funktioniert das Programm nur, wenn ich vor dem Return noch ein zusätzliches NOP mache ? Darf man nicht zu einem RETURN mit GOTO springen ? ... BTFSS SM_WARTEC_TEMP, 2 GOTO $ + 8 NOP NOP NOP NOP NOP NOP NOP BTFSS SM_WARTEC_TEMP, 3 GOTO $ + 16 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP ;NOP ; Ohne dieses NOP funktioniert das Programm nicht. RETURN Wenn ich das mit einem Simulator laufen lasse springt der PC bei dem GOTO $ + 16 irgendwo ganz weit runter (Weit über 200 Adressen weiter).