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

正文內(nèi)容

[工學(xué)]匯編語(yǔ)言與接口技術(shù)第四章-在線瀏覽

2025-01-24 23:42本頁(yè)面
  

【正文】 urce可以是字節(jié)或字,可為寄存器或存儲(chǔ)器操作數(shù),不能為立即數(shù) ?目的操作數(shù)是 AL或 AX,視 source的類型屬性決定是 AL還是 AX ?在乘法指令之前必須將目的操作數(shù)送 AL(字節(jié)乘 )或 AX(字乘 ) 5 乘法指令所執(zhí)行的操作是 AL或 AX乘以 source,乘積放回到 AX或 DX和 AX,如下圖所示 AL sourc8 AX AX sourc16 AX DX ? 可用乘法運(yùn)算將 BCD數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 6 例 將 AX中小于 256大于 0的 3位 BCD數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),存入字節(jié)變量 SB中 思路:用 (百位 ?10+十位) ?10+個(gè)位 的方法將 BCD數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 如將 BCD數(shù) 255H轉(zhuǎn)換為二進(jìn)制數(shù) 11111111B,運(yùn)算的過程為: 7 將 AX中的 3位 BCD數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 存入字節(jié)變量 SB中 M0V CH,10 MOV CL,4 MOV SB,AL ;暫存十位和個(gè)位 MOV AL,AH 。 百位存入 AL中 MUL CH ;百位 10→ AX MOV AH,SB SHR AH,CL ;取十位 ADD AL,AH ;百位 10 + 十位 → AL MUL CH ;( 百位 10 + 十位 ) 10 → AX AND SB,0FH ;取個(gè)位 ADD SB,AL ; ( 百位 10 + 十位 ) 10 +個(gè)位 → SB N2 102+ N1 10+ N0 =( N2 10+ N1) 10+ N0 程序段如下: 8 格式: DIV source IDIV source ;符號(hào)整數(shù)除法 注: ?源操作數(shù) source(除數(shù))可以是字或字節(jié),可為REG或 MEM,不能為立即數(shù)。 將 8位二進(jìn)制數(shù)擴(kuò)展為 16位 DIV BL 。 商 → AL,余數(shù) → AH(十位數(shù)) SHL AH,CL OR BH,AH 。 AH中余數(shù)為 BCD數(shù)百位 MOV AL,BH ; BCD數(shù)十位與個(gè)位送 AL “ 除 10取余 ” 法 11 3. 擴(kuò)展指令 CBW和 CWD 要把一個(gè) 8位二進(jìn)制數(shù)除以一個(gè) 8位二進(jìn)制數(shù),要有一個(gè) 16位被除數(shù)放在 AX中。這種擴(kuò)展對(duì)于 無(wú)符號(hào)數(shù)除法只需將 AH或 DX清 0,而對(duì)符號(hào)整數(shù)除法則要通過擴(kuò)展符號(hào)位來(lái)把被除數(shù)擴(kuò)展。 AL中的最高位擴(kuò)展至 AH CWD 。如: 0000 0011B+0000 1001B= 0000 1100B 0000 1001B+0000 0111B= 0001 0000B 第一個(gè)結(jié)果是非 BCD數(shù);第二個(gè)結(jié)果是不正確的 BCD數(shù)。 ( AL& 0F0H)90H或 CF=1,則 AL加 60H. BCD數(shù)調(diào)整指令 ( 1)壓縮 BCD數(shù)加法調(diào)整 16 注: ? 該指令操作數(shù)隱含為 AL,即只能對(duì) AL中的操作數(shù)據(jù)調(diào)整 ? 對(duì)結(jié)果調(diào)整時(shí)要用到 CF,AF標(biāo)志,所以調(diào)整指令應(yīng)緊跟 BCD數(shù)加法指令 ? DAA指令會(huì)影響標(biāo)志 如 : MOV AX, 3456H ADD AL, AH ; AL= 8AH,AF= 0,CF= 0 DAA ; AL= 90H 0011 0100 + 0101 0110 1000 1010 + 0110 1001 0000 17 格式: AAA 功能:將 AL中的和調(diào)整為正確的非壓縮 BCD數(shù)送 AX 調(diào)整規(guī)則 : (AL& 0FH)9或 AF=1,則 (AL+6)& 0FH→AL ,AH+1→AH ; 否則, AL& 0FH →AL , AH不變 . ( 2)非壓縮 BCD數(shù)加法調(diào)整 18 注: ? 同 DAA, AAA的操作數(shù)也隱含為 AL,且要緊跟加法指令 ? AAA調(diào)整后的存放規(guī)律可理解為調(diào)整后的個(gè)位數(shù)送AL,十位數(shù) (即進(jìn)位 )加到 AH中 .故執(zhí)行該指令前 AH應(yīng)清 0 如:將兩個(gè) BCD數(shù)的 ASCII碼相加,得到和的 ASCII碼: MOV AL, 35H 。 ’9’,AL=6EH MOV AH, 0 AAA ; AX=0104H OR AX,3030H 。 如: 8931+5678=14609 W1 DW 8931H W2 DW 5678H SUM DB 3 DUP(0) MOV AL , BYTE PTR W1 ; AL= 31H ADD AL , BYTE PTR W2 。 AL= E0H, CF=0,AF=1 DAA ; AL= 46H, CF=1 MOV SUM+1, AL ;存百位和千位 MOV SUM+2,0 。 如: 89+67=156 W1 DW 0809H W2 DW 0607H SUM DB 3 DUP(0) MOV AL , BYTE PTR W1 ; AL= 09H ADD AL , BYTE PTR W2 。 AL= 0FH, AF=0 MOV AH , 0 AAA ; AL= 05H, AH= 01H MOV WORD PTR SUM+1, AX ;存十位和百位 21 格式: DAS 功能: 將 AL中的差調(diào)整為正確的壓縮 BCD數(shù) 調(diào)整規(guī)則 : (AL& 0FH)9或 AF=1,則 AL減 6。 分析: 先將 W中的非壓縮 BCD數(shù)取到 AX中,用 AAD指令調(diào)整為二進(jìn)制數(shù),二進(jìn)制的除法之后,再用 AAM指令將結(jié)果調(diào)整為非壓縮 BCD數(shù)。 5=13H?4 →(Q)=0109H,(R)=04H 26 W DW 0909H B DB 05H R DB 0 Q DW 0 MOV AX , W AAD 。 AL=13H,AH=04H MOV R , AH ;存余數(shù) AAM 。 分支程序設(shè)計(jì) 31 通用格式: Jcond short_lable 操作:若滿足條件,則 OFFSET short_lable→IP,實(shí)現(xiàn)轉(zhuǎn)移;否則順序執(zhí)行 . 條件轉(zhuǎn)移指令 ?short_lable → 短標(biāo)號(hào),條件轉(zhuǎn)移是相對(duì)轉(zhuǎn)移指令,即從當(dāng)前地址到目標(biāo)地址的偏移量為 128~ 127(從本指令則為 126~ +129,因?yàn)闂l件轉(zhuǎn)移指令均為雙字節(jié)指令),故只能 實(shí)現(xiàn)段內(nèi)轉(zhuǎn)移 . 32 9個(gè) 標(biāo)志位,其中 6個(gè)狀態(tài)標(biāo)志, 3個(gè)控制標(biāo)志 (status flags) 33 僅判斷一個(gè)標(biāo)志位實(shí)現(xiàn)轉(zhuǎn)移 .參見教材: P100表 3- 1 PF=0 奇轉(zhuǎn)移 JNP/JPO PF=1 偶轉(zhuǎn)移 JP/JPE OF=0 無(wú)溢出轉(zhuǎn)移 JNO OF=1 溢出轉(zhuǎn)移 JO SF=0 為正轉(zhuǎn)移 JNS SF=1 為負(fù)轉(zhuǎn)移 JS CF=0 無(wú)進(jìn) (借 )位轉(zhuǎn)移 JNC CF=1 有進(jìn) (借 )位轉(zhuǎn)移 JC ZF=0 不相等 /不等于 0轉(zhuǎn)移 JNE/JNZ ZF=1 相等 /等于 0轉(zhuǎn)移 JE/JZ 標(biāo)志設(shè)置 功能 指令助記符 34 如: JZ/JE S_LAB→ 為零 /相等轉(zhuǎn)移 操作:測(cè)試前面操作結(jié)果為 0則轉(zhuǎn)移,即判 ZF=1轉(zhuǎn)移 . ? JZ , JE為等價(jià)助記符,任寫一種均可,可根據(jù)程序設(shè)計(jì)意圖選擇 . 如: MOV BX , 0FFFFH INC BX 。 為 0轉(zhuǎn)移到 NEXT ? NEXT: ?? 35 如: MOV BL , 1 。 ZF=0 JE NEXT 。 另一種 是跳轉(zhuǎn)表法 ,直接實(shí)現(xiàn)多分支 . 46 方法一 ︰ 逐一比較法 .簡(jiǎn)單,條理清楚,易于實(shí)現(xiàn),但轉(zhuǎn)移范圍只能是:- 128~+ 127 INPUT DB ’Input( 0 ~ 7): $’ MOV DX , OFFSET INPUT 。設(shè)計(jì)數(shù)初值 MOV SI,0 ;地址指針 AND AX,AX;清 AX AGAIN: MOV AL,BYTE PTR X[SI] ADC AL,BYTE PTR Y[SI] MOV Z[SI],AL INC SI 。處理向 RCL Z[SI],1 萬(wàn)位進(jìn)位 分析:按照由低到高字節(jié)相加 .最后的和可能占 5個(gè)字節(jié) . 用一個(gè)雙字變量所占的字節(jié)數(shù) 4作為循環(huán)體的控制條件 ,為計(jì)數(shù)控制 . 63 例 (教材 P110)編寫將某數(shù)據(jù)區(qū)十六進(jìn)制數(shù)加密的程序 .每個(gè)數(shù)字占一個(gè)字節(jié) 分析: 設(shè)加密數(shù)關(guān)系如下 : 十六數(shù) : 0 1 2 3 4 5 6 7 8 9 A B C D E F 加密數(shù) : A 9 8 E F 1 0 B 2 5 D 3 7 4 6 C 解密數(shù) : 6 5 8 B D 9 E C 2 1 0 7 F A 3 4 若發(fā) 0 ,則實(shí)質(zhì)發(fā) A。 統(tǒng)計(jì)待發(fā)數(shù)個(gè)數(shù) JMB DB 0AH,9,8,0EH,0FH,1,0,0BH,2,5,0DH,3,7,4,6,0CH JMHEX DB NUMBER DUP(0) ; 存加密數(shù) 加密表 MOV CX,NUMBER MOV BH,0 初始化 MOV SI,0 AGAIN: MOV BL,HEXS[SI] ; 取待發(fā)數(shù) MOV AL,JMB[BX] ; [BX+JMB] →AL MOV JMHEX[SI],AL ; 存加密數(shù) INC SI 。計(jì)數(shù)控制 65 同樣 ,可以編寫解密程序如下: JMH DB 0FH , 0EH , 8 , 9 , 0AH 。存解密數(shù) 解密表 初始化 查表解密 MOV CX , N MOV BX , OFFSET KMB MOV SI , 0 NEXT: MOV AL , JMH[SI] XLAT KMB MOV KMH[SI] , AL INC SI LOOP NEXT 66 例 (教材 P111)在顯示器顯示字節(jié)變量 SB中的 8位二進(jìn)數(shù) . 分析: 先將字節(jié)變量中的 1位二進(jìn)制數(shù)移入 AH中,再將移入的二進(jìn)制數(shù)變?yōu)?ASCII碼。 67 SB DB 9AH OBUF DB 9 DUP(0) MOV CX, 8 MOV BX, 0 MOV AL, SB AGAIN: MOV AH, 0 SHL AX, 1
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1