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

正文內(nèi)容

微機(jī)原理與接口技術(shù)復(fù)習(xí)資料(34)章(更新版)

2024-12-17 19:13上一頁面

下一頁面
  

【正文】 減 法 ADD 加法 SUB 減法 ADC 帶進(jìn)位的加法 SBB 帶借位的減法 ? 加法指令( Addition) ? ADD 加法指令( Addition) 指令格式: ADD 目的, 源 指令功能:目的 ? 源 十 目的 ? ADC 帶進(jìn)位的加法指令( Addition with Carry) 指令格式: ADC 目的, 源 指令功能:目的 ? 源 十 目的 十 CF 注意: ? 源操作數(shù)可以是寄存器、存儲器、立即數(shù); ? 目的操作數(shù):只能用寄存器、存儲單元。 二、算術(shù)運(yùn)算指令 算術(shù)運(yùn)算指令可處理 4 種類型的數(shù): ? 無符號二進(jìn)制整數(shù) ? 帶符號二進(jìn)制整數(shù) ? 無符號壓縮十進(jìn)制整數(shù)( Packed Decimal) ? 無符號非壓縮十進(jìn)制整數(shù)( Unpacked Decimal) 一個(gè) 8 位二進(jìn)制數(shù)可看成 4 種不同類型的數(shù),所表示的數(shù)值亦不同。 ? 執(zhí)行這條指令后,高位標(biāo)志并不受影響。 目的操作數(shù)必須是 16 位寄存器,常用 SI寄存器,但不能用段寄存器。 OUT 指令:輸出數(shù)據(jù)或命令給指定的 I/O 端口。 ? PUSH、 POP 指令實(shí)例 ? XCHG 交換指令 (Exchange) ? 指令格式: XCHG 目的,源 ? 指令功能:源操作數(shù)、目的操作數(shù)數(shù)據(jù)交換。 例如,某個(gè)程序的數(shù)據(jù)段: DATA SEGMENT ;數(shù)據(jù)段開始 AREA1 DB 14H, 3BH ;定義字節(jié)變量 AREA2 DB 3 DUP( 0) ;復(fù)制操作 ARRAY DW 3100H, 01A6H ;定義字變量 STRING DB ‘GOOD’ DATA ENDS ;數(shù)據(jù)段結(jié)束 匯編后, DATA 將被賦予一個(gè)具體的段地址。 ? 6.段超越前綴指令的編碼 該類指令進(jìn)行編碼時(shí),在指令代碼前加一個(gè) 8 位的段超越的綴代碼,代碼的格式為 001110,其中 位表明段超越寄存器,編碼與上面列出的相同。 000 [BX]+[SI] [BX]+[SI]+D8 [BX]+[SI]+D16 AL AX 001 [BX]+[DI] [BX]+[DI]+D8 [BX]+[DI]+D16 CL CX 010 [BP]+[SI] [BP]+[SI]+D8 [BP]+[SI]+D16 DL DX 011 [BP]+[DI] [BP]+[DI]+D8 [BP]+[DI]+D16 BL BX 100 [SI] [SI]+D8 [SI]+D16 AH SP 101 [DI] [DI]+D8 [DI]+D16 CH BP 110 D16(直接地址) [BP]+D8 [BP]+D16 DH SI 111 [BX] [BX]+D8 [BX]+D16 BH DI ? 3.寄存器與存儲器間傳送指令的編碼 例:求指令 MOV CL, [BX+ 1234H]的機(jī)器碼。如表 3l所示。 例 MOV [BX], AL 解: 設(shè): BX= 3600H, DS= 1000H, AL=05H 則:目的操作數(shù)的物理地址= 16DS + BX= 10000H 十 3600H= 13600H 指令執(zhí)行結(jié)果為( 13600H)= 05H。 ? 方括號表示相加,下面幾種寫法等價(jià): 6[BX][SI]; [BX+6][SI]; [BX+SI+6] ? 不同寄存器對應(yīng)不同的隱含段基址: SS:BP; DS:BX, SI, DI; 物理地址= 16相應(yīng)段基址 + EA EA = BX / BP + SI / DI + DISP (注:可以是單一寄存器、兩個(gè)寄存器組合、和 DISP 組合; DISP 也可以為 0) ▲可用段超越前綴修改段基址。 操作數(shù)的物理地址= 16DS+ BX+SI /DI 或 =16SS+ BP+ SI /DI ? 注意: 寄存器 SI 和 DI、 BP 和 BX 不能同時(shí)出現(xiàn)在 [ ]中。 ? 特點(diǎn):使用寄存器:基址寄存器 BX、 基址指針寄存器 BP,變址寄存器 SI、 DI 。 ? 特點(diǎn):有效地址存放在代碼段中(指令的操作碼之后),而該地址單元中的數(shù)據(jù)總是存放在存儲器中。 二、寄存器尋址方式 ( Register Addressing) ? 含義: 操作數(shù)包含在寄存器中,寄存器的名稱由指令指定。 ? CPU 進(jìn)行讀 /寫存儲器的操作: 1 把一個(gè)偏移量送到 BIU,計(jì)算出 20 位物理地址; 2 執(zhí)行總線周期存取操作數(shù)。 (雙操作數(shù)指令形式:操作碼 目的操作數(shù),源操作數(shù)) ? 各種尋址方式指令執(zhí)行速度不同: ? 操作數(shù)在寄存器中指令執(zhí)行速度快:在 CPU 內(nèi)部立即執(zhí)行; ? 操作數(shù)在指令隊(duì)列中(立即數(shù)尋址)指令執(zhí)行速度較快; ? 操作數(shù)在存儲器中指令執(zhí)行速度較慢:通過總線與 CPU 交換數(shù)據(jù)。以免與其它符號相混淆(如:0AF22H)。) 三、直接尋址方式( Direct Addressing) ? 含義:存儲單元的有效地址 EA(即:操作數(shù)的偏移地址)直接由指令給出。 例 : AREA1 DW 2020H ;偽指令定義 ……… MOV AX, AREA1 ;或: MOV AX, [AREA1] 解:如右圖所示, DS=3000H 時(shí), AX = 1234H 例 : AREA1 EQU 2020H ;偽指令定義 ……… MOV AX, AREA1 解: AX = 2020H 四、寄存器間接尋址方式 ( Register Indirect Addressing) ? 含義:操作數(shù)的有效地址放在寄存器中。 ? 特點(diǎn):使用的寄存器:基址寄存器 BX、 BP,變址寄存器 SI、 DI 。 ? 只有 BX、 BP、 SI、 DI這四個(gè)寄存器可以出現(xiàn)在 [ ]內(nèi),它們可以單獨(dú)出現(xiàn),也可以相加,或與常數(shù)相加, 但: BX 和 BP 寄存器、 SI和 DI寄存器不允許出現(xiàn)在同一個(gè) [ ]內(nèi)。 例如, MOV DX, 213H ; DX=口地址號 213H IN AL, DX ; AL←端口 213H 中的內(nèi)容 ? 一條指令有多種尋址方式 : 源操作數(shù)和目的操作數(shù)同樣適用上述尋址方法。 二、機(jī)器語言指令代碼的編制 ? ( MOV 指令為例): 其中, 第一個(gè)字節(jié): ▲高 6 位是操作碼 100010; ▲W 位說明傳遞數(shù)據(jù)的類型是字( W= 1)還是字節(jié)( W= 0); ▲D 位標(biāo)明數(shù)據(jù)傳送的方向: D= 0,數(shù)據(jù)從寄存器傳出; D= 1,數(shù)據(jù)傳至寄存器; 第二個(gè)字節(jié): ▲REG 字段:寄存器號,用 3 位編碼尋址 8 種不同的寄存器,再根據(jù)第一字節(jié)中 W 位,選擇 8 位或 16位寄存器。根據(jù) W= l及寄存器名稱為 BX,求得指令編碼。 解:指令功能為將 AX 寄存器的內(nèi)容傳送到數(shù)據(jù)段寄存器 DS; 從附錄 B 中查到該指令的編碼格式為: 10001110 MOD 0 REG R/M ; 段寄存器 DS 的編碼為 11 ,即 REG 字段為 11;另一個(gè)操作數(shù)也是寄存 器,所以 MOD= 11,而 R/M 字段應(yīng)填上 AX 的三位代碼 000; 得到該指令的編碼為: 8E D8H。(即 MOV 指令不能在兩個(gè)存儲單元之間直接傳送數(shù)據(jù),也不能在兩個(gè)段寄存器之間直接傳送數(shù)據(jù)) ? 【數(shù)據(jù)段】數(shù)據(jù)通常存放在數(shù)據(jù)段中。 ? POP 出棧指令( Pop Word off Stack) ? 指令格式: POP 目的 ? 指令功能:數(shù)據(jù)出堆棧 ? 工作過程:目的 ←( SP+1, SP) SP ← SP + 2; ? 目的操作數(shù)要求: 可以是 16 位通用寄存器、段寄存器或存儲單元,但 CS 不能作目的操作數(shù)。 十進(jìn)制數(shù)的七段顯示碼表 0011, 0000 十進(jìn)制數(shù)字 七段顯示碼 十進(jìn)制數(shù)字 七段顯示碼 0 40H 5 12H 1 79H 6 02H 2 24H 7 78H 3 30H 8 00H 4 19H 9 18H 程序如下: TABLE DB 40H, 79H, 24H, 30H, 19H;七段數(shù)碼表數(shù)據(jù) DB 12H, 02H, 78H, 00H, 18H;分別對應(yīng) 0~ 9 的七段字型碼 …………… MOV AL, 5 ; AL ? 數(shù)字 5 的位移量 MOV BX, OFFSET TABLE ; BX ? 表格首地址 XLAT TABLE ;查表得: AL = 12H ? 輸入輸出指令( Input and Output) IN 指令: 從數(shù)據(jù)端口輸入數(shù)據(jù)或從狀態(tài)端口輸入狀態(tài)字。 操作數(shù)要求: 源操作數(shù)必是存儲單元,該單元開始的連續(xù) 4 個(gè)字節(jié)存放一個(gè)變量的地址指針。 注意: ? 位 1 的內(nèi)容未定義,是任意值。在 8086 指令系統(tǒng)中沒有直接改變 TF( D8 位)的指令。 ? 絕大部分算術(shù)運(yùn)算指令都影響狀態(tài)標(biāo)志位。 帶符號數(shù)能表示的范圍 128 ~ +127,而本例中,兩個(gè)正數(shù) 94 和 60 相加,其和為 154,由于 154 超過了范圍,即產(chǎn)生了溢出, OF= 1 ? INC 增量指令( Increment) 指令格式: INC 目的 指令功能:目的 ? 目的 + 1 操作數(shù)的要求:通用寄存器、內(nèi)存。 例 若 AL= BCD 9, BL= BCD 5,求兩數(shù)之和。 設(shè) AH= 0,則運(yùn)算過程如下: MOV AL, ‘9’ 。 ASCII 碼表示的十進(jìn)制數(shù),高半字節(jié)均為 3,運(yùn)算時(shí)需用 AND 指令將它屏蔽。 BL=49H ADD AL, BL 。 ③ 運(yùn)算之后,除 DEC 指令不影響 CF 標(biāo)志外,其它均影響 OF、 SF、 ZF、 AF、 PF和 CF 標(biāo)志。此時(shí), SF 和 OF 有重要意義。 0101 0110…BCD 56 。 例 MUL DL ; AX ← AL DL MUL CX ; (DX, AX) ← AX CX MUL B[SI] ; AX ← AL (內(nèi)存中某字節(jié) ), B 說明字節(jié)乘法 MUL W[BX] ; (DX, AX)← AX (內(nèi)存中某字 ), W 說明字乘法 注意: ▲ MUL 指令執(zhí)行后影響 CF 和 OF 標(biāo)志。 例 試計(jì)算 FFHFFH。 ? AAM 乘法的 ASCII 調(diào)整指令 (ASCII Adjust for Multiply) 指令格式: AAM 指令功能 : 對 AL 中的兩個(gè)非 壓縮十進(jìn)制數(shù)相乘的乘積進(jìn)行十進(jìn)制數(shù)的調(diào)整,在 AX中得到正確的非壓縮十進(jìn)制數(shù)的乘積,高位在 AH 中,低位在 AL 中。 解:用以下指令實(shí)現(xiàn): AND AL, 0FH ;屏蔽高半字節(jié) AND BL, 0FH MUL BL ;相乘 AAM ;調(diào)整 如要將結(jié)果轉(zhuǎn)換成 ASCII 碼,可用指令 OR AX, 3030H 實(shí)現(xiàn),使 AX= 3534H。 ▲無論對 ( DIV)還是 ( IDIV),都要注意溢出問題: ? 字節(jié)操作時(shí):被除數(shù)的高 8 位絕對值大于除數(shù)的絕對值,則產(chǎn)生溢出。 ( 4) CWD 把字轉(zhuǎn)換成雙字指令 (Convert Word to Double Word) 指令格式: CWD 指令功能:把 AX 中字的符號值擴(kuò)充到 DX 寄存器的所有位。 FOUR 單元 ←第二個(gè)余數(shù) 3 三、邏輯運(yùn)算和移位指令 邏輯運(yùn)算 算術(shù)邏輯移位 NOT 取反 SHL/SAL 邏輯 /算術(shù)左移 AND 邏輯乘(與) SHR 邏輯右移 OR 邏輯加(或)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1