指令与指令系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有效地址EA=偏移(Offset)地址(直接寻址/寄存器间址表示) 物理地址PA=SA*16+EA 2000:3456H~2200:1456H?
Î存放代码、数据(默认Hex数制)
2000:0100 A1 00 80 MOV AX,[8000H ];
2000:0103 05 34 12 ADD AX,1234H
A1 34 12
MOV AX,[1234H]
8B 04H
MOV AX,[SI]
00 C8H ADD AL,CL
8B 8C 00 10H MOV AX,[SI+1000H] 00 C1H ADD CL,AL
8B 56 05H
MOV DX,[BP+5]
81 C3 00 10H ADD BX,1000H
8B 36 34 12 MOV CX, [1234H]
微机系统与接口
东南大学 15
8086/8088指令—操作数(Operands)
操作数:直接/间接 几种存放地点: ¾ 立即数:操作数直接包含在指令当中 例:MOV AL,50H ¾ 寄存器操作数:操作数存放在寄存器中 例:INC AL ¾ 内存操作数:操作数存放在内存单元中 例:MOV AL,[2000H] ¾ I/O操作数:操作数来自I/O端口 例:IN AL,28H 确定操作数(操作数地址)的方式Î寻址方式
微机系统与接口
东南大学 5
8086指令运行环境--CPU执行某种规定操作

AH AL
BH BL 用
CH CL

DH DL

SP
BP

DI
SI ALU数据总线(16位)
运算寄存器
ALU 标志寄存器
微机系统与接口
AX BX CX DX 段寄存器
地址总线 20位

数据总线
8088:8位
CS
8086:16位
3A 74 02H
CMP DH,[SI+2] 3A 70 05H DH,[SI+BX+5]
微机系统与接口
东南大学 14
8086/8088指令—操作数(Operands)
操 源操作数: 值或存在何处 (Oprd1,Oprd2)
作 目标操作数:结果送往何处; (Oprd1)

