第四章 8086指令系统(改)PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

× MOV AX, BL
; 字长不同
× MOV ES: AX, DX ; 寄存器与段无关
指令操作例:MOV SI,AX ; SI (AX) 指令执行前:(AX)=2233H 指令执行后:(AX)=2233H,(SI)=2233H
AX
2233H
SI
四、 寄存器间接寻址
操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存器
高级语言 面向问题或面向过程的独立于具体机器的语言。
特点:语言规范,可移植性强,内部操作过程比较 复杂,执行时间长。
二、汇编语言指令的构成
每条指令由操作码和操作数两部分组成
目的

说明要执行的 操作对象,可以 是什么操作 有0个、1个或2个
指令举例:
MOV AX , BX
操作码 操作数 ADD AX,[SI+6] INC [BX] HLT
+
8位 16位
位移量
(DI)
(BX) (BP)
EA = (SI)
(DI)
以BX、SI、DI间接寻址,默 认的段寄存器为DS ;以 BP 间接寻址时,默认的段寄存
例: MOV AX, [BX] 器为SS 。
MOV CL, [DI]
错误例 :
× MOV AX, [DX]
× MOV CL, [AX]
寄存器间接寻址过程示意图
MOV [BX],CL ( 设BX原值为2010H)
寻找操作数的地址
寻找要执行的下一条指令的地址
在8086指令系统中,说明操作数所在地址
的寻址方式可分为8种:
①立即寻址
⑤ 寄存器相对寻址
②直接寻址
⑥基址-变址寻址
③寄存器寻址
⑦基址-变址相对寻址
④寄存器间接寻址 ⑧隐含寻址
一、立即寻址
操作数(为一常数)直接由指令给出 (此操作数称为立即数)
三、汇编语言指令格式
[标号:] 助记符[操作数,操作数][;注释] 标号:给存放指令的存储单元地址所起的名称。 标号的组成字符:字母A~Z;数字0~9;特殊字符:?·﹩@ — ●数字不能用作第一个字符 ●标号最长为31个字符 ●圆点只能做第一个字符 ●标号后必须加“:” 助记符:系统提供的有关指令的助记符 操作数:是指令执行的对象,可根据指令功能可不带,可带1个
立即寻址只能用于源操作数 例:
MOV AX, 1C8FH MOV BL,43H
错误例:
× MOV 2A00H, AX ; 错误!
指令操作例:MOV AX,3102H ; AX 执行后,(AH) = 31H,(AL) = 02H
3102H
立即寻址指令在存 储器中的存放形式
AX AH AL
存储器
操作码
Bit 19
43 0
DS(BX、SI、DI默认段) 0000
ES
SS(BP的默认段)
0000 0000
+)BX:
CS
0000
0010 0000 0001 0000
20 位 物 理 地 址
Memory
… … ××
五、 寄存器相对寻址
EA=间址寄存器的内容加上一个8/16位的位移量
(BX)
EA =
(BP) (SI)
存储器
指令执行后:(AX) = ABCDH
AH AL
MOV操作码 代
02H

31H

..
23102H
CDH ABH
数 据 段
三、 寄存器寻址
操作数放在某个寄存器中
源操作数与目的操作数字长要相同
寄存器寻址与段地址无关
例:
MOV AX, BX
MOV [3F00H], AX
MOV CL, AL
错误例:
MOV AX , [2A00H] MOV DX , ES: [2A00H] MOV SI , TABLE_PTR
指令操作例:MOV AX,[3102H]
AL (3102H) , AH (3103H)
如果(DS)=2000H, (23102H) = CDH, (23103H) = ABH
则操作数的物理地址为: 20000H+3102H = 23102H
用汇编语言编写的源程序在输入计算机后,需要将 其翻译成目标程序,计算机才能执行相应指令,这个 翻译过程称为汇编,完成汇编任务的程序称为汇编程序。 汇编程序 (1)将源程序翻译成目标程序 的作用: (2)提示错误
(3)自动分配各类存储区域 (4 )自动进行各种进制到二进制的转换 (5)自动进行字符到ASCII码的转换 (6)计算表达式的值

低8位
即 数
高8位
代 码 段
MOV操作码

02H


31H
二、 直接寻址
指令中直接给出操作数的16位偏移地址 偏移地址也称为有效地址(EA, Effective Address)
默认的段寄存器为DS,但也可以显式地指定其他 段寄存器——称为段超越前缀 偏移地址也可用符号地址来表示,如ADDR、VAR 例:
• 机器语言 用机器码表示,例如B8H、C3H。
• 汇编语言 汇编语言是一种面向CPU指令系统的程序设计语言, 它采用指令系统的助记符来表示操作码和操作数, 用符号地址表示操作数地址,因而易记、易读、易 修改,给编程带来很大方便。

用指令助记符表示机器码,例如对应于机器码B8H、 C3H的助记符为MOV AX,BX 。 CPU不同,机器码不同,助记符也不同。
第四章 8086指令系统
4.1 汇编语言和汇编程序的基本概念 4.2 8086寻址方式 4.3 8086指令系统
2020/7/17
1
整体 概述
一 请在这里输入您的主要叙述内容

请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
§4.1 汇编语言及汇编程序的基本概念
一、计算机语言的分类
或2个,两个操作数中间用“,”分开。 注释:可有可无,为方便阅读程序而加的说明,以“;”开始。
四、操作数的类型
1、立即数(常数)
取值范围如下表:
8位 无符号数 00H-FFH(0-255)
16位 0000H-FFFFH(0-65535)
带符号数 80H-7FH(-128~127) 8000H-7FFFH(-32768~32767)
2、寄存器操作数
放在8个通用寄存器或4个段寄存器中的操作数
AX
16 位
AH
AL16 位BX NhomakorabeaBH
BL
16 位
CX
CH
CL
16 位
DX
DH
DL
3、存储器操作数
存储器操作数
类型 存储单元个数
字节
1

2
双字
4
存储单元的物理地址 = 段基地址*16 + 偏移地址
4.2 8086的寻址方式
寻址方式——寻找操作数的方法
相关文档
最新文档