版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、8088的指令系統(tǒng)(位運算或邏輯運 算) 邏輯運算指令 移位與循環(huán)指令 8088的指令系統(tǒng)(位運算或邏輯運 算) 類型類型指令指令指令功能指令功能 表三位運算指令列表表三位運算指令列表 邏輯 運算 AND d, s OR d, s XOR d, s NOT d TEST d, s 算術(shù)左移 CF 0 算術(shù)右移 CF 邏輯左移 CF 0 邏輯右移 CF0 SAL d, count SAR d, count SHL d, count SHR d, count 移位 d d s d d s d d s d d d s,不送結(jié)果 8088的指令系統(tǒng)(位運算或邏輯運 算) 指令指令 類型類型 指令指令指
2、令功能指令功能 表三位運算指令列表表三位運算指令列表 ( 續(xù)續(xù) ) ROL d, count ROR d, count RCR d, count RCL d, count 循環(huán)左移 CF 循環(huán)右移 CF 帶進位循環(huán)左移 CF CF 循環(huán) 帶進位循環(huán)右移 8088的指令系統(tǒng)(位運算或邏輯運 算) 共有共有5條條: AND 按位邏輯與與 OR 按位邏輯或或 XOR 按位邏輯異或異或 TEST 按位邏輯與與, 但不保存結(jié)果不保存結(jié)果 NOT 按位取反取反 8088的指令系統(tǒng)(位運算或邏輯運 算) AND, OR和和 XOR指令指令 基本格式和功能 指令格式: AND (OR / XOR / TEST
3、) d, s 執(zhí)行的操作: AND (d) (d) OR (s) XOR 8088的指令系統(tǒng)(位運算或邏輯運 算) AND, OR和和 XOR指令指令 基本格式和功能 常見邏輯運算的規(guī)則如下列表格所示: 與(AND): 全全 1 才才 1,有,有 0 就就 0 或(OR): 有有 1 就就 1,全,全 0 才才 0 異或(XOR):相同為相同為 0,相異為,相異為 1 1 0 1 0 0 0 1 0 AND 1 1 1 1 0 0 1 0 OR 0 1 1 1 0 0 1 0 XOR 8088的指令系統(tǒng)(位運算或邏輯運 算) AND, OR和和 XOR指令指令 說明 尋址方式尋址方式: AND
4、 (OR, XOR, TEST ) reg/mem, reg/mem AND (OR, XOR, TEST ) reg/mem, data 說明:說明: 源S可以是通用寄存器、存儲器或立即數(shù); 但d只能是通用寄存器或存儲器,不能為立即 數(shù); 而且d和s不能同時為存儲器操作數(shù)。 8088的指令系統(tǒng)(位運算或邏輯運 算) AND, OR和和 XOR指令指令 說明 測試指令測試指令TEST不將結(jié)果送回d,它只影 響F寄存器; 這4條指令均影響標志位影響標志位: SF、ZF、PF根據(jù)運算結(jié)果設(shè)置相應(yīng)位; CF、OF總是置零; AF不確定。 8088的指令系統(tǒng)(位運算或邏輯運 算) NOT指令指令 基本
5、格式和功能 指令格式:指令格式: NOT d 尋址方式尋址方式: NOT reg/mem 8088的指令系統(tǒng)(位運算或邏輯運 算) NOT指令指令 功能&說明 功能功能&說明:說明: 單操作數(shù)指令,對d進行按位取反(0變1,1 變0)操作; d可以是通用寄存器或存儲器操作數(shù); NOT指令對標志寄存器各位均無影響無影響; 8088的指令系統(tǒng)(位運算或邏輯運 算) 小結(jié):小結(jié): 邏輯運算指令都是按位進行按位進行邏輯運算的,可 以對字節(jié)字節(jié)或字字進行邏輯運算; 邏輯運算指令可用于組合組合、分離分離、屏蔽屏蔽或設(shè)設(shè) 置置某些位。 8088的指令系統(tǒng)(位運算或邏輯運 算) 例例1:請分別寫出實現(xiàn)下列要求
6、的指令:請分別寫出實現(xiàn)下列要求的指令: 使AL中高4位清零,低4位不變; 使AL中低4位清零,高4位不變; 使AL中最高位置1,其他位不變; AL中低4位求反,其余各位不變。 解:解: AND AL,0FH AND AL,0F0H OR AL,80H XOR AL,0FH 8088的指令系統(tǒng)(位運算或邏輯運 算) 例例2:請編制一程序段,將F寄存器中溢出 位OF變反。 解:程序如下:解:程序如下: PUSHF POP AX XOR AX,0800H PUSH AX POPF 8088的指令系統(tǒng)(位運算或邏輯運 算) 例例3:將AL清零,至少有以下幾種方法, 它們有何不同? MOV AL,00H
7、 AND AL,00H XOR AL,AL 8088的指令系統(tǒng)(位運算或邏輯運 算) 共有以下共有以下8條條: SAL (shift arithmetic left) 算術(shù)左移算術(shù)左移 SAR (shift arithmetic right) 算術(shù)右移算術(shù)右移 SHL (shift logical left) 邏輯左移邏輯左移 SHR (shift logical right) 邏輯右移邏輯右移 ROL (Rotate left) 循環(huán)左移循環(huán)左移 ROR (Rotate right) 循環(huán)右移循環(huán)右移 RCL (Rotate left through carry) 帶進位循環(huán)左移帶進位循環(huán)左
8、移 RCR (Rotate right through carry)帶進位循環(huán)右移帶進位循環(huán)右移 8088的指令系統(tǒng)(位運算或邏輯運 算) 移位類指令的格式格式(詳見表三) 移位指令移位指令 d, Count 移位類指令的尋址方式尋址方式 移位指令移位指令 reg/mem, 1/CL 8088的指令系統(tǒng)(位運算或邏輯運 算) 移位指令執(zhí)行的操作執(zhí)行的操作 (參見表三) SHL , SAL和和 SHR (d)左(右)移Count位,移出的位進入CF, 移位造成的空位補 SAR (d) 最高位不變,(d)右移Count位,移出的 位進入CF, 移位造成的空位用最高位值填補。 左右移位使乘,除乘,除
9、2運算運算變得簡單,算術(shù)右移 可用于有符號數(shù)的除2運算。 8088的指令系統(tǒng)(位運算或邏輯運 算) 循環(huán)循環(huán)指令執(zhí)行的操作執(zhí)行的操作(詳見表三) ROL 和和 ROR (小循環(huán))(小循環(huán)) (d) 循環(huán)左(右)移Count位,每移1位,移出的位 從另一端進入,同時進入CF。 RCL 和和 RCR (大循環(huán))(大循環(huán)) (d) 循環(huán)左(右)移Count位,每移1位, CF從另 一端進入, 移出的位進入CF。 8088的指令系統(tǒng)(位運算或邏輯運 算) 說明:說明: 各移位指令中的d可以是字或字節(jié),可以是 寄存器或存儲器單元,但不能是立即數(shù)。 指令中的Count指明移位的位數(shù),只能用兩只能用兩 種形
10、式之一:種形式之一:1 或或 CL 帶進位循環(huán)移位指令常用于多字節(jié)或多字的 數(shù)據(jù)移位。 8088的指令系統(tǒng)(位運算或邏輯運 算) 影響標志位情況:影響標志位情況: 移位指令根據(jù)移位結(jié)束后的結(jié)果修改CF、PF、 ZF、SF和OF,而AF不確定; 循環(huán)移位指令根據(jù)移位結(jié)束后結(jié)果僅修改CF 和OF; 如果移位/循環(huán)移位僅移一位,且移位前后操 作數(shù)的最高位發(fā)生變化,那么OF置1,否則 置0; 如果移位/循環(huán)移位的位數(shù)大于1,則OF不確 定。 8088的指令系統(tǒng)(位運算或邏輯運 算) 例題例題 例例1:在AX中有符號數(shù)不大的情況下,利用算術(shù)移 指令進行簡單的(AX) 5 / 2 運算,可以用下 述程序段
11、: MOV DX,AX SAL AX,1 ;(AX)*2 SAL AX,1 ;(AX)*4 ADD AX,DX ;(AX)*5 SAR AX,1 ;(AX)*5/2 8088的指令系統(tǒng)(位運算或邏輯運 算) 例題例題 例例2:由(DX):(AX)構(gòu)成的2個字數(shù)據(jù)要 左移 2 位,寫出實現(xiàn)此要求的指令序列。 解:指令序列如下: SAL AX,1 RCL DX,1 SAL AX,1 RCL DX,1 思考思考:用下列方法如 何? MOV CL,2 SAL AX,CL RCL DX,CL 8088的指令系統(tǒng)(位運算或邏輯運 算) 例題例題 例例3:將AX的高低8位換位,寫出指令序列。 解:方法之一如
12、下: MOV CL,08H ROL AX,CL 方法二如下: MOV CL,AH MOV AH,AL MOV AL,CL 8088的指令系統(tǒng)(位運算或邏輯運 算) 例題例題 例例4:將BL的低4位與AL的低4位組成一個新的 數(shù)據(jù)(BL低4位為新數(shù)據(jù)的高4位),放回AL 中。 解:方法之一如下: MOV CL,04H SAL BL,CL AND AL,0FH OR AL,BL 8088的指令系統(tǒng)(位運算或邏輯運 算) 表五串操作指令表五串操作指令 類別類別指令格式指令格式指令功能指令功能 MOVS d, s MOVSB/MOVSW 字節(jié)串/字串傳送 CMPS d, s CMPSB/CMPSW 字
13、節(jié)串/字串比較 SCAS d SCASB/SCASW 字節(jié)串/字串搜索(掃描) LODS s LODSB/LODSW STOS d STOSB/STOSW 讀(載入)字節(jié)串/字串 寫(存儲)字節(jié)串/字串 基 本 串 操 作 指 令 8088的指令系統(tǒng)(位運算或邏輯運 算) 表五串操作指令(續(xù))表五串操作指令(續(xù)) 類別類別指令格式指令格式指令功能指令功能 REP 無條件重復(fù) 當相等/為零時重復(fù) 當不等/不為零時重復(fù) 重 復(fù) 前 綴 REPE / REPZ REPNE /REPNZ 8088的指令系統(tǒng)(位運算或邏輯運 算) 串操作指令用于存儲單元的成批數(shù)據(jù)處 理,包括串傳送、串加載、串存儲、串
14、比較、串掃描等指令。 每一個串操作指令還會涉及以下問題: 重復(fù)前綴 類型后綴 串處理方向 段超越問題 8088的指令系統(tǒng)(位運算或邏輯運 算) 重復(fù)前綴專用于串操作,使用時加在串操 作指令前面,能使串操作連續(xù)進行。 分兩種: 無條件重復(fù) REP 有條件重復(fù) REPZ /REPE, REPNZ/REPNE 8088的指令系統(tǒng)(位運算或邏輯運 算) REP 格式如下: REP 串操作指令串操作指令 說明: 無條件重復(fù)前綴,可用于任何串操作指令 例如:REP MOVSB REP SCASW 等 執(zhí)行重復(fù)串操作時,每重復(fù)一次,(CX)自動減, 一旦歸零,則停止重復(fù)歸零,則停止重復(fù)。注意,執(zhí)行重復(fù)串操作
15、之 前應(yīng)該為應(yīng)該為 CX 賦初值賦初值。 8088的指令系統(tǒng)(位運算或邏輯運 算) REPZ, REPNZ 說明: 與REP一樣專用于串操作,格式相同 但有附加條件,條件滿足且(CX)不為零才重 復(fù)。 REPZ 的條件是:ZF=0 REPNZ 的條件是:ZF0 有條件重復(fù)前綴一般用于有比較含義的串操 作,即CMPS 和 SCAS 8088的指令系統(tǒng)(位運算或邏輯運 算) 串操作指令一般會帶有類型后綴,有兩 種: 后綴 B 表示字節(jié)串 后綴 W 表示字串 字節(jié)串操作:相關(guān)的變址寄存器改變量 為,如果涉及累加器,則為AL。 字串操作:相關(guān)的變址寄存器改變量為 ,如果涉及累加器,則為AX。 8088
16、的指令系統(tǒng)(位運算或邏輯運 算) 串處理過程中,地址變化的方向取決于 標志 DF 的設(shè)置 DF =0時為地址增加方向,每執(zhí)行一條串操 作指令,相關(guān)變址寄存器的內(nèi)容增加。 DF =1時為地址減少加方向,每執(zhí)行一條串 操作指令,相關(guān)變址寄存器的內(nèi)容減少。 DF的缺省值為0。 8088的指令系統(tǒng)(位運算或邏輯運 算) 串操作指令的操作數(shù)一般可以缺省,缺 省情形以 DS:SI 指向源串,以 ES:DI指 向目的串。 目的串的段址必須為ES,源串允許段超 越。采用段超越時,操作數(shù)必須顯式寫 明(格式1)。 8088的指令系統(tǒng)(位運算或邏輯運 算) 共有5條 MOVS 串傳送指令 STOS 串存儲指令 L
17、ODS 串加載指令 CMPS 串比較指令 SCAS 串掃描指令 8088的指令系統(tǒng)(位運算或邏輯運 算) MOVS指令指令 格式&格式說明 格式格式1: MOVS dest, src 格式格式2: MOVSB 或或 MOVSW 說明:說明: 格式1用于需要段超越的時候,格式2是常用格式 格式2中MOVSB一次傳送一字節(jié),MOVSW一次傳 送一個字。B和W稱為類型后綴。 8088的指令系統(tǒng)(位運算或邏輯運 算) MOVS指令指令 功能說明 指令說明: 指令執(zhí)行前須讓ES:DI 指向目的串,DS:SI指 向源串。 本指令將源串中的內(nèi)容傳送到目的串中。具體 操作操作如下: 第一步第一步:將源串中當前
18、單元(字或字節(jié)字或字節(jié))的內(nèi) 容傳送到目的串當前單元(字或字節(jié)字或字節(jié)) ,即 (DI) (SI) 8088的指令系統(tǒng)(位運算或邏輯運 算) MOVS指令指令 功能說明 指令說明: 執(zhí)行的操作:執(zhí)行的操作: 第二步第二步:修改串指針 (SI) (SI) 1 / 2 , (DI) (DI) 1 / 2 加或減取決于串處理方向串處理方向,由標志DF決定 1或2取決于串的類型類型,是字串還是字節(jié)串,由指 令后綴W / B 決定 8088的指令系統(tǒng)(位運算或邏輯運 算) MOVS指令指令 功能說明 執(zhí)行的操作:執(zhí)行的操作: 第三步第三步:如果指令使用了重復(fù)前綴,則計 數(shù)器CX減1 (CX) (CX)-
19、1 第四步第四步:如有重復(fù)前綴,重復(fù)前三步,直 至CX為0。 MOVS指令不影響標志位 ,但受DF影響 8088的指令系統(tǒng)(位運算或邏輯運 算) MOVS指令指令 例子 例: MOVSB MOVSW REP MOVSB 8088的指令系統(tǒng)(位運算或邏輯運 算) 例子: 將數(shù)據(jù)段中以SRC_MESS 為偏移地址的一串字符 “HELLO!”,傳送到附件段中以NEW_LOC開始的單元中。 DATA SEGMENT SRC_MESS DB HELLO! DATA ENDS EXTRA SEGMENT NEW_LOC DB 6 DUP(?) EXTRA ENDS 8088的指令系統(tǒng)(位運算或邏輯運 算)
20、 CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:EXTRA START: MOV AX,DATA MOV DS,AX MOV AX,EXTRA MOV ES,AX, LEA SI,SRC_MESS LEA DI,NEW_LOC MOV CX ,6 CLD REP MOVSB MOV AH,4CH INT 21H CODE ENDS END START AGAIN: MOVS NEW_LOC,SRC_MES DEC CX JNZ AGAIN 8088的指令系統(tǒng)(位運算或邏輯運 算) CMPS指令指令 格式 格式格式1: CMPSdest,src 格式格式2: CM
21、PSB 或或CMPSW 說明:說明: 串比較指令,一般用于比較兩個字符串是否相等。 格式2是常用格式。 8088的指令系統(tǒng)(位運算或邏輯運 算) CMPS指令指令 說明 說明: 執(zhí)行的操作:操作: 第一步:第一步:源串當前單元的內(nèi)容與目的串當 前單元內(nèi)容比較(相減相減),即 (DI) -(SI), 但不保存結(jié)果,結(jié)果反映在標志ZF 第二步:第二步:修改串指針 第三步:第三步:計數(shù)器減1 ,若不為0,回到第 一步 8088的指令系統(tǒng)(位運算或邏輯運 算) CMPS指令指令 說明 說明: 執(zhí)行前受DF影響,執(zhí)行后影響所有6個狀態(tài) 標志位(與減法指令相同) , 此指令一般要與REPZ或REPNZ相配
22、合使用。 8088的指令系統(tǒng)(位運算或邏輯運 算) CMPS指令指令 例子 例例1:指令 REPZCMPS 若相等則重復(fù)比較,不等時停止。用于找出不 相等的數(shù)。 例例2:指令 REPNZCMPS 不相等則重復(fù)比較,用于找出相等的數(shù)。 8088的指令系統(tǒng)(位運算或邏輯運 算) STOS指令指令 格式 格式格式1: STOS dest 格式格式2: STOSB 或或 STOSW 說明:說明: 串存儲指令,累加器內(nèi)容存入目的串, ES:DI指向目的串。 8088的指令系統(tǒng)(位運算或邏輯運 算) STOS指令指令 說明 說明:說明: 本指令不影響標志位,但受DF影響 指令將AX或AL寄存器中內(nèi)容存入目
23、標串中。 執(zhí)行的操作: 第一步:累加器內(nèi)容存入目的串當前單元 第二步:修改串指針 第三步:如有重復(fù)前綴,計數(shù)器減1,不 為0時回到第一步 8088的指令系統(tǒng)(位運算或邏輯運 算) LODS指令指令 格式 格式格式1: LODS src 格式格式2: LODSB 或或 LODSW 說明:說明: 串加載指令,源串內(nèi)容存入累加器,指令功 能與STOS指令相反,DS:SI指向源串。 8088的指令系統(tǒng)(位運算或邏輯運 算) LODS指令指令 格式 說明:說明: 本指令不影響標志位,但受DF影響 執(zhí)行的操作: 第一步:源串內(nèi)容存入累加器第一單元 第二步:修改串指針 本指令一般不帶重復(fù)前綴 8088的指令
24、系統(tǒng)(位運算或邏輯運 算) SCAS 指令指令 格式 格式格式1: SCAS dest 格式格式2: SCASB 或或 SCASW 說明:說明: 串掃描指令,ES:DI 指向目的串 用于從目標串中搜索某個數(shù)據(jù) 8088的指令系統(tǒng)(位運算或邏輯運 算) SCAS 指令指令 格式 說明: 執(zhí)行的操作:執(zhí)行的操作: 第一步:第一步:將AL或AX與目的串當前單元進 行內(nèi)容比較,即 (DI) -(累加器),但 不保存結(jié)果,結(jié)果反映在標志ZF 第二步:第二步:修改串指針 第三步:第三步:如有重復(fù)前綴,計數(shù)器CX減1, 不為0時回到第一步 8088的指令系統(tǒng)(位運算或邏輯運 算) SCAS 指令指令 格式
25、說明:說明: 此指令執(zhí)行前受DF影響,執(zhí)行后影響6個狀態(tài) 標志(與減法指令一樣) 通常,要在SCAS前加重復(fù)前綴REPNZ,用來 從目標串中尋找關(guān)鍵字,操作一直進行到ZF 1(查到了關(guān)鍵字)或CX0(終未查找到) 為止。 8088的指令系統(tǒng)(位運算或邏輯運 算) 例子: 在每個字符串中搜索是否與字符A, 若有,則把搜索次數(shù)記錄下來,送到BX中, 若沒有查到,bx清0. DATA SEGMENT SRC_MESS DB 100 dup(?) DATA ENDS EXTRA SEGMENT STRING DB 100 DUP(?) COUNT EQU LEGTHEN STRING EXTRA ENDS 8088的指令系統(tǒng)(位運算或邏輯運 算) MOV DI,OFFSET STRING MOV CX,COUNT MOV AL,A CLD REPNE SCASB JZ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【名師一號】2020-2021學(xué)年北師大版高中數(shù)學(xué)必修1:第四章-函數(shù)應(yīng)用-單元同步測試
- 2025年八年級統(tǒng)編版語文寒假預(yù)習 第09講 《經(jīng)典常談》
- 【同步課堂】2020年化學(xué)人教版選修5教案:4-2-糖類
- 四年級下冊英語單詞表
- 統(tǒng)編版語文三年級下冊看詞語寫拼音(無答案)
- 北京市大興區(qū)2024-2025學(xué)年七年級上學(xué)期期末 歷史試題(含答案)
- 【創(chuàng)新設(shè)計】2021高考語文(福建專用)一輪規(guī)范訓(xùn)練:第十單元-時文短評
- 《分子和原子公開》課件
- 三年級數(shù)學(xué)計算題專項練習匯編及答案集錦
- 2023小學(xué)教師教學(xué)工作總結(jié)怎么寫
- 新媒體用戶行為研究-洞察分析
- 醫(yī)療器械考試題及答案
- 初三家長會數(shù)學(xué)老師發(fā)言稿
- 2025版國家開放大學(xué)法學(xué)本科《知識產(chǎn)權(quán)法》期末紙質(zhì)考試總題庫
- 醫(yī)藥銷售培訓(xùn)課程
- 2022-2023學(xué)年北京市海淀區(qū)七年級(上)期末語文試卷
- 膝關(guān)節(jié)炎階梯治療
- 設(shè)備日常維護及保養(yǎng)培訓(xùn)
- 行業(yè)背景、經(jīng)濟運行情況及產(chǎn)業(yè)未來發(fā)展趨勢分析
- 配電室維護協(xié)議書
- 2024年度工作總結(jié)模板簡約干練風格
評論
0/150
提交評論