或转移控制指令JMP/CALL/INT目标地址
微机系统与接口
东南大学 10
8086/8088指令格式与编码
前缀 操作码 寻址R/M SIB存储 偏移量 立即数
8086/8088指令格式与编码(例)
ADD 加法:寄存器/存储器ÍÎ存储器/寄存器
P414
立即数Î寄存器/存储器
立即数Î累加器
REG字段和MOD=11时R/M字段 (寄存器寻址)
R/M=000 AL(W=0) AX(W=1) 100
MOV AX,[SI]; MOV BL有,[效DI]地;址(寄E存A器=间?接寻址)
MOV CH,[BX]; MOV D默X,认[B段P] 寄存器=?
微机系统与接口
东南大学 19
寻址:物理地址获取
存储器访问:单元/变量物理地址PA
逻辑地址: 段基地址SA+偏移地址EA(Effective Addr)两部分 书面表示 SA:EAÆ 1000:2000H, DS:2000H
¾8086指令操作数的个数情况 无操作数指令,例:空操作NOP,等待指令 WAIT Æ系统操作指令:STD,CLD,STC,CLC,CLI,STI (目标?) 单操作数指令,例:加1指令 INC AX 双操作数指令,例:减法指令 SUB AL,BL
Æ源操作数:AL,BL; 目的操作数:前者(AL) Æ默认操作数: DIV DL 源:AX,目标:DL
(操作码:必备;操作数:0,1或2个,8位或16位)
¾ 8086/8088采用变长编码格式,属于CISC
字段1(低)字段2 字段3
字段4 字段5 字段6(高)
Prefix
OP Code Mode r/m s-i-b disp Imd#
1~4字节 1~2字节 1字节 1字节 0,1,2,4 0,1,2,4
2.寄存器寻址(Register Addressing)
MOV DS,AX; MOV CX,BX;MOV SI,DX
3.直接寻址(Direct Addressing)
MOV AX,[2000H ] ; MOV A问L,BU题FFER(内存);
? 4.寄存器间址 (Register物In理di地rec址t A=?ddressing)
8F00:200A FE 06 50 40 INC BYTE PTR[4050H];B
8F00:200E FF 06 50 40 INC WORD PTR[4050H];W 8F00:2012 BB 50 40 MOVBX,4050H ;寄存器
8F00:2015 FE 07
INC BYTE PTR[BX]
执行程序Æ指令序列
(CISC—Complex Instruction Set Computer)
变长编码,种类多,代码利用率低,可人工优化设计
例: 80X86/Pentium 变长字节 1-16字节,向下兼容,
8086指令向下兼容8080/8085指令,共92种基本指令
微机系统与接口
东南大学 2
指令与指令系统
指令(Instructions) 指示CPU执行某种规定操作的命令
指令集或指令系统 (Instruction Set)
某一CPU所能执行的全部指令的集合 Î定义了程 序员能使硬件完成的基本操作(CPU基本性能)。
机器码(指令) 汇编语言/助记符(Mnemonic Symbol)
F8H=CLC指令 05H 00H 10H B9H 25H 00H 01H C8H
001 (BX)+(DI)
100 (SI)
010 (BP)+(SI)
101 (DI)
011 (BP)+( DI)
P432 附表四
110 MOD=00 直接寻址 01 (BP)+8disp 111 (BX)
微机系统与接口
东南大学 13
8086/8088指令格式与编码
前前缀缀 操操作作码码 寻寻址址RR//MMSSIIBB存存储储 偏偏移移量量 立立即即数数
¾汇编指令:助记符形式的指令
如:MOV BX,DX; ADD AX,2000H
语法结构--动作+对象
指令=指令操作码+操作数
¾ 指令操作码→动作功能:做什么?MPU设计者定义 ¾ 指令操作数→源/目标:针对什么操作?程序员决定 ¾ 指令格式:指令中对操作码、操作数的编码方式
Î电路译码,微代码生成,微控制器执行
2000:0106 A3 00 80 MOV [8000H],AX
2000:0109 BB 00 80 MOV BX, 8000H;
2000:010C 8B 07
MOV AX,[BX] ;
2000:010E 2E
;段超越前缀
2000:010F FE 06 00 20 INC BYTE PTR CS:[2000H]
非存储器寻址 存储器寻址
立即数寻址
寄存器寻址
隐含(默认)寻址 *
I/O寻址
粗分4种
直接寻址
细分7种
间接寻址 *
基址寻址
变址寻址
基址+变址寻址
微机系统与接口
东南大学 18
3
指令寻址方式(一)
1. 立即寻址(Immediate Addressing)
MOV AL,100; MOV CX,2000H;( MOV DS,200H ╳)
汇编语言(与机器有关)
汇编器(Assembler)
待装配的BIN指令代码 (P434指令表)
链接器(Linker)
人工汇编
可执行BIN指令代码(指令序列)
动态调试器(DEBUG)
微机系统与接口(软件)
SOFTWARE—FIRMWARE(固件) 东南大学
4
汇编语言指令与构成
¾机器指令:指令的二进制代码形式。如: 050020H ÍÎMOV AX,2000H
DS
SS
指令指针
ES
IP 内部暂存器
总线 控 制逻辑 外部
总线
EU 控 制系统
执行单元 EU
指令队列
Q总线 (8位)
1 23 4 5 6
8088
总线接口 单元BIU
8086
东南大学 6
1
8086/8088指令格式与编码
¾ 8086指令的书写格式
教材P430机器码
操作码 [[操作数1], [操作数2]]
微机系统与接口
东南大学 16
8086/8088操作数寻址环境
8086/8088微处理器操作数寻址环境
地址总线 AB
CPU
控制器 运算器 寄存器
存储器
输 入
00000H

:

FFFFFH
I/O接口
输 出
0000H

:

