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

正文內(nèi)容

微機(jī)原理與接口技術(shù)復(fù)習(xí)資料(編輯修改稿)

2024-11-25 11:01 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 DAS 對(duì) OF無(wú)定義 ,但影響其余標(biāo)志位。 DAS 指令要求跟在減法指令之后。 乘法指令 進(jìn)行乘法時(shí): 8位 *8 位→ 16位乘積 16 位 *16 位→ 32 位乘積 (1) 無(wú)符號(hào)數(shù)的乘法指令 MUL(MEM/REG) 格式: MUL src 操作:字節(jié)操作數(shù) (AX)←(AL) (src) 字操作數(shù) (DX, AX)←(AX) (src) 指令例子: MUL BL ; (AL) (BL),乘積在 AX中 MUL CX ; (AX) (CX),乘積在 DX,AX 中 MUL BYTE PTR[BX] ( 2)有符號(hào)數(shù)乘法指令 IMUL 格式與 MUL 指令類似,只是要求兩操作數(shù)均為 有符號(hào)數(shù) 。 指令例子: IMUL BL ; (AX)← (AL)(BL) IMUL WORD PTR[SI]; (DX,AX)← (AX)([SI+1][SI]) 注意: MUL/IMUL 指令中 ● AL(AX)為隱含的乘數(shù)寄存器; ● AX(DX,AX)為隱含的乘積寄存器; ● SRC 不能為立即數(shù); ● 除 CF 和 OF外,對(duì)其它標(biāo)志位無(wú)定義 。 除法指令 進(jìn)行除法時(shí): 16 位 /8 位→ 8 位商 32 位 /16 位→ 16 位商 對(duì)被除數(shù)、商及余數(shù)存放有如下規(guī)定: 被除數(shù) 商 余數(shù) 字節(jié)除法 AX AL AH 字除法 DX:AX AX DX ( 1)無(wú)符號(hào)數(shù)除法指令 DIV 格式: DIV src 操作:字節(jié)操作 (AL)←(AX) / (SRC) 的商 (AH)←(AX) / (SRC) 的余數(shù) 字操作 (AX) ←(DX, AX) / (SRC) 的商 (DX) ←(DX, AX) / (SRC) 的余數(shù) 指令例子: DIV CL DIV WORD PTR[BX] ( 2)有符號(hào)數(shù)除法指令 IDIV 格式: IDIV src 操作與 DIV 類似。商及余數(shù)均為有符號(hào)數(shù) ,且余數(shù)符號(hào)總是與被除數(shù)符號(hào)相同。 注意 : 對(duì)于 DIV/IDIV 指令 AX(DX,AX)為隱含的被除數(shù)寄存器。 AL(AX)為隱含的商寄存器。 AH(DX)為隱含的余數(shù)寄存器。 src 不能為立即數(shù)。 對(duì)所有條件標(biāo)志位均無(wú)定 關(guān)于除法操作中的字長(zhǎng)擴(kuò)展問(wèn)題 ?除 法運(yùn)算要求被除數(shù)字長(zhǎng)是除數(shù)字長(zhǎng)的兩倍 ,若不滿足則需 對(duì)被除數(shù)進(jìn)行擴(kuò)展 ,否則產(chǎn)生錯(cuò)誤。 ?對(duì)于無(wú)符號(hào)數(shù)除法擴(kuò)展,只需將 AH 或 DX 清零即可。 ?對(duì)有符號(hào)數(shù)而言 ,則是符號(hào)位的擴(kuò)展。可使用前面介紹過(guò)的符號(hào)擴(kuò)展指令 CBW 和 CWD 三、邏輯運(yùn)算和移位指令 邏輯運(yùn)算指令 ( 1)邏輯與 AND 對(duì)兩個(gè)操作數(shù)進(jìn)行按位邏輯 “ 與 ” 操作。 格式: AND dest, src 用途:保留操作數(shù)的某幾位,清零其他位。 例 1:保留 AL中低 4 位,高 4 位清 0。 AND AL,0FH ( 2)邏輯或 OR 對(duì)兩個(gè)操作數(shù)進(jìn)行按位邏輯 ”或 ”操作。 格式: OR dest, src 用途:對(duì)操作數(shù)的某幾位置 1;對(duì)兩操作數(shù)進(jìn)行組合。 例 1:把 AL 中的非壓縮 BCD 碼變成相應(yīng)十進(jìn)制數(shù)的 ASCII 碼。 OR AL, 30H ( 3)邏輯非 NOT 對(duì)操作數(shù)進(jìn)行按位邏輯 ”非 ”操作。 格式: NOT mem/reg 例: NOT CX NOT BYTE PTR[DI] ( 4)邏輯異或 XOR 對(duì)兩個(gè)操作數(shù)按位進(jìn)行 ” 異或 ” 操作。 格式: XOR dest, src 用途:對(duì) reg 清零 (自身異或 ) 把 reg/mem 的某幾位變反 (與 ’1’ 異或 ) 例 1:把 AX 寄 存器清零。 ① MOV AX,0 ② XOR AX,AX ③ AND AX,0 ④ SUB AX,AX ( 5)測(cè)試指令 TEST 操作與 AND 指令類似 ,但不將 ”與 ”的結(jié)果送回 ,只影響標(biāo)志位。 TEST 指令常用于位測(cè)試 ,與條件轉(zhuǎn)移指令一起用。 例:測(cè)試 AL 的內(nèi)容是否為負(fù)數(shù)。 TEST AL,80H ;檢查 AL 中 D7=1? JNZ MINUS ;是 1(負(fù)數(shù) ),轉(zhuǎn) MINUS … … ;否則為正數(shù) 移位指令 (1)非循環(huán)移位指令 (重點(diǎn) ) 算術(shù)左移指令 SAL(Shift Arithmetic Left) 算術(shù)右移指令 SAR(Shift Arithmetic Right) 邏輯左移指令 SHL(Shift Left) 邏輯右移指令 SHR(Shift Right) 這 4 條指令的格式相同 ,以 SAL 為例: CL 。移位位數(shù)大于 1 時(shí) SAL mem/reg 1 。移位位數(shù)等于 1 時(shí) ?算術(shù)移位 ——把操作數(shù)看做有符號(hào)數(shù); 邏輯移位 ——把操作數(shù)看做無(wú)符號(hào)數(shù)。 ?移位位數(shù)放在 CL 寄存器中,如果只移 1 位 ,也 可以直接寫在指令中。例如: MOV CL,4 SHR AL,CL ; AL 中的內(nèi)容右移 4 位 ?影響 C,P,S,Z,O 標(biāo)志。 ?結(jié)果未溢出時(shí): 左移 1 位≡操作數(shù) *2 右移 1 位≡操作數(shù) /2 例:把 AL 中的數(shù) x 乘 10 因?yàn)?10=8+2=23+21,所以可用移位實(shí)現(xiàn)乘 10 操作。程序如下: MOV CL,3 SAL AL,1 。 2x MOV AH,AL SAL AL,1 。 4x SAL AL,1 。 8x ADD AL,AH 。 8x+2x = 10x 移位指令的題目見(jiàn)綜合練習(xí)題 P6 五, 4 題; P21 五, 1 題 四、控制轉(zhuǎn)移指令 轉(zhuǎn)移指令 ( 1)無(wú)條件轉(zhuǎn)移指令 JMP 格式: JMP label 本指令無(wú)條件轉(zhuǎn)移到指定的目標(biāo)地址 ,以執(zhí)行從該地址開(kāi)始的程序段 。 ( 2)條件轉(zhuǎn)移指令(補(bǔ)充內(nèi)容) (重點(diǎn) ) ① 根據(jù)單個(gè)標(biāo)志位設(shè)置的條件轉(zhuǎn)移指令 JB/JC ;低于 ,或 CF=1,則轉(zhuǎn)移 JNB/JNC/JAE ;高于或等于 ,或 CF=0,則轉(zhuǎn)移 JP/JPE ;奇偶標(biāo)志 PF=1(偶 ),則轉(zhuǎn)移 JNP/JPO ;奇偶標(biāo)志 PF=0(奇 ),則轉(zhuǎn)移 JZ/JE ;結(jié)果為零 (ZF=1),則轉(zhuǎn)移 JNZ/JNE ;結(jié)果不為零 (ZF=0),則轉(zhuǎn)移 JS ; SF=1,則轉(zhuǎn)移 JNS ; SF=0,則轉(zhuǎn)移 JO ; OF=1,則轉(zhuǎn)移 JNO ; OF=0,則轉(zhuǎn)移 ②根據(jù)組合條件設(shè)置的條件轉(zhuǎn)移指令 這類指令主要用來(lái)判斷兩個(gè)數(shù)的大小。 ?判斷無(wú)符號(hào)數(shù)的大小 ?JA 高于則轉(zhuǎn)移 條件為 : CF=0∧ ZF=0,即 A> B ?JNA/JBE 低于 或等于則轉(zhuǎn)移 條件為 : CF=1∨ ZF=1,即 A? B ?JB AB 則轉(zhuǎn)移 ?JNB A? B 則轉(zhuǎn)移 ★判斷有符號(hào)數(shù)的大小 ??JG ;大于則轉(zhuǎn)移 (A> B) 條件為 : (SF⊕ OF=0)∧ ZF=0 ?JGE;大于或等于則轉(zhuǎn)移 (A? B) 條件為 : (SF⊕ OF=0)∨ ZF=1?JLE;小于或等于則轉(zhuǎn)移 (A? B) 條件為 : (SF⊕ OF=1)∨ ZF=1 ?JL;小于則轉(zhuǎn)移 (A< B= 條件為 : (SF⊕ OF=1)∧ ZF=0 循環(huán)控制指令 ?用在循環(huán)程序中以確定是否要繼續(xù)循環(huán)。 ?循環(huán)次數(shù)通常置于 CX 中。 ?轉(zhuǎn)移的目標(biāo)應(yīng)在距離本指令 128~ +127 的范圍之內(nèi)。 ?循環(huán)控制指令不影響標(biāo)志位。 (1)LOOP 格式: LOOP label 操作: (CX)1→ CX; 若 (CX)≠ 0,則轉(zhuǎn)至 label 處執(zhí)行 ; 否則退出循環(huán) ,執(zhí)行 LOOP 后面的指令。 LOOP 指令與下面的指令段等價(jià): DEC CX JNZ label 過(guò)程調(diào)用指令 ( 1)調(diào)用指令 CALL 一般格式: CALL sub 。sub 為子程序的入口 中斷指令 (1)INT n 執(zhí)行類型 n 的中斷服務(wù)程序, N=0~ 255 在 8086微機(jī)系統(tǒng)的存儲(chǔ)器單元 0000H: 0054H 開(kāi)始依次存放 0CDH,01EH, 00H 和 051H 四個(gè)字節(jié)內(nèi)容,知道向量對(duì)應(yīng)的中斷號(hào),該向量對(duì)應(yīng)的中斷服務(wù)程序的段基址與偏移地址分別 五、處理器控制指令 標(biāo)志位操作 ( 1) CF 設(shè)置指令 CLC 0→ CF STC 1→ CF CMC CF 變反 ( 2) DF 設(shè)置指令 CLD 0→ DF (串操作的指針移動(dòng)方向從低到高 ) STD 1→ DF (串操作的指針移動(dòng)方向從高到低 ) ( 3) IF 設(shè)置指令 CLI 0→ IF (禁止 INTR 中斷 ) STI 1→ IF (開(kāi)放 INTR 中斷 ) HLT( halt) 執(zhí)行 HLT 指令后, CPU 進(jìn)入暫停狀態(tài)。 習(xí)題 2 4 5 第 六 章 8086 匯編語(yǔ)言程序設(shè)計(jì) 第一節(jié) 偽指令 (重點(diǎn) ) CPU 指令與偽指令之間的區(qū)別: (1)CPU 指令是給 CPU 的命令,在運(yùn)行時(shí)由 CPU 執(zhí)行,每條指令對(duì)應(yīng) CPU 的一種特定的操作。而偽指令是給匯編程序的命令,在匯編過(guò)程中由匯編程序進(jìn)行處理。 (2)匯編以后,每 條 CPU 指令產(chǎn)生一一對(duì)應(yīng)的目標(biāo)代碼;而偽指令則不產(chǎn)生與之相應(yīng)的目標(biāo)代碼。 數(shù)據(jù)定義偽指令 ( 1) 數(shù)據(jù)定義偽指令的一般格式為: ?[變量名 ] 偽指令 操作數(shù) [,操作數(shù) …] DB 用來(lái)定義字節(jié)( BYTE) DW 用來(lái)定義字( WORD) DD 用來(lái)定義雙字( DWORD) ( 2)操作數(shù)的類型可以是: ①常數(shù)或常數(shù)表達(dá)式 ?例如: DATA_BYTE DB 10,5,10H DATA_WORD DW 100H,100,4 DATA_DW DD 2*30,0FFFBH ?可以為字符串(定義字符串最好使用 DB) ?例如: char1 DB ?AB? ?可以為變量 ?可以為?號(hào)操作符 例如: X DB 5,?, 6 ?號(hào)只是為了給變量保留相應(yīng)的存儲(chǔ)單元,而不賦予變量某個(gè)確定的初值。 ?重復(fù)次數(shù): N DUP(初值 [,初值 …] ) ?例如: ZERO DB 2 DUP( 3, 5) XYZ DB 2 DUP( 0, 2 DUP( 1, 3), 5) BUF1 DB 1, 1,‘ AB’ DB 2 DUP(3, 1) BUF2 DB 2 DUP(? ), 10 ?在偽操作的操作數(shù)字段中若使用 $,則表示的是地址計(jì)數(shù)器的當(dāng)前值。 補(bǔ)充內(nèi)容: ( 1) 類型 PTR 地址表達(dá)式 例如: MOV BYTE PTR [BX], 12H INC BYTE PTR [BX] 注意: 單操作數(shù)指令,當(dāng)操作數(shù)為基址、變址、基 +變的時(shí)候必須定義 符號(hào)定義偽指令 (1)EQU 格式:名字 EQU 表達(dá)式 EQU 偽指令將表達(dá)式的值賦予一個(gè)名字,以后可用這個(gè)名字來(lái)代替上述表達(dá)式。 例: CONSTANT EQU 100 NEW_PORT EQU PORT_VAL+1 (2) =(等號(hào)) 與 EQU 類似 ,但允許重新定義 例: ┇ EMP=7 ;值為 7 ┇ EMP=EMP+1 ;值為 8 (3)LABEL LABEL 偽指令的用途是定義標(biāo)號(hào)或變量的類型 格式:名字 LABEL 類型 變量的類型可以是 BYTE, WORD, DWORD。標(biāo)號(hào)的類型可以是 NEAR 或 FAR 段定義偽指令 與段有關(guān)的偽指令有: SEGMENT、 ENDS、 ASSUME、 ORG ( 1)段定義偽指令的格式如下: 段名 SEGMENT [定位類型 ] [組合類型 ] [’類別 ’] ┇ 段名 ENDS SEGMENT 和 ENDS 這兩個(gè)偽指令總是成對(duì)出現(xiàn),二者前面的段名一致。二者之間的刪節(jié)部分,
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1