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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第3章80x86的指令系統(tǒng)-資料下載頁(yè)

2024-12-08 02:29本頁(yè)面
  

【正文】 0 D7 D0 CF OPR 0 D7 D0 CF OPR D7 D0 移位指令常常用來(lái)作乘以 2(左移一位 )和除以 2(右移一位 ) 的操作 ,其中算術(shù)移位適用于帶符號(hào)數(shù)的運(yùn)算 ,邏輯移位適用于無(wú)符號(hào)數(shù)的運(yùn)算 2022/1/4 第 63頁(yè) 例 1:MOV CL,5 MOV BL,64H SAR BL,CL 執(zhí)行前 : (BL)=01100100b 100d 執(zhí)行后 : (BL)=00000011b 3d 100d/25 =100d/32d = 3d 例 2:MOV CL,2 SHL SI,CL 執(zhí)行前 : (SI)=0001010001010000b 5200d 執(zhí)行后 : (SI)=0101000101000000b 20800d 5200d*22=20800d 2022/1/4 第 64頁(yè) (1)循環(huán)左移 格式 :ROL OPR,CNT 。 CF OPR D7 D0 CF OPR D7 D0 CF OPR D7 D0 CF OPR D7 D0 (2)循環(huán)右移 格式 :ROR OPR,CNT 。 (3)帶進(jìn)位循環(huán)左移 格式 :RCL OPR,CNT 。 (4)帶進(jìn)位循環(huán)右移 格式 :RCR OPR,CNT 。 循環(huán)移位指令可以改變操作數(shù)中所有位的位置 ,在程序中很有實(shí)際應(yīng)用 2022/1/4 第 65頁(yè) 例 3:如 (AL)=39H,(BL)=37H為‘ 9’和‘ 7’的 ASCII碼 ,將他們拼裝成 BCD碼 97. AND AL,0FH 00111001 00001001 00110111 10010111 MOV CL,4 ROL AL,CL AND BL,0FH OR AL,BL 00001001 。 (AL) 10010000 。 (AL) 00000111 。 (BL) 。 (AL) 思考 :ROL 指令能否用其它指令替換 ? OR指令呢 ? 2022/1/4 第 66頁(yè) 串處理指令 MOVS(move string) 串傳送 CMPS(pare string) 串比較 SCAS(scan string) 串掃描 LODS(load from string) 從串取 STOS(store in to string) 存入串 INS(input from port to string) 串輸入 OUTS(output string to port) 串輸出 與上述基本指令配合使用的前綴有 : REP(repeat) 重復(fù) REPE (repeat while equal) 相等則重復(fù) REPZ (repeat while zero) 為零則重復(fù) REPNE (repeat while not equal) 不相等則重復(fù) REPNZ (repeat while not zero) 不為零則重復(fù) 串處理指令處理存放在存儲(chǔ)器里的數(shù)據(jù)串 ,所有串都可以處理字節(jié)或者字 2022/1/4 第 67頁(yè) REP相配合工作的指令 (1)REP重復(fù)串操作直到計(jì)數(shù) 寄存器 CX的內(nèi)容為零為止 . 格式 :REP string primitive 其中 string primitive可為 movs, STOS,LODS,INS,OUTS 執(zhí)行的操作 : 1)判斷 (CX)是否為零 ,為零則 退出 REP,否則往下執(zhí)行 . 2)(CX) (CX)1. 3)執(zhí)行 REP后的串指令 4)重復(fù) 1),2),3) (2)MOVS串傳送指令 格式 : MOVS DST,SRC MOVSB (字節(jié) ) MOVSW(字 ) 第一種格式 : mov es:byte ptr[di],ds:[si] 1)操作 :((DI)) ((SI)) 2)字節(jié)操作 : (SI) (SI) 177。 1 (DI) (DI) 177。 1 2)字操作 : (SI) (SI) 177。 2 (DI) (DI) 177。 2 方向標(biāo)志 DF=0(up)時(shí)用 +, DF=1(dn)時(shí)用 2022/1/4 第 68頁(yè) MOVS指令中 ,源串 必須在 數(shù)據(jù)段 中 ,偏移地址在SI中 。目的串 必須在 附加段 中 ,偏移地址在 DI中 .在與 REP聯(lián)用時(shí) ,還必須把數(shù)據(jù)串長(zhǎng)度值送 CX中 . 執(zhí)行指令前 ,先做好準(zhǔn)備 : 1)把存放在 數(shù)據(jù)段 中 源串基地址 放入 源變址寄存器 SI中 . 2)把將要存放數(shù)據(jù)串的 附加段 的 目的串基地址 放入 目的變址寄存器 DI中 . 3)把數(shù)據(jù)串的長(zhǎng)度放入 CX中 . 4)建立方向標(biāo)志 DF. 建立方向標(biāo)志的指令為 : 1)CLD(clear direction flag) 該指令使 DF=0,在執(zhí)行串處理指令時(shí)可使地址自動(dòng)增量 (UP). 2)STD(set direction flag) 該指令使 DF=1,在執(zhí)行串處理指令時(shí)可使地址自動(dòng)減量 (DN). 2022/1/4 第 69頁(yè) 舉例 : datarea segment mess1 db ‘puter $’ datarea ends extra segment mess2 db 17 dup(?) extra ends code segment assume cs:code,ds:datarea,es:extra main proc far start: push ds xor ax,ax push ax mov ax,datarea mov ds,ax mov ax,extra mov es,ax lea si,mess1 lea di,mess2 mov cx,17 cld rep movsb ret main endp code ends end start (DS)=129FH,(SI)=0000H (ES)=12A1H,(DI)=0000H (CX)=10 2022/1/4 第 70頁(yè) (DS)=129F 129F0 (SI)=0001 ‘c’ ‘o’ ‘m’ ‘p’ ‘u’ ‘t’ ‘e’ ‘r’ 24 (ES)=12A1 (DI)=0001 12A10 . . . . . . . . . (CX)=8 ‘c’ 12A10 (DS)=129F 129F0 (SI)=0009 ‘c’ ‘o’ ‘m’ ‘p’ ‘u’ ‘t’ ‘e’ ‘r’ 24 (ES)=12A1 (DI)=0009 (CX)=0 ‘c’ ‘o’ ‘p’ ‘u’ ‘t’ ‘e’ ‘r’ 24 ‘m’ (DS)=129F 129F0 (SI)=0000 ‘c’ ‘o’ ‘m’ ‘p’ ‘u’ ‘t’ ‘e’ ‘r’ 24 (ES)=12A1 (DI)=0000 12A10 . . . . . . . . . . (CX)=9 129F1 129F2 129F3 129F4 129F5 129F6 129F7 129F8 12A11 12A12 12A13 12A14 12A15 12A16 12A17 12A18 2022/1/4 第 71頁(yè) (3)STOS存入串指令 格式 : STOS DST STOSB (字節(jié) ) STOSW(字 ) 字節(jié)操作 : ((DI)) (AL) (DI) (DI) 177。 1 字操作 : ((DI)) (AX) (DI) (DI) 177。 2 該指令把 AL(AX)的內(nèi)容存入由DI指向的 附加段 的某單元中 ,并根據(jù) DF的值及數(shù)據(jù)類(lèi)型修改 DI的值 . 當(dāng)與 REP聯(lián)用時(shí) ,可把 AL (AX)的內(nèi)容存入一個(gè)長(zhǎng)度為 (CX)的緩沖區(qū) . 例 :把附加段中緩沖區(qū) buffer 5個(gè)字節(jié)單元置為 20H, mov al,20h mov cx,5 lea di,buffer cld rep STOSB (ES)=1000 (DI)=0500 10500 . . . . . . (CX)=5 10501 10502 10503 10504 10505 buffer 10000 (AL)=20 DF=0 (DI)=0505 020 20 20 20 20 2022/1/4 第 72頁(yè) (4)LODS從串中取指令 格式 : LODS SRC LODSB (字節(jié) ) LODSW(字 ) 字節(jié)操作 : (AL) ((SI)) (SI) (SI) 177。 1 字操作 : (AX) ((SI)) (SI) (SI) 177。 2 該指令把 SI指向的 數(shù)據(jù)段 中某單元的內(nèi)容送到 AL(AX)中 ,并根據(jù) DF的值及數(shù)據(jù)類(lèi)型修改 SI的值 . (DS)=1000 (SI)=0100 10100 08 11 10101 10102 10000 (AX)=? DF=0 (DS)=1000 (SI)=0102 10100 08 11 10101 10102 10000 (AX)=1108 DF=0 LODSW指令執(zhí)行前 LODSW指令執(zhí)行后 2022/1/4 第 73頁(yè) (5)INS串輸入指令 格式 : INS DST,DX INSB (字節(jié) ) INSW(字 ) 字節(jié)操作 : ((DI)) ((DX)) 字節(jié) (DI) (DI) 177。 1 字操作 : ((DI)) ((DX))字 (DI) (DI) 177。 2 該指令把 端口號(hào) 在 DX中的 I/O空間 的字節(jié)或字傳送到 附加段 中由DI指向的存儲(chǔ)單元中 ,并根據(jù) DF的值及數(shù)據(jù)類(lèi)型修改 DI的內(nèi)容 ,它與 REP聯(lián)用時(shí) ,成組字節(jié)或字的長(zhǎng)度先送到 CX中 (6)OUTS串輸出指令 格式 : OUTS DX,SRC OUTSB (字節(jié) ) OUTSW(字 ) 字節(jié)操作 : ((DX)) ((SI)) 字節(jié) (SI) (SI) 177。 1 字操作 : ((DX)) ((SI))字 (SI) (SI) 177。 2 該指令把 SI指向的存儲(chǔ)區(qū)中的字節(jié)或字傳送到 端口號(hào) 在 DX中的I/O端口 中去 ,并根據(jù) DF的值及數(shù)據(jù)類(lèi)型修改 SI的內(nèi)容 .與 REP聯(lián)用時(shí)可把存儲(chǔ)區(qū)中長(zhǎng)度為 (CX)的字節(jié)或字成組地傳送到 I/O空間 2022/1/4 第 74頁(yè) REPE/Z和 REPNE/NZ相 配合工作的 CMPS,SCAS指令 (1)REPE/REPZ相等 /為零時(shí)重復(fù)串
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1