① 间接寻址的地址表达式 段寄存器:[间址寄存器]
某单元的物理地址=段寄存器内容×16+间址寄存器
② 访问约定的逻辑段,间接寻址的地址表达式 简化为: [间址寄存器] 某单元的物理地址=约定的段寄存器内容×16+ 间址寄存器
例: MOV
AX , [BX]
低 操作码 DS 5000 + BX 1 0 0 0 0
;AAH → BL ;FCH →CL ;35H →DL
;15 →SI
如: MOV
INC DEC
;DS内容→ AX ;SI+1 → SI (Increase 增量) ;DI – 1 → DI (Decrease 减量)
3.存储器操作数寻址方式 重申: 在读写内存操作数之前,CPU必须知道相关存 储单元的物理地址。
物理地址=约定的段寄存器×16+变址寄存器+位移量
③ 变址寄存器与约定访问的逻辑段
变址寄存器
SI,DI
EBP EAX~ EDX,ESI,EDI
约定访问的逻辑段 适用于……
数据段
堆栈段 数据段
无比例因子,16 位寻址 有比例因子,32 位寻址
说明:比例因子只能是1、2、4、8
因此:MOV AL, [8*SI+15];非法,16位寻址不能使用
大多数指令由操作码和地址码2部分组成 • 操作码:通知CPU执行什么操作(唯一) • 地址码:指令的操作对象所存放的位置(根 据操作对象的多样性其表现形式很多) 教材上把地址码称为操作数
相应的编码规则对指令进行编码 • 操作码的编码 • 地址码的编码
80486符号指令与机器指令对照表
操作 1234H→AX AX+BX→AX CX-DX→CX 返回调用程序 80486符号指令 MOV ADD SUB RET SUB:减 AX, 1234H AX, BX CX, DX 80486机器指令 B8 03 2B C3 34 C3 CA 12