【发布时间】:2016-09-11 15:29:53
【问题描述】:
我无法理解 x86 汇编中的寄存器,我知道 EAX 是完整的 32 位,AX 是低 16 位,然后 AH 和 AL 是 AX 的高和低 8 位,但我正在做一个问题。
如果 AL=10 且 AH=10 AX 中的值是多少?
我对此的想法是将 10 转换为二进制 (1010),然后将其作为 AX (0000 1010 0000 1010) 的高位和低位,然后将其转换为十进制 (2570) 我是否靠近右边在这里回答,还是离开?
【问题讨论】:
-
是的,没错。你也可以只做
AX=256*AH+AL=2560+10=2570。 PS:如有疑问,您可以在调试器中运行一些代码。 -
感谢@Jester,快捷方式会派上用场:)
-
转换为十六进制在心理上更容易。每个字节是 2 个十六进制数字。只是0x0a0a,先有AH。
标签: assembly x86 cpu-registers