我正在打印多个数字整数的方式,将整数除以10,然后收集剩下的部分,然后打印出来。 这是一个有问题的代码段:
划分:
; initial division mov ax, 111 ; number we want to print mov ch, 10 ; we divide by ten to siphon digits div ch ; divide our number by 10 ; al now has 11, ah has 1 mov dh, ah ; save the remainder in dh 1 mov bx, al ; these lines refill ax with the number to mov ax, bx ; divide mov ch, 10 ; refill ch with the divisor div ch ; al now has 1, ah now has 1
标有1的行有问题。 我需要将8位寄存器AL中的值移到16位寄存器AX。 我怎么能在那里得到那个价值,所以我可以把它分开?
只需清除ah
寄存器即可。 ax
寄存器由高低部分组成 – ah:al
这同样适用于bx
(bh,bl) cx
(ch,cl)和dx
(dh,dl)寄存器