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

正文內(nèi)容

微機原理與接口技術(shù)復(fù)習(xí)資料(34)章-文庫吧資料

2024-11-03 19:13本頁面
  

【正文】 則進到 AH 寄存器中。 例 INC BL ; BL 寄存器中內(nèi)容增 1 INC CX ; CX 寄存器中內(nèi)容增 1 INC BYTE PTR[BX] ;內(nèi)存 字節(jié)單元內(nèi)容增 1 INC WORD PTR[BX] ;內(nèi)存字單元內(nèi)容增 1 其中, PTR 為類型說明符,前面加 BYTE 說明操作數(shù)類型為字節(jié),加 WORD 則說明操作數(shù)類型為字。 注意: ? 指令主要用在循環(huán)程序中,對地址指針和循環(huán)計數(shù)器等進行修改; ? 指令執(zhí)行后影響 AF、 OF、 PF、 SF 和 ZF,但不影響進位標志 CF。 ② 兩個加數(shù)都當成帶符號數(shù)時,符號標志 SF 和溢出標志 OF 很重要,而進位標志 CF 沒有意義。 ▲對標志的解釋(人為決定): ① 兩個加數(shù)都看成無符號數(shù)時,運算結(jié)果為 9AH,即十進制數(shù) 154。 例:兩種加法指令的實例 ADD AL, 18H ; AL ? AL + 18H ADC BL, CL ; BL? BL + CL + CF ADC AX, DX ; AX ?AX + DX + CF ADD AL, COST[BX] ; AL 內(nèi)容和地址= DS:(COST+BX)的存儲字節(jié)相加,結(jié)果送 AL ADD COST[BX], BL ;將 BL 與物理地址= DS: (COST+BX)的存儲字 節(jié)相加,結(jié)果留在該存儲單元中 例 :用加法指令 對兩個 8 位 16 進制數(shù) 5EH 和 3CH 求和,并分析加法運算指令執(zhí)行后對標志位的影響。 二進制碼 ( B) 十六進制( H) 無符號二進制( D) 帶符號二進制( D) 非壓 縮十進制 壓縮十進制 0000 0111 07 7 + 7 7 07 1000 1001 89 137 - 119 無效 89 1100 0101 C5 197 - 59 無效 無效 加 法 減 法 ADD 加法 SUB 減法 ADC 帶進位的加法 SBB 帶借位的減法 ? 加法指令( Addition) ? ADD 加法指令( Addition) 指令格式: ADD 目的, 源 指令功能:目的 ? 源 十 目的 ? ADC 帶進位的加法指令( Addition with Carry) 指令格式: ADC 目的, 源 指令功能:目的 ? 源 十 目的 十 CF 注意: ? 源操作數(shù)可以是寄存器、存儲器、立即數(shù); ? 目的操作數(shù):只能用寄存器、存儲單元。 ? 乘法和除法運算:分別設(shè)置無符號數(shù)和帶符號數(shù)的乘、除法指令。 例如,對十進制數(shù)字 58: 壓縮十進制數(shù)表示:只需一個字節(jié),即 0101 1000B; 非壓縮十進制數(shù)表示:需兩個字節(jié),即 0000 0101B 和 0000 1000B。 ? 壓縮十進制數(shù):一個字節(jié)中存放兩個 BCD 碼十進制數(shù)。 二、算術(shù)運算指令 算術(shù)運算指令可處理 4 種類型的數(shù): ? 無符號二進制整數(shù) ? 帶符號二進制整數(shù) ? 無符號壓縮十進制整數(shù)( Packed Decimal) ? 無符號非壓縮十進制整數(shù)( Unpacked Decimal) 一個 8 位二進制數(shù)可看成 4 種不同類型的數(shù),所表示的數(shù)值亦不同。 ? 也可用來改變追蹤標志 TF。 注意: ? 要成對使用 PUSHF 和 POPF,可對標志寄存器進行保存和恢復(fù)。 ? ( 3) PUSHF 標志入棧指令( Push Flag onto Stack) 指令格式: PUSHF 指令功能:將標志寄存器 PSW 中的內(nèi)容壓入堆棧;并修改堆棧指針,使 SP ?SP- 2; 指令執(zhí)行后對標志位無影響。 ? 執(zhí)行這條指令后,高位標志并不受影響。 ? 這 5 個標志送進 AH 后, AH 便相當于 8080/ 8085 的標志寄存器, 從而能對8080/ 8085 程序進行轉(zhuǎn)換,使它們能運行在 8086/ 8088 系統(tǒng) . ? ( 2) SAHF AH 送標志寄存器 (Store AH into Flags) 指令格式: SAHF 指令功能: AH 內(nèi)容 → 標志寄存器。 注意: ? 位 1 的內(nèi)容未定義,是任意值。 例 設(shè) DS= 0100H, BX= 0020H, (01020H)= 0300H, (01022H)= 0500H。 目的操作數(shù)必須是 16 位寄存器,常用 SI寄存器,但不能用段寄存器。其中前兩個字節(jié)(表示變量的偏移地址)送到指令中指定的目的寄存器中,后兩個字節(jié) (表示變量的段地址 )送入 DS 寄存器。 使用時要注意與 MOV 指令的區(qū)別。 MOV DX, XXXXH。 OUT 指令:輸出數(shù)據(jù)或命令給指定的 I/O 端口。 例 若十進制數(shù)字 0~ 9 的 LED 七段碼對照表如表所示,試用 XLAT 指令求數(shù)字 5 的七段碼值。 源操作數(shù)物理地址= 300010H + 1800H + 200H= 31A00H, 指令執(zhí)行后: AX= 1995H,( 31A00H)= 2020H ? XLAT 表轉(zhuǎn)換指令( Table LookupTranslation) ? 指令格式: XLAT 轉(zhuǎn)換表 或: XLAT ? 指令功能:使累加器( AL)中的一個值變換為內(nèi)存表格中的某一個值,一般用來實現(xiàn)代碼轉(zhuǎn)換,即查表功能。 例 設(shè) AX = 2020H, DS = 3000H, BX = 1800H,( 31A00H) = 1995H。 ? PUSH、 POP 指令實例 ? XCHG 交換指令 (Exchange) ? 指令格式: XCHG 目的,源 ? 指令功能:源操作數(shù)、目的操作數(shù)數(shù)據(jù)交換。 0002H 單元 14H ? PUSH 進棧指令( Push Word onto Stack) ? 指令格式: PUSH 源 ? 指令功能:數(shù)據(jù)入堆棧 ? 工作過程: SP←SP — 2; ( SP+ 1, SP) ←源 ? 源 操作數(shù)要求:可以是 16 位通用寄存器、段寄存器、存儲器中的數(shù)據(jù)字,但不能是立即數(shù)。( OFFSET:取后面的符號偏移地址的值) 設(shè): ARRAY 的定義如左圖所示 則: DX = 0005H 例 : MOV AL, AREA1 。 AREA1 的偏移地址為 0000H; AREA2 的偏移地址為 0002H; ARRAY 的偏移地址為 0005H; STRING 的偏移地址為 0009H。 例如,某個程序的數(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 將被賦予一個具體的段地址。 例 : MOV AX, 0FF00H MOV [DI], AX MOV CX, [1000H] MOV BL, 40H MOV WORD PTR[SI], 01H MOV AL, BL ? 注意: ? 指令中至少要有一項明確說明傳送的是字節(jié)還是字; ? IP 寄存器不能用作源操作數(shù)或目的操作數(shù); ? 立即數(shù)和 CS 寄存器不能用作目的操作數(shù); ? 除了源操作數(shù)為立即數(shù)的情況外,兩個操作數(shù)中必有一個是寄存器,但不能都是段寄存器。 可得到該指令的機器碼為 2E 88 17H 微機系統(tǒng)指令的機器碼表示方法(自學(xué)) 167。 解:該指令的編碼是在不帶段超越前綴的指令代碼 88 17H 前,加上一個字節(jié)001110。 ? 6.段超越前綴指令的編碼 該類指令進行編碼時,在指令代碼前加一個 8 位的段超越的綴代碼,代碼的格式為 001110,其中 位表明段超越寄存器,編碼與上面列出的相同。 例 求指今 MOV DS, AX 的機器碼。 解:指令的功能是將 16 位立即數(shù) 0FA50H 送到有效地址為 (BX+ 2100H)的字存儲單元中;其中低字節(jié) 50H 送列〔 BX+ 2100H〕單元,高字節(jié) FAH 送到 (BX+ 2101H)單元; 指令中不但有 16 位立即數(shù),還有 16位位移量; 查附錄 B 知,該指令的 6 字節(jié)編碼為: C7 87 00 21 50 FA。 所以該指令的編碼為 8A 8F 34 12H。 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]的機器碼。 從表 32 查得 R/M= 011。 REG 段寄存器 01 CS 11 DS 00 ES 10 SS MOD(右) 00 01 10 11 R/M(下) W=0 W=1 MOD 和 R/M 的編碼 ? 2.寄存器間傳送指令的編碼 例 求指令 MOV SP, BX 的機器碼 解:指令的功能是將 BX 寄存器的內(nèi)容送到 SP 寄存器中。如下表所示。如表 3l所示。 ? 8086 指令系統(tǒng)采用變長指令,指令的長度可由 1~ 6 字節(jié)組成。 ? 為每種基本指令類型給出一個編碼格式,對照格式填上不同的數(shù)字表示不同的尋址方式、數(shù)據(jù)類型,即可求得每條指令的機器碼。32 指令的機器碼表示方法 一、機器語言指令的編碼目的和特點 ? 匯編語言源程序:用匯編語言 (即主要由指令系統(tǒng)組成的語言)編寫的程序。 例 MOV [BX], AL 解: 設(shè): BX= 3600H, DS= 1000H, AL=05H 則:目的操作數(shù)的物理地址= 16DS + BX= 10000H 十 3600H= 13600H 指令執(zhí)行結(jié)果為( 13600H)= 05H。 例如, IN AL, 63H ;表示將端口 63H 中的內(nèi)容送進 AL 寄存器 ? 間接端口尋址方式:端口地址由寄存器 DX 提供,端口號為 0000— 0FFFFH。 ? 直接端口尋址方式:指令直接提供端口地址 —— 8 位立即數(shù)。如:指令 DAA ;對寄存器 AL 中的數(shù)據(jù)進行十進制數(shù)調(diào)整,結(jié)果仍保留在 AL 中。 ? 方括號表示相加,下面幾種寫法等價: 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 (注:可以是單一寄存器、兩個寄存器組合、和 DISP 組合; DISP 也可以為 0) ▲可用段超越前綴修改段基址。 或: MOV AX, [MASK+ BX+ SI] 解:設(shè): DS= 2020H, SI= 0300H, BX= 1500H, MASK=0200H,( 21A00H) =26BFH 則:物理地址 = 16DS + SI + BX + MASK = 20200H + 0300H + 1500H + 0200H
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1