小编ran*_*dom的帖子

将值移动到ax寄存器但是在打印时会交换值

我正在尝试使用aam指令并尝试打印它.从下面的代码我已经将ax reg复制到结果,但是当我尝试打印它时,输出反转.在下面的代码中,我试图将9乘以9,输出变为18.我不知道为什么.从我所读到的啊变成了十位,而al成为那个地方.但是当我尝试将其移动到结果时,值就是交换.是不是啊应该是斧头注册的前8位?其次是?我真的很困惑.使用mov指令切换那些位置吗?有人可以解释我为什么.我是集会的新手所以请耐心等待.我正在使用Tasm btw,并且在Windows下.谢谢.

.model small

.stack 100h

.data

num1 db 2 dup('0')

num2 db 2 dup('0')

result dw 2 dup('0')


.code
    main proc

    mov ax, @data
    mov ds, ax

    mov ah, 0
    mov al,9
    mov ah,9
    mul ah
    aam

    or ax, 3030h
    mov result, ax  


    mov dx, result
    mov ah, 02
    int 21h

    mov dx, result + 1
    mov ah, 02
    int 21h

    mov ax, 4c00h
    int 21h

main endp
end main
Run Code Online (Sandbox Code Playgroud)

assembly

0
推荐指数
1
解决办法
45
查看次数

标签 统计

assembly ×1