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

正文內容

第3章:微機尋址和指令-wenkub

2023-05-20 23:16:10 本頁面
 

【正文】 或變址寄存器 (SI/DI)中 1) BX, SI, DI ? (DS) 物理地址 = 16d ? (DS) + 2) BP ? (SS) 物理地址 = 16d ? (SS) + (BP) 3)寄存器加 [ ]。僅僅用于源操作數(shù)。 操作數(shù)尋址方式: ? 隱含尋址 ? 立即數(shù)尋址 ? 寄存器尋址 ? 直接尋址 ? 寄存器相對尋址 ? 寄存器間接尋址 ? 基址變址尋址 ? 相對基址變址尋址 尋址方式與機器語言轉換 8086的尋址方式 與數(shù)據(jù)有關的尋址方式 與轉移地址有關的尋址方式 與數(shù)據(jù)有關的尋址方式 ( 8種 ) 0. 隱含尋址方式 * —— 在指令中不指明操作數(shù)。 — 立即數(shù) ? 操作數(shù) 包含在寄存器中。 指令尋址: 指令尋址通過對 CS: IP中 IP加 1修改,形成指令地址。一般來說,操作數(shù)可以跟隨在指令操作碼之后,稱為立即數(shù);操作數(shù)也可以存放在 CPU內部的寄存器中,稱為寄存器操作數(shù)。 (dst) (src) ↑ ↑ ↑ 助記符 目的 源操作數(shù) 操作數(shù) 例 : MOV AH,BL MOV AX,1234H ADD dst, src 。 (dst) (dst)+(src) ↑ ↑ ↑ 助記符 目的 源操作數(shù) 操作數(shù) 例 : ADD AL,36H ADD BX,CX 源操作數(shù)( SRC):指令執(zhí)行過程中,保留原值。絕大多數(shù)的操作數(shù)存放在內存儲器中,稱為存儲器操作數(shù)。主要是轉移指令和調用指令的形成。 — 寄存器 ? 操作數(shù) 包含在內存單元中。 MUL src ;隱含 AL、 AX,積存放AX或者 AX— DX中。 2. 寄存器尋址方式 * —— 操作數(shù)在指定的寄存器中 MOV AX, BX ; AX、 BX、 CX、 DX、SI、 DI、 SP、 BP MOV AL, BH ; AH、 AL、 BH、 BL、CH、 CL、 DH、 DL AX BX優(yōu)點: SCR、 DSC都在寄存器中, CPU內部速度快。 MOV AX, [SI] PA = 16d ? (DS) + (SI) MOV ES:[BX] , AX PA = 16d ? (ES) + (BX) MOV DX, [BP] PA = 16d ? (SS) + (BP) (BX) (SI) (DI) 注意!! 優(yōu)點:操作數(shù)在 RAM中,地址在指令中指定的某一寄存器中 操作碼63H87H代碼段數(shù)據(jù)段AH AL2 0 0 0DS1 0 0 0 + SI2 1 0 0 0 H21000H例題: MOV AX, [SI] ? 寄存器間接尋址方式 * * 不允許使用 AX、 CX、 DX存放 EA ? MOV AX, [CX] * SRC 和 DST的字長一致 MOV DL, [SI] 。 6. 基址變址尋址方式 * MOV AX, [BX][DI] PA=(DS) 24+(BX)+(DI) 或 MOV AX, [BP+DI] PA=(SS) 24+(BX)+(DI) MOV AX, ES:[BX][SI] PA=(ES) 24+(BX)+(SI) * 適于數(shù)組、字符串、表格的處理 * 必須是一個基址寄存器和一個變址寄存器的組合 ? MOV AX, [BX][BP] ? MOV AX, [SI][DI] 有效地址 EA= (BX) (BP) + (SI) (DI) 優(yōu)點:操作數(shù)在 RAM中, EA地址 =BX+SI 7. 相對基址變址尋址方式 * MOV AX, MASK[BX][SI] 或 MOV AX, MASK[BX+SI] 或 MOV AX, [MASK+BX+SI] * 適于堆棧處理和數(shù)組處理 有效地址EA = (BX) (BP) + (SI) (DI) + 8位 16位 位移量 尋址方式小結 尋址方式 操作數(shù)地址 (PA) 指令格式舉例 立即尋址 操作數(shù)由指令給出 MOV DX, 100H 。(AX)← (VAR) 寄存器間接尋址 PA=(DS) 16+(BX)或 (SI)或 (DI) PA=(SS) 16+(BP) MOV AX, [BX] 。(AX)← ((DS) 16+(BX)+(DI)+OFFSET BUFF) 例 : 編寫一段顯示字符串 STRING的程序 DATA SEGMENT STRING DB ‘HAPPY NEW YEAR!’, 0DH , 0AH , ‘$’ COUNT DW 17 DATA ENDS ( 0) 立即尋址 mov dl, ‘H’ 。 顯示字符‘ H’ mov dl, string+1 。 string的偏址 ? bx next: mov dl, [bx] mov ah, 2 int 21h 。 mov dl, [string+si] mov ah, 2 int 21h 。 string的偏址 ? bx mov si, 0 next: mov dl, [bx][si] 。 string的偏址 ? dx mov ah, 9 ; 9號功能調用 int 21h 。 表示轉移距離(稱為位移量)的操作符 : ?SHORT 短轉移, 位移量在 128~127字節(jié)之間( 8位) 。 32K字節(jié), 或是在不同段之間轉移。 (IP)←3280H JMP [BX][SI] JMP WORD PTR [BX][SI] 。 尋址方式有如下兩種 。 所謂間接尋址 , 是指把 I/O端口的地址先送到 DX中 , 用 DX作間接尋址寄存器 , 而且只能用 DX寄存器 。 * 不影響標志位 * 不能用立即尋址方式 ? PUSH 1234H * DST不能是 CS ? POP CS 8086/8088的堆棧 建棧 MOV AX , 1050H MOV SS , AX MOV SP , 000 EH 進棧 PUSH AX (設 AX=1234H) PUSH BX (設 BX=5CF8H) 1050FH 10500H 初始棧頂 (棧底) SP= 0EH SS= 1050H 堆棧起地址 棧的范圍 SP= 0EH 12H 34H SP= 0CH 5CH F8H SP= 0AH 10500H (不變) 1050FH SS = 1050H 2 2 當前棧頂 進棧后的 SP和 SS的值 SP=000AH SS=1050H 進棧前 SP和 SS的值 SP=000EH SS=1050H (變化) (AX) (BX) 8086通過賦值 SS和 SP建棧 進棧操作:先 SP減 2,再內容進棧。(BX) ?(PA) XCHG AL, BH 。PORTFFH IN AX, DX (字) 執(zhí)行操作: (AL) ? ( (DX) ) (字節(jié)) (AX) ? ( (DX)+1, (DX) )(字) ?輸出指令 OUT PORT, ac 。 MOV DX, 28H 。 (BX)=0040H MOV AL, 3 XLAT TABLE 指令執(zhí)行后 (AL)=33H 注意 : * 不影響標志位 * 字節(jié)表格 (長度不超過 256) 首地址 ? (BX) * 需轉換代碼 ? (AL) (BX) ? 30 H F0040 31 H F0041 (AL) = 3 32 H F0042 33 H F0043 TABLE (DS)=F000H 3. 地址傳送指令 ?有效地址送寄存器指令: LEA REG, SRC 執(zhí)行操作: (REG) ? SRC ? 指針送寄存器和 DS指令: LDS REG, SRC 執(zhí)行操作: (REG) ? (SRC) (DS) ? (SRC+2) 4個相繼字節(jié) ? 寄存器 ( 通常是 SI) 和 DS ? 指針送寄存器和 ES指令: LES REG, SRC 執(zhí) 行操作: (REG) ? (SRC) (ES) ? (SRC+2) 4個相繼字節(jié) ? 寄存器(通常是 DI)和 ES (DS): 1000H 40 H 00 H 00 H
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1