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

正文內(nèi)容

[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]第3章指令系統(tǒng)(完整版)

2025-03-28 13:46上一頁面

下一頁面
  

【正文】 00 1010 0000 1100 0001 0001 0001 0010 0001 0100 BX 1000H+0 AL=5 1000H+5 程序部分編碼: MOV AL,05H MOV BX,1000H XLAT 執(zhí)行程序后: AL=? 地址傳送指令 (1) 取有效地址指令 ( LEA) :將存儲器的有效地址送到一個寄存器 。 (3) 交換指令 交換指令 XCHG可以實(shí)現(xiàn)字節(jié)或字交換 。 (2) 堆棧操作指令 推入堆棧指令 PUSH和彈出堆棧指令 POP。 4. 寄存器間接尋址(變址尋址) MOV AX,[DI] EA= DI =3000H PA=DS右移 4位 +EA =12022H+3000H=15000H 結(jié)果:將數(shù)據(jù)段 15000H和 15001H兩單元的內(nèi)容取出送 AX。 注意:段寄存器的約定規(guī)則,如果將 BP作為基址寄存器,則默認(rèn)段為 SS,在其他情況下,默認(rèn)段為 DS 相對的基址加變址的尋址 用基址加變址來指出存儲單元地址時,也允許帶一個位移量。默認(rèn)段地址寄存器 DS。 最大尋址范圍 0255 IN AL,82H 。 8086的尋址方式 立即數(shù)尋址 寄存器尋址 輸入 /輸出端口 尋址 存儲器尋址 立即數(shù)尋址 操作數(shù)就在指令中提供 , 叫立即數(shù) 尋址方式 。將 AL中內(nèi)容輸出到端口 80H,將 AH中的內(nèi)容輸出到端口 81H。把基址寄存器和變址寄存器組成起來可構(gòu)成一種新的尋址方式。 MOV AX,[0618H] EA=0618H PA=DS右移 4位 +EA =12022H+0618H=12618H 結(jié)果:將數(shù)據(jù)段 12618H和 12619H兩單元的內(nèi)容取出送 AX。 ③ 不能在兩個內(nèi)存單元之間直接傳送數(shù)據(jù) ④ CS和 IP寄存器不能作為目的操作數(shù) ⑤ 用 BX、 SI、 DI來間接尋址時 , 默認(rèn)的段寄存器為 DS, 而用 BP來間接尋址時 , 默認(rèn)的段寄存器為 SS。彈出指令正好相反。 如: IN AL, 50H ; 將 50H端口的字節(jié)讀入 AL IN AX, 70H ; 分別將 70H、 71H端口的 內(nèi)容讀入 AL、 AH OUT 44H, AL ; 將 AL中的內(nèi)容輸出到 44H 端口 OUT 80H, AX ; 將 AL、 AH中的內(nèi)容分別輸出 到 80H、 81H兩端口 間接的輸入輸出指令 ,如: IN AL, DX ; 從 DX所指的端口中讀取 . IN AX, DX ; 從 DX和 DX+1所指出的兩個端口 中讀取 . OUT DX, AL ; 將 AL中的字節(jié)輸出到 DX所指的 端口中 . OUT DX, AX ; 將 AL中的字節(jié)輸出到 DX所指的 端口中 , 同時將 AH中的字節(jié)輸出到 DX+1所指的端口中 . 輸入輸出指令 注意點(diǎn) : ① 只能用累加器作為執(zhí)行輸入輸出的機(jī)構(gòu) ② 尋址范圍: 直接輸入輸出指令為 0~ 255 間接輸入輸出指令為 0~ 65 535。 例: LES DI, 〔 BP+04〕 ; 將堆棧中存放的 字符串首址送到 ES和 DI中 . LES DI, 〔 1000H〕 ; 將 1000H~ 1001H中存偏移量送 DI中 , 將 1002H~ 1003H中的段碼送 ES。 LAHF OR AH,80H SAHF。設(shè)置 D8位, TF=1,而ax其他位不變 push ax 。復(fù)位中斷標(biāo)志,禁止可屏蔽中斷: IF←0 STI 。 規(guī)則 : 當(dāng)無符號數(shù)運(yùn)算產(chǎn)生溢出時 , CF為 1; 當(dāng)有符號數(shù)運(yùn)算產(chǎn)生溢出時 , OF為 1; 如運(yùn)算結(jié)果為 0, 則 ZF=1; 如運(yùn)算結(jié)果為負(fù)數(shù) , 則 SF=1; 如運(yùn)算結(jié)果中有偶數(shù)個 1, 則 PF=1。 [DA_BYTE]=B7=1011 0111 — ) (DL)=A9=1010 1001 ———————————————— 0000 1110 [DA_BYTE] OF SF ZF AF PF CF 0 0 0 1 0 0 減法運(yùn)算 mov al, 0fbh 。 相當(dāng)于用 0減去此操作數(shù) , 所以 NEG也是減法操作 。al100,跳轉(zhuǎn)到 below sub al,100 。bl=11h=17d mul bl 。bl=b4h=180d div bl 。 執(zhí)行時 , 不影響 標(biāo)志位 。 執(zhí)行時 , 不影響標(biāo)志位 。bl=09h,表示非壓縮 BCD碼 9 add al,bl 。實(shí)現(xiàn)壓縮 BCD碼加法: 68+28=96 (2) BCD碼的減法十進(jìn)制調(diào)整指令 AAS對非組合 BCD碼相減結(jié)果進(jìn)行調(diào)整 DAS對組合的 BCD碼相減結(jié)果進(jìn)行調(diào)整 AAS 。實(shí)現(xiàn)非壓縮 BCD碼減法: 689=59 壓縮 BCD碼的減法運(yùn)算 mov al,68h 。bl=09h,表示非壓縮 BCD碼 9 mul bl 。bl=09h,表示非壓縮 BCD碼 9 aad 。ax=0, CF=OF=0、 SF=0、 ZF=PF=1 NOT指令求操作數(shù)的反碼 。 1. MOV AX,00H 2. AND AX,00H 3. XOR AX,AX 例題 2:對某個指定位清零。 程序: PUSHF POP AX XOR AX,800H(100000000000B) PUSH POPF 移位指令 (1) 非循環(huán)移位指令 4條移位指令: 算術(shù)左移指令 SAL 邏輯左移指令 SHL 算術(shù)右移指令 SAR 邏輯右移指令 SHR 移位指令 (a)SAL (b)SHL (c)SAR (d)SHR 非循環(huán)移位指令 ? 四條(實(shí)際為三條)移位指令的目的操作數(shù)可以是寄存器或存儲單元。al=70h, CF=0, SF=0、 ZF=0、PF=0、 OF=1 sar al,1 。 用移位指令實(shí)現(xiàn) SAL AL,1 。 (2) 循環(huán)移位指令 4條循環(huán)移位指令 循環(huán)左移指令 ROL 循環(huán)右移指令 ROR 帶進(jìn)位位的循環(huán)左移指令 RCL 帶進(jìn)位位的循環(huán)右移指令 RCR 循環(huán)移位指令 (a)ROL (b)ROR (c)RCL (d)RCR ? 例:將 32位數(shù)值左移一位 ? shl ax,1 ? rcl dx,1 ? 例:把 AL最低位送 BL最低位,但保持 AL不變 ror bl,1 ? ror al,1 ? rcl bl,1 ? rol al,1 ? 利用移位或循環(huán)移位指令可以方便地實(shí)現(xiàn) BCD碼轉(zhuǎn)換。 1 MOVSW 。 若 DF為 1, 則用MOVSB時 , 每傳送一次 , SI和 DI自動減 1。判斷傳送次數(shù) cx是否為 0。 2, DI←DI 177。字符串相等,設(shè)置 00h標(biāo)記 ? jmp outpt 。(DF)=0, 地址按增量方向修改 REPE CMPSB 。(AL) ← 不相等單元的內(nèi)容 STOP HLT 。字節(jié)串掃描: AL- ES:[DI], DI←DI 177。不是空格 ? jnz again 。 LODS指令不影響標(biāo)志 。存放正數(shù)的起始地址為 dplus,存放負(fù)數(shù)的起始地址為 dminus。程序轉(zhuǎn)移到 again處繼續(xù)執(zhí)行 ? minus: xchg bx,di ? stosb 。 JMP r16/m16 。如果轉(zhuǎn)移范圍可以用一個字節(jié)( 128 ~ +127)表達(dá),則可以形成所謂的 “ 短轉(zhuǎn)移 short jump”;如果地址位移用一個 16位數(shù)表達(dá),則形成 “ 近轉(zhuǎn)移 near jump”,它是在 177。條件轉(zhuǎn)移指令只能用段內(nèi)直接尋址方式。如比下一個數(shù)大或相等,則轉(zhuǎn) P2 MOV AL,[BX] 。最高位為 1,順序執(zhí)行 ? jmp done 。 ? 答:一般用傳送指令 MOV修改寄存器的值,如 MOV AX,0011H。 若僅是修改 IP的內(nèi)容,可采用指令如:JMP 某一合法寄存器的格式。等。測試最高位 jz next1 。 計(jì)數(shù)減 1,如不為 0,則轉(zhuǎn) P1 JNZ P1。 GETMAX:MOV BX,2022H 。通常,匯編程序能夠根據(jù)位移量大小自動形成短轉(zhuǎn)移或近轉(zhuǎn)移指令。 JMP far ptr label 。字節(jié)數(shù)減 1 ? jnz go_on 。所有數(shù)據(jù)都在一個段中,所以設(shè)置es=ds ? mov cx,count 。清除方向標(biāo)志 LEA DI,[0404H] 。不含空格,則繼續(xù)執(zhí)行 ? found: ... 例:用重復(fù)前綴實(shí)現(xiàn)字符串查找 ? mov di,offset string ? mov al,20h ? mov cx,count ? cld ? repnz scasb 。字串掃描: AX- ES:[DI], DI←DI 177。重復(fù)比較,直到比較完或出現(xiàn)不等字符 ? jnz unmat 。 AND CX,0FFH。輸出結(jié)果標(biāo)記 例題:比較兩個字符串是否相同,并找出其中第一個不相等字符的地址,將該地址送 BX,不相等字符送 AL,兩個字符串的長度均為 200個字節(jié), 。假設(shè)兩個字符串長度一樣,為 count個字節(jié)。 ③ CMPSB/CMPSW指令 功能:兩個字符串中找到第一個 ( 不 ) 相同元素 。 例 :將數(shù)據(jù)段 source指示的 100個字節(jié)數(shù)傳送到附加段 destination指示的主存區(qū) mov si,offset source 。 2, DI←DI 177。也可以用 shl ah,cl ? add al,ah 。 ( 2T) SAL AL,1 。al=03h, CF=1, SF=0、 ZF=0、PF=1 利用移位指令計(jì)算 DX← 3 AX+7 BX,假設(shè)為無符號數(shù)運(yùn)算,無進(jìn)位 ? mov si,ax ? shl si,1 。 ? 移位指令按照移入的位設(shè)置進(jìn)位標(biāo)志 CF,根據(jù)移位后的結(jié)果影響 SF、 ZF、 PF,對 AF沒有定義。如判斷AL中數(shù)據(jù)是否為 3CH. XOR AL ,3CH; 結(jié)果:判斷 ZF=1,則 AL =3CH;否則 ZF=0,則AL ≠ 3CH。al=0bah,標(biāo)志不變 OR AX, 00F0H ; AX和 00F0H相或,結(jié)果在 AX XOR AX, AX ; AX內(nèi)容本身進(jìn)行異或,結(jié) 果 AX清零 TEST和 AND執(zhí)行同樣操作,但 TEST指令 不送回操作結(jié)果 ,而僅僅影響標(biāo)志位。除法運(yùn)算:商 al=07h,余數(shù) ah=05h 。十進(jìn)制調(diào)整: ax=0702h 。bl=28h,表示壓縮 BCD碼 28 sub al,bl 。AH←AH -調(diào)整產(chǎn)生的借位 DAS 。十進(jìn)制調(diào)整: ax=0707h 。 BX cwd idiv bx BCD碼運(yùn)算指令 (1) BCD碼的加法十進(jìn)制調(diào)整指令 AAA對非組合 BCD碼相加結(jié)果調(diào)整, DAA對組合的 BCD碼相加結(jié)果進(jìn)行調(diào)整。 AL不變 。 ② 商范圍如下,超出了范圍則產(chǎn)生 0號中斷: 雙字除以字為 32 768~ +32 767 字除以字節(jié) 128~ +127 ③ 有符號數(shù)除法規(guī)定 余數(shù)的符號和被除數(shù)的符號相同 。 有符號數(shù) 0B4H與 11H相乘 mov al,0b4h 。ah← ah+1 below: ... 怎么根據(jù)這些標(biāo)志來判斷比較結(jié)果 =1,判斷兩個數(shù)相等。ax=ff9ch, OF=0、 SF=ZF=0、 PF= CF=1 sub al,9dh 。al=0f4h, CF=0 mov word ptr [200h],4652h
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1