freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[高等教育]第332算術(shù)運算類指令-資料下載頁

2025-01-19 18:50本頁面
  

【正文】 元操作數(shù) , 但不允許是立即數(shù) , 長度可以是字節(jié)或字 。但被除數(shù)必須是雙倍長度于源操作數(shù) , 它存放在 AX(對字節(jié)除 )或 DX、 AX( 對字除 ) 中 。 第 3章 80x86的指令系統(tǒng)和尋址方式 【 例 1】 寫出實現(xiàn)無符號數(shù) 0400H / 0B4H運算的程序段 。 MOV AX, 0400H ; ( AX) =0400H MOV BL, 0B4H ; ( BL) =0B4H DIV BL ; 商( AL) =05H=5D, ;余數(shù)( AH) =7CH=124D 第 3章 80x86的指令系統(tǒng)和尋址方式 例 2: DIV CL 。AX中數(shù)除以 CL中數(shù), 商在 AL中,余數(shù)在 AH中 DIV WORD PTR[DI] 。DX和 AX中的 32位數(shù)除以 DI 和 DI+1所指的兩單元中的 16位數(shù), 商在 AX中,余數(shù)在 DX中 例 3:將 16位二進制數(shù) 4903H除以 86H, 并將商存在CL中。 MOV AX, 4903H MOV BL, 86H DIV BL MOV CL, AL HLT 第 3章 80x86的指令系統(tǒng)和尋址方式 注意 執(zhí)行除法運算時,當除數(shù)為 0, 或者被除數(shù)大于除數(shù),是 256倍(字節(jié)相除), 或者是 65536倍(字相除)以上時, 其商值超出寄存器( AX或 AL) 容量, CPU會產(chǎn)生零號中斷(除法溢出中斷)。 第 3章 80x86的指令系統(tǒng)和尋址方式 ( 2)帶符號數(shù)除法指令 IDIV p44 語句格式: IDIV SRC 功能:字節(jié)除法: (AL)( 商 ) ← ( AX) /( SRC) (AH)( 余數(shù) ) ← ( AX) /( SRC) 字除法: (AX)( 商 ) ← ( DX,AX) /( SRC) (DX)( 余數(shù) ) ← ( DX,AX) /( SRC) 雙字除法: (EAX)( 商 ) ← ( EDX,EAX) /( SRC) (EDX)( 余數(shù) ) ← ( EDX,EAX) /( SRC) 第 3章 80x86的指令系統(tǒng)和尋址方式 帶符號數(shù)除法指令 IDIV應注意的問題 操作數(shù) 、 商和余數(shù)均為帶符號數(shù) , 且余數(shù)的符號和被除數(shù)的符號相同 。 因此 , 如 26被 7除 , 其結(jié)果允許是: (1) 商為 4, 余數(shù)為 +2, 因為 : 26(28)=2。 (2) 或者是商為 3, 余數(shù)為 5, 因為 : 26(21)=5, 按 8086 規(guī)定 , 余數(shù)的符號和被除數(shù) ( 26) 的符號相同 , 結(jié)果應是后者 (2), 。 除法指令 DIV和 IDIV雖然對標志的影響未定義 ,但可產(chǎn)生溢出 , 并進入 0型中斷處理 。 第 3章 80x86的指令系統(tǒng)和尋址方式 【例】寫出實現(xiàn)有符號數(shù) 0400H /0B4H運算的程序段。 MOV AX, 0400H ; ( AX) =0400H MOV BL, 0B4H ; ( BL) =0B4H, 除數(shù)為負 數(shù) IDIV BL ; ( AL) =0F3H=13D, 商為負數(shù) ; ( AH) =24H=36D, 余數(shù)的符號和被除數(shù) ( 0400H) 的符號相同 第 3章 80x86的指令系統(tǒng)和尋址方式 如果被除數(shù)不是雙倍長度,怎么辦? 如前所述,除法運算時,要求被除數(shù)是除數(shù)的雙倍長度,即字節(jié)相除時,除數(shù)是 8位,被除數(shù)是 16位;字相除時,除數(shù)是 16位,被除數(shù)應是 32位。 如果被除數(shù)不是雙倍長度,應對被除數(shù)高位(字節(jié)除法是 AH, 字除法是 DX) 進行擴展,否則運算會得到錯誤結(jié)果。 對無符號數(shù)相除來說, AH和 DX的擴展很簡單,只要將該寄存器清零就行了。 對帶符號數(shù)相除來說, AH和 DX的擴展就是低位字節(jié)或低位字的符號擴展,即把 AL中的最高位擴展到 AH的 8位中,或把 AX中的最高位擴展到 DX的 16位中。 為此, 8086指令系統(tǒng)提供了專用于對帶符號數(shù)進行符號擴展的指令 CBW(Convert Byte to Word )和CWD(Convert Word to Dualword)。 第 3章 80x86的指令系統(tǒng)和尋址方式 ( 3)擴展字節(jié)為字指令 CBW 這條指令用來擴展寄存器 AL中的符號( D7位),把該符號送到 AH各位中。 即若 AL? 80H時,則擴展后 AH?0; 若 AL?80H時,則擴展后 AH?FFH。 第 3章 80x86的指令系統(tǒng)和尋址方式 ( 4)擴展字為雙字指令 CWD 這條指令用來擴展寄存器 AX中的符號( D15位) ,把該符號送到 DX各位中, 即若 AX?8000H, 則擴展后, DX?0; 若 AX?8000H時,則擴展后, DX?FFFFH。 第 3章 80x86的指令系統(tǒng)和尋址方式 【 例】將字節(jié)數(shù)據(jù)擴展成字數(shù)據(jù)。 MOV AL, 0A5H ; ( AL) =0A5H CBW ; ( AX) =0FFA5H ADD AL, 70H ; ( AL) =25H CBW ; ( AX) =0025H 第 3章 80x86的指令系統(tǒng)和尋址方式 ( 2) CWD/CWDE 字轉(zhuǎn)換為雙字 語句格式: CWD 功能: AX的內(nèi)容符號擴展到 DX, 轉(zhuǎn)換為 DX: AX中的雙字 。 如果 ( AX) 的最高有效位為 0, 則 ( DX) =0; 如果 ( AX) 的最高有效位為 1, 則 ( DX) =0FFFFH; 語句格式: CWDE 功能: AX的內(nèi)容符號擴展到 EAX, 轉(zhuǎn)換為 EAX中的雙字 。 ( 3) CDQ( convert double to quad) 雙字轉(zhuǎn)換為 4字 語句格式: CDQ 功能: EAX的內(nèi)容符號擴展到 EDX, 轉(zhuǎn)換為 EDX: EAX中的 4字 。 第 3章 80x86的指令系統(tǒng)和尋址方式 【 例】將字數(shù)據(jù)擴展成雙字數(shù)據(jù)。 MOV DX, 0 ; ( DX) =0 MOV AX, 0FFABH ; ( AX) =0FFABH CWD ; ( DX) =0FFFFH ; (AX) =0FFABH 返回本節(jié)首頁 第 3章 80x86的指令系統(tǒng)和尋址方式 (5)除法的 ASCII調(diào)整指令 AAD (非壓縮十進制數(shù)除法校正指令 ) 語句格式: AAD 功能:除法運算前 , 先調(diào)整被除數(shù) AX內(nèi)容 ,使: ( AL) =( AL) +( AH) *0AH ( AH) =0 即把非壓縮型十進制數(shù)變成二進制數(shù) 。 使除法指令執(zhí)行后 , 獲得的商是一個非壓縮十進制數(shù) 。 返回本節(jié)首頁 第 3章 80x86的指令系統(tǒng)和尋址方式 舉例,編出程序段,將十進制數(shù) 45除以 7,并將商存 1000H單元中。 MOV AX, 0405H 。BCD被除數(shù)存入 AX MOV BL, 07H 。BCD除數(shù)存入 BL AAD 。除法 ASCII校正 DIV BL 。AL商 AH余數(shù) MOV [1000H], AL 。商存 1000H所指單元 HLT 。暫停 (ah)*0ah+(al)=04*0ah+05=45 04 0000 0100 0a 0000 1010 0010 1000 ? 04*0ah即為將 0ah左移 2位 + 05 0000 0101 0010 1101?變?yōu)槎M制數(shù)的 45,便以執(zhí)行指令 DIV BL 見 debug 第 3章 80x86的指令系統(tǒng)和尋址方式 例 算術(shù)運算綜合舉例,計算 ( V( X*Y+Z540)) /X, 其中 X, Y,Z, V均為 16位帶符號數(shù),已分別裝入 X, Y, Z, V單元中,要求上式計算結(jié)果的商存入 AX, 余數(shù)存入 DX寄存器。編制程序如下 : mov ax,x 。multiply x imul y 。 by y and mov cx,ax 。 store product mov bx,dx 。 in BX,CX mov ax,z 。signextended z into cwd 。 double word add cx,ax 。add z to the adc bx,dx 。 product in BX,CX sub cx,540 。substract 540 sbb bx,0 。 from BX,CX mov ax,v 。 signextended v cwd 。 into double word sub ax,cx 。 substract(BX,CX) sbb dx,bx 。 and idiv x 。 divide by x leave 。 quotient in AX and remainder in DX 第 3章 80x86的指令系統(tǒng)和尋址方式 ( 4) BSWAP(byte swap) 字節(jié)交換 語句格式: BSWAP r32 該指令只用于 486以上 。 R32指 32位寄存器 。 功能:指令指定的 32位寄存器的字節(jié)變反 。 為: 4字節(jié) 換 , 3字節(jié) 換 。 例 BSWAP EAX 如指令執(zhí)行 ( EAX) =1122334H, 則指令執(zhí)行后( EAX) =44332211H, 字節(jié)變反 。 本組指令對標志位無影響 。
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1