汇编语言中的乘除法用到的寄存器问题(较详细解析)(用到AX和DX,乘数和除数用其他寄存器和存储器)
生活随笔
收集整理的這篇文章主要介紹了
汇编语言中的乘除法用到的寄存器问题(较详细解析)(用到AX和DX,乘数和除数用其他寄存器和存储器)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
匯編16位除法,默認被除數(shù) DX-AX 商 AX 余數(shù) DX,請問如何向AX-DX中傳遞被除數(shù)?
答:DX放高16位,AX放低16位
是32位除以16位的
下面計算100001/100
100001轉(zhuǎn)為十六進制 186A1H
mov dx,1
mov ax,86A1H; (dx)*10000H+(ax)=186A1H
mov bx,100
div bx;除數(shù)為bx,16位,所以進行的是32位除以16位的除法
運行結(jié)束后
(ax)=0eE8H(即1000)
(dx)=1(余數(shù)為1)
乘法:
書上寫:
當乘數(shù)位數(shù)為16位時,
其乘積的 存放位置為“DX:AX”(或者DX-AX),我所不明白的就是
這里的存放位置究竟是什么?是DX還是AX?
答:因為乘數(shù)是16位,那么結(jié)果可能是32位,DX存結(jié)果高位,AX存結(jié)果低位。乘數(shù)和被乘數(shù)都有可能是16位的,結(jié)果有可能是32位,那么就要把高16位的結(jié)果放到DX中,低16位的放到AX中。
部分整理來源于網(wǎng)絡(luò)
總結(jié)
以上是生活随笔為你收集整理的汇编语言中的乘除法用到的寄存器问题(较详细解析)(用到AX和DX,乘数和除数用其他寄存器和存储器)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编语言中,DS与BX有何区别?怎么搭配
- 下一篇: 指令和伪指令的区别