盖特|盖特CS 1999 |问题65

[5分问题] 在一个假设的处理器的汇编语言中考虑下面的程序片段。处理器有三个通用寄存器R1、R2和R3。说明的含义以注释(以;)开头)在指令之后。

null
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:...

a、 最初,R1、R2和R3分别包含值5、0和0。当控制达到Z时,R1和R3的最终值是多少? b、 通常,如果R1、R2和R3最初分别包含值n、0和0。当控制达到Z时,R3的最终值是多少? 答复: 说明: 这个问题的小测验

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享