[计算机软件及应用]计算机接口技术第3章1last.pptVIP

  • 10
  • 0
  • 约8.63千字
  • 约 50页
  • 2018-03-09 发布于浙江
  • 举报

[计算机软件及应用]计算机接口技术第3章1last.ppt

[计算机软件及应用]计算机接口技术第3章1last

第3章 8088/8086指令系统 3.1 概述 一、指令与指令系统 指令: 控制计算机完成某种操作的命令。 指令系统: 是指CPU能完成的所有指令的集合。 指令系统是在CPU设计时就确定了的,所以对不同的CPU,其指令系统中所包含的具体指令是各不相同的。但8088/8086CPU的指令系统是完全一样的。 8088/8086 的指令系统可分为6大类 (1)数据传送类指令; (2)算术运算类指令; (3)逻辑运算和移位指令; (4)字符串操作指令; (5)控制转移类指令; (6)处理器控制指令 二、指令格式 指令中应包含的信息: 指令格式: 操作码 [操作数], [操作数] 三、指令中的操作数 数据本身 立即数 数据存放的地址 ① 操作数在指令中直接给出,称立即数操作数 MOV AL , 9 ◆立即数即是常数。 ◆立即数可以是字节、字。 ◆立即数分无符号数和有符号数,必须在其取值范围内,不能产生溢出。 ◆只能用于源操作数,不能用于目的操作数。 如:MOV 12H , AL (语法错误) ② 操作数在寄存器中,称寄存器操作数,指令中给出寄存器名。 ◆8个通用寄存器: AX、BX、CX、DX、SI、DI、SP、BP 4个段寄存器:CS、DS、ES、SS ◆通用寄存器:存放参加运算或传送操作的操作数。 AX、BX、CX、DX既可作4个16位的寄存器,也可作8个8位的寄存器,AH、AL、BH、BL、CH、CL、DH、DL 。 ◆段寄存器:存放当前操作数的段基地址。 ◆不允许用一条指令将立即数传送到段寄存器。 ③ 操作数在内存单元中,称存储器操作数或内存操作数,指令中给出该内存单元的有效地址。用[ ]表示存储器操作数 MOV AL , [ 2000H ] ◆可以为字节、字或双字,分别存放在1个、2个或4个存储单元中。 ◆不允许从存储器到存储器的操作。 ◆要寻址存储单元,需知道其PA。 段基址由操作数所在的默认段寄存器提供, 偏移地址由指令给出(寻址方式)。 例:MOV AX,[1200H] MOV AL,[1200H] 四、指令的执行速度 指令的执行时间包括取指令、取操作数、执行指令、传送结果。 对不同的操作数,指令执行的时间不同: 存储器 立即数 寄存器 例 mov AL , BL 快 mov AL , 0 慢 mov AL , [ BX ] 3.2 8086的寻址方式 概念:寻找操作数所在地址的方法,一般针对源操作数。 两种类型: ①寻找操作数地址。 ②寻找要执行的下一条指令的地址,即程序的地址,主要在程序转移或过程调用时用来寻找目的地址或入口地址。 操作数的偏移地址可用符号地址表示 如:MOV BX,[OK] 设OK=2000H,(DS)=4000H (42000H)=29H,(42001H)=79H 则EA=2000H,PA=42000H 执行后,(BX)=7929H   例: MOV AX , [ BP ] 若 ( SS ) = 4000H (DS) = 6000H (BP) = 3000H 则内存操作数的物理地址为: PA = ( SS )×10H + ( BP ) = 43000H 指令执行后 (AX) = (43000H) = 0102H 注意: 指令中不允许同时出现两个基址寄存器或两个变址寄存器。 如:MOV AX,[BX] [BP] (×) MOV AX,[SI] [DI] (×) 注意: 指令中不允许同时出现两个基址寄存器或两个变址寄存器。 如:MOV AX,DATA[BX] [BP] (×) MOV AX,[SI] [DI] DATA (×) 习题 设有关寄存器和存储单元内容为: (DS)=4000H,(BX)=1000H,(SI)=0050H (42500H)=11H,(42

文档评论(0)

1亿VIP精品文档

相关文档