匯編語言除法 關(guān)于匯編語言中的除法指令?
關(guān)于匯編語言中的除法指令?Div(unsigned divide)unsigned number division格式:Div SRC執(zhí)行的運(yùn)算:字節(jié)運(yùn)算:ax中的16位除數(shù),源中的8位除數(shù),Al中的
關(guān)于匯編語言中的除法指令?
Div(unsigned divide)unsigned number division
格式:Div SRC
執(zhí)行的運(yùn)算:
字節(jié)運(yùn)算:ax中的16位除數(shù),源中的8位除數(shù),Al中的8位商,ah中的8位余數(shù)。[al
?。―X
]),放在除法字中。其中DX是高位字,16位除數(shù)是源操作數(shù),結(jié)果的16位結(jié)尾是ax,16位余數(shù)是DX。Express as
](AX)
(DX)
雙字運(yùn)算:EDX中的64位除數(shù),eax,其中EDX是高雙字,32位除數(shù)是源操作數(shù),結(jié)果的32位商是eax,32位余數(shù)是EDX,Express as
(eax)
商和余數(shù)是無符號(hào)的。
IDIV signed division instruction
格式:IDIV SRC
執(zhí)行與div相同的運(yùn)算,但操作數(shù)必須有符號(hào),商和余數(shù)也有符號(hào),余數(shù)的符號(hào)與除數(shù)的符號(hào)相同
add(add)函數(shù)是將兩個(gè)操作數(shù)相加,結(jié)果發(fā)送到目標(biāo)操作數(shù),而源操作數(shù)保持不變。兩個(gè)操作數(shù)不能同時(shí)處于內(nèi)存尋址模式。帶進(jìn)位加法(ADC)指令主要與加法指令結(jié)合使用,實(shí)現(xiàn)多字節(jié)加法。對(duì)操作數(shù)的要求與加法指令相同。計(jì)算結(jié)果對(duì)程序狀態(tài)字(PSW)有影響。有四種尋址方式:直接尋址、直接尋址、寄存器尋址和寄存器間接尋址。擴(kuò)展數(shù)據(jù)邏輯運(yùn)算指令:這些指令用于執(zhí)行算術(shù)和邏輯運(yùn)算,包括加法指令add/ADC、減法指令sub/SBB、加法指令I(lǐng)nc、減法指令Dec;比較運(yùn)算指令CMP、乘法指令mul/imul、除法指令div/IDIV、符號(hào)擴(kuò)展指令CBW/CWDE/cdqe、十進(jìn)制調(diào)整指令DAA/Das/AAA/AAS、邏輯運(yùn)算not/and/or/XOR/test等
1。乘法:mul AB;(a)×(b),積的低8位在a,積的高8位在b;C總是0。
2. 除法:div AB;(a)/(b),a中的商,b中的余數(shù)。如果(b)=0,則結(jié)果是不確定的,(OV)=1,(c)=0。例如,試著將a中的二進(jìn)制數(shù)轉(zhuǎn)換成3位BCD碼,其中百位存儲(chǔ)在31h單元中,十位和一位被壓縮并存儲(chǔ)在30h單元中。Mov B,?100 div AB Mov 31h,a Mov a,?10 XCH a,B div AB swap a add a,B Mov 30h,a