为一个假设的处理器考虑下面的汇编语言程序。A、 B和C是8位寄存器。各种说明的含义如注释所示。
null
MOV B,#0 | ; | B← 0 | |
电影C#8 | ; | C← 8. | |
Z: | CMP C,#0 | ; | 比较C和0 |
JZX | ; | 如果设置了零标志,则跳转到X | |
C分项工程#1 | ; | C← C-1 | |
RRC A,#1 | ; | 将进位右转一位。因此: | |
; | 如果A和进位标志的初始值为 A. 7. …a 0 和 | ||
; | C 0 分别是执行本协议后的价值观 | ||
; | 指示将是 C 0 A. 7. …a 1. 还有 0 分别地 | ||
JC Y | ; | 如果设置了进位标志,则跳转到Y | |
JMP Z | ; | 跳到Z | |
Y: | 加B,#1 | ; | B← B+1 |
JMP Z | ; | 跳到Z | |
X: |
(A) A0中的0位数 (B) A0中的1位数 (C) A0 (D) 8. 答复: (B) 说明: 答复: (B)
说明:
说明:只有当进位标志为1且进位始终使用右旋转填充时,B的值才会增加1。所以B将把1的数量存储在A0中。 RRC指令是( 累加器的每个二进制位向右旋转一个位置。位D0位于D7的位置以及进位标志中。CY根据位D0进行修改。任何其他位都不受影响)。所以A=A0,在执行RRC A,#1之后,进位标志被设置,它转到Y,即B=B+1,它变成B=0+1=1,所以(B)是正确的选项 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END