例如,EAX在AX,AH和AL之间划分。所以,如果我这样做:
push eax
mov eax, [szString] ;; where szString holds the string 'test'
然后将如何测试'字符串在三个子寄存器之间划分?例如,AX持有什么? 有些人可以解释为什么这是比特的吗?例如,字符串' test'它是如何分区的?
答案 0 :(得分:-1)
AL将具有第一个t,AH将具有e,AX将具有et(te取决于您如何考虑较低字符和较高字符)。自从我接触到汇编程序以来,它已经有15到18年了,但无论如何,这就是我所记得的。
szString在内存中看起来像这样:
t e s t
0x74 0x65 0x73 0x74
mov eax,[szString]
will have:
AL - 0x74
AH - 0x65
AX - 0x6574
EAX - 0x74736574
原始ASCII艺术:
[74][65][73][74]
[-----EAX------]
[--AX--]
[AL][AH]