FFFFH
数据总线 DB
控制总线 CB
微机系统与接口
东南大学 17
8086/8088操作数寻址方式分类
8F00:2017 FF 07
前缀
操作码 寻址R/M SIB存储 偏移量 立即数
操作码 指定操作类型(操作数类型、寄存器、方向)
典型操作助记符 MOV,ADD,SUB,CMP,JMP,CALL, INT
r/m=寄存器/存储器; s-i-b=Scale(2)Index(3)Base(3)
Disp=偏移量 前缀:锁定/重复, 段、操作码、地址范围超越
81H C3H 00H 10H ADD BX,1000H 微机系统与接口
东南大学 12
2
8086/8088指令格式与编码
前缀 操作码 寻址R/M SIB存储 偏移量 立即数
MOD≠11 存储器寻址
R/M=000 : MOD=00 (BX)+(SI) =01 (BX)+(SI) +8disp =10 +16Disp
微机系统与接口
东南大学 20
存储器数据访问
8F00:2000 A0 50 40 MOV AL,[4050H] 8F00:2003 86 2A 51 40 MOV AH,[4051H] 8F00:2007 A1 50 40 MOV AX,[4050H] 8F00:200A ??????? INC [4050H] 字节B还是字W?
第二章 微型计算机指令系统
ÎIA-16微机系统结构-工作原理 8086/8088微处理器周期性地执行指令 时钟/T周期—指令周期—总线周期(内部操作/总线操作) 指令---微机算术、逻辑和控制功能的实现基础
重点:信息交换方法(数据流),程序流控制
*1、目标地址传送
*寻址方式ห้องสมุดไป่ตู้
2、标志传送
3、转移控制(转移指令、过程调用、中断)
W=0 字节操作 W=1 字操作指令
s:w=01 16 位立即数 s:w=11字节带符号扩展成16位
微机系统与接口
东南大学 9
寻址方式字
Mod=00 存储器寻址, Disp=0 (R/M=110 除外) Mod=01 存储器寻址, Disp=1 byte Mod=10 存储器寻址, Disp=2 bytes Mod=11 寄存器寻址, 由REG和R/M决定
AH SP
001 CL
CX
101
CH BP
010 DL
DX
110
DH SI
011 BL
BX
微机系统与接口
111
BH DI
东南大学 11
05 00 10H 01H C8H 01H C1H 01H D9H
ADD AX,1000H ADD AX, CX 00H C8H ADD AL,CL ADD CX,AX 00H C1H ADD CL,AL ADD CX,BX
微机系统与接口
东南大学 7
8086/8088指令格式与编码
前缀 操作码 寻址R/M SIB存储 偏移量 立即数
前缀:锁定/重复, 段、操作码、地址范围超越
F0H –Lock; F2—REPNE; F3—REP/REPE
2EH—CS, 36H—SS, 3EH—DS, 26H—ES
66H—操作码范围
例:MOV CS:[2000H],AL
F5H=CMC F9H=STC ADD AX,1000H MOV CX,0025H ADD AX, CX
指令 的 表示
微机系统与接口
东南大学 3
指令(代码)的获取—机器汇编
程序设计 编辑器(Editor)
IDE(集成开发环境) 命令行(CMD/脚本语言)
高级语言程序(与机器无关)
编译器(Compiler)
67H—地址范围 微机系统与接口
REP MOVSB
东南大学 8
8086/8088指令格式与编码
前缀 操作码 寻址R/M SIB存储 偏移量 立即数
8086/8088指令格式与编码
前缀 操作码 寻址R/M SIB存储 偏移量 立即数
操作码: 典型 X X X X X X D/S/V W
d=1 到寄存器 d=0 源自寄存器 v=1 移位计数 1,=0 计数CL
微机系统与接口
东南大学 1
RISC/CISC--两种指令体系计算机
¾ 精简指令计算机
(RISC—Reduced Instruction Set Computer)
APARC, PowerPC, Alpha,ARM 指令简单,复杂功
能代码存储器利用率低 特点:指令种类很少,组
合使用, 依赖:编译器
¾ 复杂指令计算机
相关文档
最新文档