读书人

新手学汇编遇到有关问题 求指教

发布时间: 2012-12-15 15:16:03 作者: rapoo

新手学汇编遇到问题 求指教
本帖最后由 mnb1237273 于 2012-12-04 14:20:27 编辑 书上讲解DVI除法指令的时候有这样一个例题:
编程,利用除法指令计算100001/100。
因为要分别为DX和AX赋100001的高16位值和低16位值,所以应先将100001表示为16进制形势:186A1H.程序如下:
mov dx,1
mov ax,86A1H ;(dx)*10000h+(ax)=100001
mov bx,100
div bx
程序里面的第二句后面的注释我不懂。为什么dx要乘以16进制的10000而不是1000或者100????
[最优解释]
都使用10进制理解,可能好懂些

(dx)*10000h+(ax)=100001
就是
dx*65536+ax=1*65536+34465=100001

dx的1就表示65536,2就表示65536*2,3就。。。。
[其他解释]
“10000而不是1000或者100?”,这里的 10000 是 10000h,十六进制的,不是十进制的。因为是高 16 位值,当然是 10000h 了,0-0FFFFh 在低 16 位的 ax 里嘛。
[其他解释]
因为是16进纸所以是1000h 还是没明白哦???
[其他解释]
感谢。这下明白了。。

读书人网 >汇编语言

热点推荐