我无法弄清楚汇编表中不同情况下如何处理数据。
我有以下简单程序:
section .data
Digits: db "0123456789ABCDEF"
Sums: dd 15,12,6,0,21,14,4,0,0,19
Sums2: db 15,12,6,0,21,14,4,0,0,19
section .text
global _start
_start:
nop ; Put your experiments between the two nops...
mov ecx,2
mov al, byte [Sums+ecx*2]
mov bl, byte [Sums2+ecx*2]
mov dl, byte [Digits+ecx*2]
nop
现在,当我按指令调试它时,我会查看寄存器,无法理解发生了什么。
rcx --> as expected it contains the decimal 2
rdx --> as expected it contains the hexadecimal 34 which represents the decimal 4
rax --> has c which represents new page
rbx --> has 15 which represents negative acknowledge (NAK character)
我预计在rax中找到6,在rbx中找到1。我无法弄清楚为什么它没有发生。我是一个小端架构。感谢