[5分问题]
请以某个假定处理器的汇编语言来考虑以下程序片段。处理器具有三个通用寄存器R1,R2和R3。指令的含义以指令后的注释(以;开头)表示。
X: CMP R1, 0 ;Compare R1 and 0, set flags appropriately in status register
JZ Z ;Jump if zero to target Z
MOV R2, R1 ;Copy contents of R1 to R2
SHR R1 ;Shift right R1 by 1 bit
SHL R1 ;Shift left R1 by 1 bit
CMP R2, R1 ;Compare R2 and R1 and set flag in status register
JZ Y ;Jump if zero to target Y
INC R3 ;Increment R3 by 1;
Y: SHR R1 ;Shift right R1 by 1 bit
JMP X ;Jump to target X
Z:...
一种。最初,R1,R2和R3分别包含值5、0和0。当控制达到Z时,R1和R3的最终值是多少?
b。通常,如果R1,R2和R3最初分别包含值n,0和0。当控制达到Z时,R3的最终值是多少?回答:
解释:
这个问题的测验