Hallo allerseits,
es geht um den Assembler-Befehl "BRA" von [1] auf S. 375.
Anwendung
Beschreibung
Angenommen, ich habe eine Instruktion
decfsz ist auf Seite 383 beschrieben und steht für Dekrement, bis X=0.
Ich denke, dass ich hier so lange "X" um 1 reduzieren, bis X=0 und dann erst return erreiche. D.h. "bra" überspringt den nächsten "gefetchten" Befehl "return" und führt "mache" erneut aus. Ich kann mir nur dieses Vorgehen anhand der Beschreibung nicht erklären, falls meine Interpretation überhaupt korrekt ist. Nach meiner Interpretation is obiger ASM-Code identisch zu
[1] http://ww1.microchip.com/downloads/en/DeviceDoc/39775b.pdf
es geht um den Assembler-Befehl "BRA" von [1] auf S. 375.
Anwendung
Code:
bra n
PC steht für Processor Count.Add the 2's complement number 2n to the PC. Since the PC will have incremented to fetch the next instruction, the new address will be PC + 2 + 2n. This instruction is a two-cycle instruction.
Angenommen, ich habe eine Instruktion
Code:
mache: decfsz X,1,0
bra mache
return
decfsz ist auf Seite 383 beschrieben und steht für Dekrement, bis X=0.
Ich denke, dass ich hier so lange "X" um 1 reduzieren, bis X=0 und dann erst return erreiche. D.h. "bra" überspringt den nächsten "gefetchten" Befehl "return" und führt "mache" erneut aus. Ich kann mir nur dieses Vorgehen anhand der Beschreibung nicht erklären, falls meine Interpretation überhaupt korrekt ist. Nach meiner Interpretation is obiger ASM-Code identisch zu
Code:
for(X; X>0; X--); bzw. while(X>0) do X-=1;
[1] http://ww1.microchip.com/downloads/en/DeviceDoc/39775b.pdf
Zuletzt bearbeitet: