我被困在下面的代码上,对它的工作原理没有基本的了解?
r22
确定执行以下代码行后的十进制值:
clr r22
dec r22
push r22
dec r22
pop r5
r22 的值 = ?
好吧,只需一次完成每条指令,并弄清楚每条指令的作用。
所以,除非我做错了什么,否则答案是 r22 = 254。
寄存器(8 位)从 0 到 FF(dec r22) 到 FE(dec r22)
如果 r22 是 4 位,则 E = 14
如果 r22 为 8 位,则 FE = 254
如果 r22 是 16 位,则 FFFE = 65534
等等
处理器寄存器就像汽车里程表 当它达到 99,999 英里时,它会前进到 00000
寄存器达到 FFFF,15-15-15-15(不是 9-9-9-9,因为它是十六进制而不是十进制),当我们 +1 时它返回 0-0-0-0