《微机原理A》 第七讲:寻址方式与指令系统(一) 主讲老师:王克义
《微机原理A》 第七讲:寻址方式与指令系统(一) 主讲老师:王克义
公 本讲主要内容 寻址方式的基本概念 ·常见的几种寻址方式
本讲主要内容 • 寻址方式的基本概念 • 常见的几种寻址方式
公 7.180868088的寻址方式 寻址方式概述 定火:指令中如何提供操作数或操作数地址的 方式称为寻址方式。 规定如何对地址字段作出解释以找到操作数] *程序转移时需提供转移地址,这跟提供操作数 地址在方法上没有本质区别,因此也归入寻址 方式的范畴
7.1 8086/8088的寻址方式 • 寻址方式概述 定义 :指令中如何提供操作数或操作数地址的 方式称为寻址方式。 [规定如何对地址字段作出解释以找到操作数] • *程序转移时需提供转移地址,这跟提供操作数 地址在方法上没有本质区别,因此也归入寻址 方式的范畴
公 一个指令系统能够提供哪些寻址方式,能否为编 制程序提供方便,这是指令系统设计的关键。 需要说明的是,在不同的计算机系统中,寻址方 式的名称和分类并不统一,但基本可以归结为以 下几种方式或它们的变型或组合:
• 一个指令系统能够提供哪些寻址方式,能否为编 制程序提供方便,这是指令系统设计的关键。 • 需要说明的是,在不同的计算机系统中,寻址方 式的名称和分类并不统一,但基本可以归结为以 下几种方式或它们的变型或组合:
公 寻址方式的名称和分类 立即寻址(立即数寻例如,Z80系统: 址) ·立即寻址;直接寻址 寄存器寻址 立即扩展寻址;零页 寻址 直接寻址 ·隐含寻址;相对寻址 寄存器寻址;变址寻 间接寻址 址 ·变址寻址 寄存器间接寻址;位 寻址
• 立即寻址(立即数寻 址) • 寄存器寻址 • 直接寻址 • 间接寻址 • 变址寻址 例如,Z80系统: • 立即寻址 ;直接寻址 • 立即扩展寻址;零页 寻址 • 隐含寻址;相对寻址 • 寄存器寻址;变址寻 址 • 寄存器间接寻址;位 寻址 寻址方式的名称和分类
公 两类寻址方式 数据的寻址方式 转移地址的寻址方式 (我们重点讨论数据的寻址方式)
• 两类寻址方式 数据的寻址方式 转移地址的寻址方式 (我们重点讨论数据的寻址方式)
公 2.数据的寻址方式 (1)立即寻址( mmediate addressing) 指令中直接给出操作数,操作数紧跟在操作码之 后,作为指令的一部分存放在代码段里,在取出 指令的同时也就取出了操作数,立即有操作数可 用,所以称之为立即寻址
2. 数据的寻址方式 (1) 立即寻址(Immediate addressing) 指令中直接给出操作数,操作数紧跟在操作码之 后,作为指令的一部分存放在代码段里,在取出 指令的同时也就取出了操作数,立即有操作数可 用,所以称之为立即寻址
公 目的源 example MOV AL 80H 存储器 低地址高地址 MOV AX, 3064H 代 oP码 ADD AL, 20H 段 64 ADD AX.1090H: 30
MOV AL, 80H ; 存储器 低地址 高地址 MOV AX, 3064H ; 代 码 ADD AL, 20H ; 段 ADD AX, 1090H; OP 6 4 3 0 目的源 example
公 立即数可以为8位,也可以为16位。如果是16位 数,则“高位字节存放在高地址中,低位字节存放 在低地址中。” 立即寻址方式常用于给寄存器赋值,并且只能用 于源操作数,而不能用于目的操作数
• 立即数可以为8位,也可以为16位。如果是16位 数,则“高位字节存放在高地址中,低位字节存放 在低地址中。” • 立即寻址方式常用于给寄存器赋值,并且只能用 于源操作数,而不能用于目的操作数
公 下述各条指令源操作数的寻址方式也都是立即寻 址,但这些指令都是错误的: MOV AL,256;256=100H,超过了AL能存放的数的范围 MOV AX,-32769;-32769超过了AX能存放的带符号数补码) 范围 MOV100H,AL;立即数不能作为目的操作数 DEC 20 单操作数指令不能使用立即数 MOV DS,1234H;源操作数是立即数,则目的操作数就不 能是段寄存器
• 下述各条指令源操作数的寻址方式也都是立即寻 址,但这些指令都是错误的: MOV AL, 256 ; 256=100H,超过了AL能存放的数的范围 MOV AX, -32769 ; -32769超过了AX能存放的带符号数(补码) 范围 MOV 100H, AL ; 立即数不能作为目的操作数 DEC 20 ; 单操作数指令不能使用立即数 MOV DS, 1234H ; 源操作数是立即数,则目的操作数就不 能是段寄存器