ASM mov字节数组

时间:2014-04-07 17:23:29

标签: assembly x86 endianness mov

我需要知道最后两行代码的作用,一切都按预期编译和工作。我的部分声明是:

SECTION .data
prompt: db      "Enter 10 digits: "
plen:   equ     $-prompt
SECTION .bss
digits: equ     10
inbuf:  resb    digits + 2
SECTION .text

我不明白的代码段是:

mov     al, ah              ; move AH to AL
add     al, '0'             ;add the ascii value of 0 (48) to al, store in al
mov     [inbuf+10], al      ;????
mov byte    [inbuf+11], 10  ;?????

谢谢

1 个答案:

答案 0 :(得分:3)

由于所有内容都是字节,因此不涉及字节序。

这些行只是:

mov     [inbuf+10], al      ; store the digit
mov byte    [inbuf+11], 10  ; 10 (line feed) on the end

顺便说一句,如果inbuf + 0inbuf + 10中有数字,则表示您有11个数字。