【问题标题】:ASM mov byte arrayASM mov 字节数组
【发布时间】:2014-04-07 17:23:29
【问题描述】:

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

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

看不懂的代码sn-p是:

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  ;?????

谢谢

【问题讨论】:

    标签: assembly x86 endianness mov


    【解决方案1】:

    由于一切都是字节,因此不涉及字节序。

    这些行就可以了:

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

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

    【讨论】:

    • 谢谢你的回答,很清楚。 +1 用于澄清 inbuf +10。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    相关资源
    最近更新 更多