清华大学出版社 TSINGHUA UNIVERSITY PRESS 第3章80X86的指令系统和寻址方式 ●指令系统 组指令的集 指令操作码操作数操作数 ●寻址方式 与数据有关的寻址方式 与转移地址有关的寻址方式
• 指令系统 一组指令的集合 第3章 80x86的指令系统和寻址方式 指令 操作码 操作数 ... 操作数 • 寻址方式 与数据有关的寻址方式 与转移地址有关的寻址方式
清华大学出版社 TSINGHUA UNIVERSITY PRESS 1.8086的寻址方式 与数据有关的寻址方式:以MOV指令为例 立即寻址 MOV AX. 3069H 寄存器寻址 MOV AL, BH 直接寻址 MOV AX,2000H 寄存器间接寻址 MOV AX,Bxl 寄存器相对寻址 MOV AX, COUNTISI 基址变址寻址 MOV AX,[ BPIIDI 相对基址变址寻址MoAX,MASK| BXIISII 存储器寻址
1. 8086的寻址方式 与数据有关的寻址方式:以 MOV 指令为例 • 立即寻址 MOV AX , 3069H • 寄存器寻址 MOV AL , BH • 直接寻址 MOV AX , [ 2000H ] • 寄存器间接寻址 MOV AX , [ BX ] • 寄存器相对寻址 MOV AX , COUNT [ SI ] • 基址变址寻址 MOV AX , [ BP ] [ DI ] • 相对基址变址寻址 MOV AX , MASK [ BX ] [ SI ] 存储器寻址
清华大学出版社 TSINGHUA UNIVERSITY PRESS (1)立即寻址方式*—操作数在指令中给出 指令格式: MOV AL,5 MOV AX.3064H MOV ALSA 只能用于SRC字段 MOV 40H.AL X SRC和DST的字长一致 MOV AH.3064H x
(1) 立即寻址方式* —— 操作数在指令中给出 指令格式: MOV AL, 5 MOV AX, 3064H MOV AL, ‘A’ * 只能用于 SRC 字段 MOV 40H, AL * SRC 和 DST 的字长一致 MOV AH, 3064H
清华大学出版社 TSINGHUA UNIVERSITY PRESS (2)寄存器寻址方式*一操作数在指定的寄存器中 MOV AX. BX MOV AL BH MOV AX. 3064H 次字节寄存器只有 AH AL BH BL CH CL DH DL zSRC和DST的字长一致 MOV AH, BX X zCS不能用MOV指令改变 MOV CS,AX
(2) 寄存器寻址方式* — 操作数在指定的寄存器中 MOV AX, BX MOV AL, BH MOV AX, 3064H * 字节寄存器只有 AH AL BH BL CH CL DH DL * SRC 和 DST 的字长一致 MOV AH, BX * CS 不能用 MOV 指令改变 MOV CS, AX
清华大学出版社 TSINGHUA UNIVERSITY尸RES (3)直接寻址方式*一有效地址EA由指令直接给出 例: MOV AX,[2000H EA=2000H,假设(DS)=3000,那么PA=32000H 30 50 32000 50 30 (AX)=3050H 隐含的段为数据段DS 可使用段跨越前缀 MOV AX, ES: 2000H 操作数地址可由变量(符号地址)表示,但要注意 VALUE DB 10 变量的属性 MOV AH. VALUE MOV AX VALUE X MOV AX. WORD PTR VALUE Y
(3) 直接寻址方式* — 有效地址EA由指令直接给出 例:MOV AX, [ 2000H ] EA=2000H, 假设(DS)=3000H, 那么PA=32000H * 隐含的段为数据段 DS * 可使用段跨越前缀 MOV AX, ES: [2000H] * 操作数地址可由变量(符号地址)表示, 但要注意 VALUE DB 10 变量的属性 MOV AH, VALUE MOV AX, VALUE MOV AX, WORD PTR VALUE 50 30 32000 AH AL 30 50 (AX) = 3050H