📜  门|门 CS 1999 |第 65 题

📅  最后修改于: 2021-09-25 06:24:58             🧑  作者: Mango

【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 的最终值是多少?
湾通常,如果 R1、R2 和 R3 最初分别包含值 n、0 和 0。当控制到达 Z 时,R3 的最终值是多少?回答:
解释:
这个问题的测验