大会,NASM; 32位寄存器中的信息在子寄存器中是如何划分的?
Assembly, NASM; how is the information in 32 bit registers divided among sub registers?
例如,EAX分为AX和AH和AL。所以如果我这样做:
push eax
mov eax, [szString] ;; where szString holds the string 'test'
那么'test'字符串在三个子寄存器中如何划分呢?例如,AX持有什么?
有人可以解释为什么这是以位为单位吗?例如,字符串 'test' 有多少位,它是如何划分的?
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]
例如,EAX分为AX和AH和AL。所以如果我这样做:
push eax
mov eax, [szString] ;; where szString holds the string 'test'
那么'test'字符串在三个子寄存器中如何划分呢?例如,AX持有什么? 有人可以解释为什么这是以位为单位吗?例如,字符串 'test' 有多少位,它是如何划分的?
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]