《第3章_1+寻址方式》-精选课件(公开).pptVIP

  • 0
  • 0
  • 约3.42千字
  • 约 17页
  • 2019-12-08 发布于广西
  • 举报

《第3章_1+寻址方式》-精选课件(公开).ppt

3.2 寻址方式 操作数存放方式 包含在指令中 立即寻址(Immediate addressing) 存放在CPU中的某个寄存器 寄存器寻址(register addressing) 存放在存储器中 存储器寻址 存放在I/O接口电路的端口中 I/O端口寻址 汇编语言的几个定义及指令格式 指令:计算机完成某种操作的命令。 机器语言:指令的二进制编码构成的程序设计语言。 3.1 指令的格式 汇编语言:指令的助记符编码构成的程序设计语言。 例 MOV AX,05C7H ;汇编指令 而 B8C705H ;机器指令 汇编语言 机器语言 高级语言 FORTRAN BASIC C/C++ JAVA …... 第三章 80X86的寻址方式和指令系统 指令性语句与机器语言一一对应的同属低级语言。 3.1 指令的格式 3.1.1 机器指令的格式 每条机器指令都由”0“和”1“组成,包含操作码和地址码 操作码 地址码 操作码 说明指令的性质与功能,由多位二进制数构成。分固定长度和可变长度。 微机一般用可变长度的格式。 地址码 参与运算的操作数或操作数存放的地址。 可能为: 存储器地址,寄存器。在这些存储器或寄存器中可能是操作数也可能是操作数的地址。 8086的指令可由1~6个字节构成(参考P74图3.1)相应规则自阅 双操作数指令 ADD CX,1 SUB AX,1 单操作数指令 INC CX DEC AX 操作码助记符 操作数助记符 ;注释 操作码: 助记符表示,执行一种操作,如传送、运算、移位、跳转等操作。 操作数: 各种操作的对象,可以是具体的数值,寄存器或主存储器地址,通常的指令都有一个或两个操作数 3.1 指令的格式 3.1.2 符号指令的格式 用符号来表示操作码和地址码 标号: 1. 立即寻址(Immediate Addressing) 操作数直接存放在指令中,紧跟在操作码之后,作为指令 的一部分,存放在代码段里,这种操作数称为立即数。 例 MOV AL,05H MOV 3,AL MOV AH, 3064H 立即数不能做目的操作数 源、目的操作数的字长一致 MOV AX,3064H 2.寄存器寻址(register addressing) MOV AX,BX ;将BX寄存器中的内容送入AX寄存器中 MOV DS,AX ;将AX中的内容送入DS段寄存器中 INC SI ;SI寄存器的内容加1 3.2 寻址方式 3.存储器寻址 操作数存放在某个逻辑段的内存单元中,指令以逻辑地址表示,CPU必须计算出操作数的物理地址才能完成存储单元的读、写 有效地址EA可由以下四部分组成 基址寄存器内容 变址寄存器内容 位移量 3.2 寻址方式 3.存储器寻址 逻辑地址=段寄存器:[基址寄存器+变址寄存器*比例因子+位移量] 段寄存器:表示操作数所在的逻辑段,DS、CS、ES、SS 偏移地址:在逻辑段中相对段基址的字节地址偏移量 3.2 寻址方式 0、8、32位 0、8、16位 位移量 1、2、4、8 无(也可理解为1) 比例因子 除ESP外的任何通用32位通用寄存器 SI、DI 变址寄存器 任何通用32位通用寄存器 BX、BP 基址寄存器 32位寻址 16位寻址 有效地址元素 存储器寻址 1. 直接寻址 —— 有效地址EA由指令直接给出 有效地址EA:操作数的偏移地址 物理地址PA = (DS) ? 16d + EA 隐含的段为数据段 只能有一个内存操作数 50H 30H 32000 AH AL 30 50 (AX) = 3050H 32001 地址增量 例:MOV AX, [2000H] EA=2000H, 假设(DS)=3000H, 那么(PA)=32000H 3.2 寻址方式 CS DS SS ES IP 总线 控制 逻辑 地址加法器 ∑ 2. 寄存器间接寻址 16位偏移地址EA 数据段(DS)EA= (BX) (SI) (DI) 堆栈段(SS)EA=BP MOV AX, [BX] ;源操作数在数据段 MOV AX, [BP] ;源操作数在堆栈段 MOV [SI],AL ;目的操作数在数据段 MOV [BP],DI ;目的操作数在堆栈段 存储器寻址 3.2 寻址方式 16位不允许使用AX、CX、DX存放EA ? MOV AX, [CX] 例1 MOV AX,[BX] (DS)=2000H,(SS)=1000H,(BP)=1

文档评论(0)

1亿VIP精品文档

相关文档