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

正文內(nèi)容

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

2024-11-25 11:01 本頁面
 

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