南理工 第2章 8088指令系统(教学版)

合集下载

第二章 8086 8088指令系统 微型计算机原理及应用课件

第二章 8086 8088指令系统  微型计算机原理及应用课件

20064H
SP:0064H 21
MOV AX, 1234H PUSH AX (1) SP-1SP AH[SP] (2) SP-1SP AL[SP] 先减指针, 再压数据, 先高后低 POP BX (1) [SP]BL SP+1SP
(2) [SP]BH SP+1SP
SP SP
SP 先出数据, 再加指针,先低后高
18
2.2 8086/8088指令系统
一、数据传送指令 1. 通用数据传送指令 1) 所有的MOV传送指令都不能改变标志 2) CS,IP不能作为目的操作数 MOV CS, AX 3) 两个段寄存器间不能直接传送 MOV SS, DS 4) 立即数不能直接传送给段寄存器 MOV DS,2000H 5) 内存单元间不能直接传送 MOV [SI], [2000H] 6) 立即数不能作为目的操作数 MOV 1000H, AX
量。在执行查表指令时,
…… ……
将BX与AL中的内容相加, 把得到的值作为地址,
…… ……
BX+AL 20H AL
…… ……
然后将此地址所对应单
…… ……
元中的值取到AL中去。 DS:[BX+AL]AL29
执行该指令前,应该先建立一张表格,该表的最 大容量为256字节。
例: 将十进制数字0~9变换成七段显示码的译码表
AX: 6050H 23000H 10H 23001H 20H
SI: 0002H 23002H 30H
23003H 40H
AX: 7856H 23004H 50H
AX: 4B3BH 23005H 60H 23006H 70H
AL: DEH 23007H 80H
MOV AX, [BX+SI+4H] AX: F0DEH

【电光】南理工《微机原理及接口技术》A卷(附答案)

【电光】南理工《微机原理及接口技术》A卷(附答案)

南京理工大学课程考试试卷(学生考试用)
第1页共 2 页
第 2 页共 2 页
D 7
D 6D 5D 4D 3D 2D 1D 0
C 口低4位控制1-输入0-输出
B 口控制1-输入0-输出B 组工作方式0-方式01-方式1
C 口高4位控制1-输入0-输出
A 口控制1-输入
0-输出
A 组工作方式00-方式0
01-方式1
1x -方式21 控制字标志
D 7
D 6D 5D 4D 3D 2D 1D 0
1-置位0-复位
000-PC 0置位/复位引脚编码
无意义
0 控制字标志
001-PC 1……111-PC 7
计数器
读/写格式
工作方式
数制
D 7D 6D 5D 4D 3D 2
D 1D 0
00 选择计数器001 选择计数器110 选择计数器211 非法选择
00 计数器锁存命令01 只读/写低8位10 只读/写高8位11 先读/写低8位,再读/写高8位
0: 二进制1: BCD
000 方式0001 方式1x10 方式2x11 方式3100 方式4101 方式5
ICW1
ICW2
ICW3(主片)
ICW3(从片)
ICW4
南京理工大学课程考试试卷答案及评分标准。

80X86汇编语言程序设计 第二章⑧.8086 8088指令系统(五)转移指令

80X86汇编语言程序设计 第二章⑧.8086 8088指令系统(五)转移指令

80X86汇编语言程序设计第二章8086/8088寻址方式和指令系统-(五)转移指令1.无条件转移指令(没有条件碰到就转)(1)无条件段内直接转移指令格式:JMP 标号这条指令使控制无条件地转移到标号地址处。

例如:NEXT:MOV AX,CX……JMP NEXT ;转到NEXT处……JMP OVER ;转到OVER处……OVER: MOV AX,1无条件段内直接转移指令格式如下:由操作码和地址差值构成。

指令的操作码| 地址差地址差:是程序中该无条件转移指令的下一条指令的开始地址到转移目标地址(标号所指定的开始地址)的差值。

因为,在执行无条件段内转移指令时,实际的动作是把指令中的地址差加到指令指针IP上,使IP之内容为目标地址,从而达到转移的目的。

段内无条件直接转移指令中的地址差可用一个字节表示,也可用一个字表示。

如果地址差只要用一个字节表示,就称为短转移;如果地址差要用一个字表示,就称为近转移。

段内短跳转:(-128~127)JMP SHORT QUEST段内近跳转:(64KB)JMP NEAR PTR PROG(2)无条件段内间接转移指令格式:JMP OPRD这条指令使控制无条件地址转移到由操作数OPRD的内容给定的目标地址处。

操作数OPRD可以是通用寄存器,也可以是字存储单元。

(3)无条件段间直接转移指令格式:JMP FAR PTR 标号这条指令使控制无条件地转移到标号所对应的地址处。

标号前的符号“FAR PTR”向汇编程序说明这是段间转移。

例如:JMP FAR PTR EXITEXIT是定义在另一个代码段中的标号。

无条件段间直接转移指令的具体动作时把指令中包含的目标地址的段值和偏移分别置入CS和IP。

这种在指令中直接包含转移目标地址的转移方式称为绝对转移。

(4)无条件段间间接转移指令格式:JMP OPRD这条指令使控制无条件地转移到由操作数OPRD的内容给定的目标地址处。

操作数OPRD必须是双字存储单元。

微机原理(第二章 指令系统)

微机原理(第二章 指令系统)

2.3 数据传送指令
数据传送类分为四类: 1. 通用传送: ①基本传送指令 MOV ②堆栈操作 ③交换指令 PUSH XCHG POP
2. 累加器专用传送: ①输入/ 输出 ②换码 3. 地址传送 4. 标志传送
2012-8-9
IN XLAT LEA LAHF
OUT
LDS SAHF
LES PUSHF POPF
19
7000 0
2000 1500 73500
CS段
2012-8-9
④ 变址寻址(相对寻址) 变址寻址适用于对一维数组的元素进行操作 ⑴无比例因子 EA=变址寄存器+位移量 16位寻址:SI,DI为基址寄存器, DS为默认段寄存器
32位寻址:除ESP外其余7个32位通用寄存器均可 作为变址寄存器,EBP默认SS为段寄存器,其余均 默认段寄存器为DS
执行后 AL=35H
完成什么功能?
2012-8-9
27
2. 堆栈操作指令 •PUSH 源操作数 进栈指令,先调整堆栈指针(-2), 再把源操作数压栈 PUSH AX PUSH [SI+5] POP 目标操作数 出栈指令,先将栈顶2字节送目标操作数,再调整 堆栈指针(+2) POP [SI+5] POP AX 注: 只能有16位通用寄存器进栈/出栈指令 •PUSHF POPF 16位标志寄存器进栈/出栈指令
2012-8-9 31
2. 减法指令 •SUB 目标操作数, 源操作数 目标操作数-源操作数——>目标操作数 •SBB 目标操作数, 源操作数 目标操作数-源操作数-CF——>目标操作数 •DEC 目标操作数 目标操作数-1——>目标操作数 •NEG 目标操作数 0-目标操作数——>目标操作数 影响A,C,O,P,S,Z 6个标志位 •CMP 目标操作数, 源操作数 只影响标志位,不改变目标操作数

第二章 80868088寻址方式和指令系统

第二章 80868088寻址方式和指令系统

(5)奇偶标志PF
用于反映运算结果中“1”的个数。如果“1”的个数为偶数,则OF被置1,否则OF被清0。
(6)辅助进位标志AF
在字节操作时,如发生低半字节向高半字节进位或借位;在字操作时,如发生低字节向高字 节进位或借位,则辅助进位标志AF被置1,否则AF被清0。
②状态控制标志
(1)方向标志DF
方向标志决定着串操作指令执行时,有关指针寄存器调整方向。 当DF为1时,串操作指令按减方式改变有关的存储器指针值, 当DF为0时,串操作指令按加方式 改变有关的存储器指针值。
其中:存储单元的物理地址是12345H, 标出的:两个重叠段的段值分别是:1002H和1233H, 在对应段内的偏移分别是2325H和0015H。
采用段值和偏移构成逻辑地址后,段值由段寄存器给出,偏移可由指令指针IP、堆栈指针SP 和其他可作为存储器指针使用的寄存器(SI、DI、BX和BP)给出,偏移还可直接用16位数给 出。
图中指令存放在代码段中,OP表示该指令的操作码部分 再例如: MOV AL,5 则指令执行后,(AL)=05H
MOV BX,3064H 则指令执行后, (BX)=3064H
2、寄存器寻址方式
操作数在CPU内部的寄存器中,指令指定寄存器号。
对于16位操作数数,寄存器可以是:
AX、BX、CX、DX、SI、DI、SP和BP等;
指令中不使用物理地址,而是使用逻辑地址,由总线接口单元BIU按需要根据段值和偏移自动 形成20位物理址。
3、段寄存器的引用
由于8086/8088CPU有四个段寄存器,可保存四个段值。所以可同时使用四个段值,但这四个 段有所分工。
在取指令的时候,自动引用代码段寄存器CS,再加上由IP所给出的16位偏移,得到要取指令 的物理地址。

第2章 16位微处理器

第2章 16位微处理器

表2.2 段寄存器使用时的一些基本约定
思考题
下列CPU中属于准16位的是 A.8080 B.8086 C.8088 。 D.80386SX A.ALU,EU,BIU C.寄存器组,ALU 答案: C
思考题
8086CPU的内部结构由 组成。 B.ALU,BIU,地址加法器 D.EU,BIU
答案:D
思考题

例题
设(CS)=4232H ,(IP)=0066H,试计算物理地址。
思考题
已知物理地址为FFFF0H,且段内偏移量为 A000H,若对应的段基址放在DS中,则DS 应为 。 A.5FFFH B.F5FFH C.5FFF0H D.F5FF0H 答案:B
注意
一个存储单元的物理地址是唯一的,而逻辑 地址是可以不唯一的。 例如: 1200H:0345H12345H 1100H:1345H12345H
第2章 16位微处理器8086/8088
2.1.0 简介 2.1.1 8086/8088CPU的内部结构 2.1.2 8086/8088CPU的总线周期 2.1.3 8086/8088系统的工作模式 2.1.4 8086/8088的操作和时序 作业

2.1.0 简介
1978年,Intel推出了8086微处理器,一年多以后推出了 8088,这两种都是16位微处理器。 时钟频率为5MHz~10MHz,最快的指令执行时间为400ns。 8086有16根数据线:可以处理8位或16位数据。 有20根地址线:可寻址即1MB(220)的存储单元和 64KB(216)的I/O端口。 8088:准16位微处理器 8088的内部寄存器、运算器以及内部数据总线都是按16位设 计的,但外部数据总线只有8条,因此执行相同的程序, 8088要比8086有较多的外部存取操作而执行得较慢。 设计的主要目的:为了与Intel原有的8位外围接口芯片直接 兼容。

南京理工系统辨识第二章2讲义(NJUST)

南京理工系统辨识第二章2讲义(NJUST)
0
————(315)
辨识系统脉冲响应的相关分析法(2)
若{u(t)}和{z(t)}是弱各态历经的,由相关函数定
义,输入的自相关函数和输入输出的互相关函数为:
∫ Ruu


λ)
=
lim
T →∞
1 T
T u(t − λ)u(t −τ )dt —————————(4)
0
∫ Ruz

)
=
lim
T →∞
1 T
U0——系统达到稳态时的输入值
Y0——系统达到稳态时的输出值
注意:在计算互相关函数Ruy(τ)时,
需在实际测量的输出y(k)中减去Y0。
24
4
∑ ∑ RuY (n) =
1 NP
N P −1
Y (k)u(k − n) =
k =0
1 NP
N P −1
[Y0
k =0
+
y(k)]u(k − n)
∑ ∑ =
u(t)关函数
在生产现场试验和测试,不可能对系统单纯地输入
一个伪随机二位式序列,只能在系统处于稳定状态时,
在原来正常的输入上面附加一个PRBS序列。
23
U0
线性系统
g(τ)
Y0
τ PRBS发生器 时延
Y(k) = Y0 + y(k)
× y(k)

Ruy (τ ) = Kgˆ(τ ) 用PBRS作为实验信号辨识系统
1 NP
N P −1
Y0u(k − n) +
k =0
1 NP
N P −1
y(k )u(k − n)
k =0
∵PRBS在一个周期内,逻辑1状态比逻辑0状态多1个

微机原理第02章(寻址方式和传送指令)

微机原理第02章(寻址方式和传送指令)

有效地址由基址寄存器( BX 或 BP )的内容加上 变址寄存器(SI或DI)的内容构成: 有效地址=BX/BP+SI/DI 段地址对应 BX基址寄存器默认是 DS,对应BP基 址寄存器默认是SS;可用段超越前缀改变
MOV AX, [BX+SI] MOV AX, [BX][SI]
;AX←DS:[BX+SI]
段内偏移量为适应各种数据结构的需要,可以有几个部分组 成,所以也把它称为有效地址EA。
寻址方式不同EA的构成不同。归纳EA可有多种情况构成: 直接寻址,寄存器间接寻址,寄存器相对寻址,
基址加变址寻址,相对址加变址寻址。
寻址方式——如何寻找内存操作数。 不同寻址方式实质上是构成它段内的偏移量的方法不同。
34H 12H
堆 栈 段
...
寄存器间接寻址方式 MOV [BP], AX
3 、用 SI、DI、BX 、BP作为间接寻址允许段跨越
指令中可以指定段跨越前缀来取得其他段中的数据。
例:MOV ES:[DI], AX MOV DX, DS:[BP] 这种寻址方法可以用于表格处理。
第2章 (五)寄存器相对寻址方式(Register relative addressing)或变 址寻址 (Index Addressing)
8位位移量 PA=16d ×(SS)+ (BP) + 16位位移量
例: MOV AX, COUNT [BP] 或MOV AX, [COUNT+BP] 或MOV AX, COUNT+[BP]
AH AL 48H 存储器 OP OP 40H 20H 操 作 码 位移量 COUNT
COUNT为16位位移量。 指令执行前: (SS)=5000H, (BP)=3000H, COUNT=2040H, (AX)=1234H

8088实验指导书.

8088实验指导书.

微机原理及应用实验指导书杨凌霄阎有运郭顺京张伟编著河南理工大学电气工程系2004.8、八、亠前言实验目的掌握微型计算机的结构组成和工作原理、微机存储系统的结构组成和工作原理,熟练掌握微型计算机的中断技术、典型接口芯片的硬件设计和初始化及工作程序的设计。

了解微型计算机的最新技术和发展。

为后续课程打下坚实的基础。

实验综述微机原理及接口技术是一门实践性很强的专业技能课,通过实验环节使学生掌握微型计算机与外设连接的有关技术,以及一些典型通用接口的工作原理、工作过程及应用方法,培养学生对接口电路分析和设计的能力,使学生能将微型计算机与通用或专用外设连接起来,构成完整的微机系统或计算机控制系统。

每次实验前,学生必须按照指导书要求进行不少于实验课时数的预习与准备。

实验结果必须经实验教师认可。

实验环境硬件条件:高档PC 机微机及接口实验系统装置软件条件:DOS 操作系统、Windows 操作系统。

任意一种编辑程序,如EDIT .EXE。

宏汇编程序MASM .EXE 。

连接程序LINK .EXE 。

调试程序DEBUG .EXE 。

集成操作软件:WMD86目录实验一系统认识实验 (1)实验二顺序程序设计 (6)实验三循环程序设计 (7)实验四分支程序设计 (8)实验五子程序设计 (9)实验六显示程序设计 (10)实验七中断特性及8259应用编程实验 (11)实验八8255并行接口应用实验 (16)实验九8253定时/计数器应用实验 (19)实验十8251串行接口应用实验 (22)实验十一双机通讯实验 (25)实验十二EPROM 扩展实验 (27)实验十三8255键盘及显示接口实验 (30)、实验目的掌握TDN86/88 教学系统的基本操作。

、实验设备TDN86/88 教学实验系统。

、实验内容及步骤实验内容:从3500H 内存单元开始建立0~15 共16 个数据实验源程序如下:STACK SEGMENT STACK ;8088 宏汇编程序DW 64 DUP(?) ;定义堆栈段STACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODESTART:MOV DI ,3500H ;程序开始设数据首址MOV CX ,0010H;字节数送入CX 中MOV AX ,0000HSAHFAl :MOV [DI] , AL ;写入一字节INC DI ;修改地址指针INC AX ;修改数据DAA ;十进制调整LOOP A1 ;未填完转移A2:JMP A2CODE ENDS ;代码段结束END START ;程序结束实验步骤:1使用串行通信电缆将实验系统与计算机(PC)微机相连。

第2章 80888086系统硬件结构

第2章   80888086系统硬件结构

OF DF IF TF SF ZF
AF
PF
CF
条件码标志:
OF SF ZF CF AF PF

控制标志:
方向标志
系统标志位:
IF 中断标志 TF 陷阱标志
溢出标志 DF 符号标志 零标志 进位标志 辅助进位标志 奇偶标志
第2章 8088/8086系统硬件结构
程 序 状 态 字 ( ) PSW
第2章 8088/8086系统硬件结构
第2章 8088/8086系统硬件结构
1、存储器地址的分段
•每个段的最大长度可达
64KB,段内地址是连续的、 线性增长的,允许单个逻辑 段在整个1MB存储空间内浮 动。
•可以有相连的段(如:C和D
段)、不相连的段(如:A和B 段)以及相互重叠的段(如:B 和C段)
第2章 8088/8086系统硬件结构
第2章 8088/8086系统硬件结构
2、段寄存器(CS、 DS、 SS、 ES、 FS、GS)
存放段地址,确定一个段的的起始地址. 用途各不相同:
代码段(CS):存放当前正在运行的程序 数据段(DS):存放当前运行程序所用的数据 ,或串处理指令
中的源操作数
堆栈段(SS):定义堆栈(后进先出)的所在区域 附加段(ES):附加的数据区,或串处理指令中的目的操作数
-)
79000H
2450H
即SP值为2450H.
第2章 8088/8086系统硬件结构
2.1.2 8088CPU的两大功能结构
8088CPU的两大功能结构为总线接口单元 BIU(BusInterfaceUnit)和指令执行单元 EU(ExecutionUnit),如图2.4所示。 U单元负责指令的执行,由算术逻辑单元ALU、标 志寄存器F、通用寄存器及EU控制器等组成,主要进 行16位的各种运算及有效地址的计算。EU不与计算机 系统总线(外部总线)相关,而从BIU中的指令队列取得

微机原理答案-南京理工大学

微机原理答案-南京理工大学

目录CH01 微型电脑概述 (1)CH02 8086/8088 指令系统 (6)CH03 汇编语言程序设计 (12)CH04 存储系统 (27)CH05 定时与计数 (31)CH06 输入输出控制 (35)CH01 微型电脑概述1.微型电脑由哪些部件组成?各部件的主要功能是什么?解答:微机系统微型电脑系统软件外围设备:打印机、键盘、CRT、磁盘控制器等微处理器〔CPU〕系统总线:AB、CB、DB〔功能:为CPU和其他部件之间提供数据、地址和控制信息的传输通道〕存储器:只读存储器〔ROM〕、随机存储器〔RAM〕〔功能:用来存储信息〕输入/输出〔I/O〕接口:串/并行接口等〔功能:使外部设备和微型机相连〕算术逻辑部件(ALU〕累加器、寄存器控制器操作系统〔OS〕系统实用程序:汇编、编译、编辑、调试程序等〔注:CPU的功能--①可以进行算术和逻辑运算;②可保存少量数据;③能对指令进行译码并执行规定的动作;④能和存储器、外设交换数据;⑤提供整修系统所需要的定时和控制;⑥可以响应其他部件发来的中断请示。

〕2.8086/8088 CPU 由哪两部分组成?它们的主要功能各是什么?是如何协调工作的?解答:微处理器〔CPU〕: 总线接口部件(BIU〕:负责与存储器、I/O端口传送数据执行部件〔EU〕:负责指令的执行协调工作过程:总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理:①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。

②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。

在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。

第2.2章:8088指令系统

第2.2章:8088指令系统

寄存器寻址指令
MOV AX,1234H MOV BX,AX
指令功能
;AX←1234H ;BX←AX
执行过程
寄存器寻址的功能
寄存器寻址的执行
1.3存储器寻址方式
指令中给出操作数的主存地址信息(偏移地址, 称之为有效地址EA),而段地址在默认的或 用段超越前缀指定的段寄存器中 8086/8088设计了多种存储器寻址方式 1、直接寻址 2、寄存器间接寻址 3、寄存器相对寻址(基址寻址、变址寻址) 4、基址变址寻址 5、相对基址变址寻址
16 位 DX DH DL
SI DI
BP
SP
只能存放字操作数
CS
DS ES SS
段寄存器存放 当前操作数的 段基地址
不允许将立即数传送到段寄存器

3、存储器操作数
类型 存储单元个数
字节 1
存储器操作数

双字
2
4
一般不允许两个操作数同时为存储器操作数
存储单元的物理地址 = 段基地址 + 偏移地址
直接寻址的执行
寄存器间接寻址方式

有效地址存放在基址寄存器BX、BP或变址寄 存器SI、DI中

默认的段地址:
EA是BX、SI、DI时,在DS段寄存器 EA是BP时,在SS段寄存器 可使用段超越前缀改变 MOV AX,[SI] ;AX←DS:[SI]
指令功能
执行过程
寄存器间接寻址的功能
寄存器间接寻址的执行
机器 语言
汇编语言
高级语言 工具
人可以使用不同层次的语言与计算机交互
指令比较
以下指令实现把表达式 3a - 2b + 1 的计算结果放到变量 a 中:

第二章 8086/8088 的指令系统

第二章 8086/8088 的指令系统

第二章 8086/8088的指令系统第一讲回 顾:8086/8088的内部结构和寄存器,地址分段的概念,8086/8088的工作过程。

本讲重点:有关寻址的概念;6种基本的寻址方式及有效地址的计算。

讲授内容:2.1 8086/8088寻址方式首先,简单讲述一下指令的一般格式:操作码操作数……操作数计算机中的指令由操作码字段和操作数字段组成。

操作码:指计算机所要执行的操作,或称为指出操作类型,是一种助记符。

操作数:指在指令执行操作的过程中所需要的操作数。

该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。

寻址方式就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。

8086/8088的基本寻址方式有六种。

1.立即寻址所提供的操作数直接包含在指令中。

它紧跟在操作码的后面,与操作码一起放在代码段区域中。

如图所示。

例如:MOV AX,3000H立即数可以是8位的,也可以是16位的。

若是16位的,则存储时低位在前,高位在后。

立即寻址主要用来给寄存器或存储器赋初值。

2.直接寻址操作数地址的16位偏移量直接包含在指令中。

它与操作码—起存放在代码段区域,操作数一般在数据段区域中,它的地址为数据段寄存器(DS)×16加上这16位地址偏移量。

如图2-2所示。

例如:MOV AX,DS:[2000H];图2-2(对DS来讲可以省略成MOV AX,[2000H],系统默认为数据段)8086/8088中允许段超越,即还允许操作数在以代码段、堆栈段或附加段为基准的区域中。

此时只要在指令中指明是段超越的,则16位地址偏移量可以与CS或SS或ES 相加,作为操作数的地址。

MOV AX,[2000H] ;数据段MOV BX,ES:[3000H] ;段超越,操作数在附加段即物理地址=(ES)*16+3000H3.寄存器寻址操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等。

指令系统讲课文档

指令系统讲课文档
指令执行后:(AL)=[83000H],(AH)=[83001H]
请注意:使用基址—变址方式时,不允许将两个基址寄存器或两个变址寄存器组合在一起寻址。
即指令中:
MOV AX,[BX][BP]
;错误!同时出现两个基址寄存器
MOV AX,[SI][DI] ;错误!同时出现两个变址寄存器
第十五页,共120页。
只是存放数据的偏移地址,操作数本身在内存储器中。
【例3-5】已知DS=6000H,SI=1200H,执行指令:MOV AX,[SI]。寻址默认的段
寄存器DS,计算出操作数物理地址=60000H+1200H=61200H。
指令执行情况如图3-5所示
DS
SI
执行结果为:AX = 3344H,若操
作数存放在附加段,则本例中的指令 应表示成一下形式:
1.CISC指令
CISC指令系统的设计目标是增强指令功能,将一些原来用软件实现的、 常用的功能,变成用硬件的指令系统来实现。
2. RISC指令
RISC目前还是一种计算机体系结构的设计思想。它的核心思想是通过简化指令来使计算 机的结构更加简单、合理,从而提高CPU的运算速度。
第八页,共120页。
3.2寻址方式
1.通用数据传送指令;
通用数据传送指令包括一般传送指令MOV,堆栈操作指令PUSH和POP、交换 指令XCHG\查表转换指令XLAT和字位扩展指令。
1)一般传送指令
格式: MOV dest,src; 功能:(dest)←(src) 这里,dest表示目标操作数,src表示源操作数。MOV指令实际上是完成了一 次数据的复制。
【例3-10】指令 MOV AX,DATA[DI][BX] 该指令的段地址位DS段,而偏移地址为 BX+DI+DATA的连续的两个存储单元的内 容送到AX,指令的执行情况如图示:

第二章指令系统1

第二章指令系统1

若COUNT=9600H,计算其物理地 址?
2019/12/11
35
说明:
• 采用BP相对寻址时,如偏移量为0,可不写 出来,形式上与寄存器间接寻址一样:
• MOV AX,[BP]
• 等同于:MOV AX,[BP+0H]
• 指令代码均为:8B 46 00
所以,严格地讲8088/8086可以采用寄存器间 接寻址的寄存器有三个
有的书中把采用相对于寄存器SI、DI寻址的称
为变址寻址,相对于寄存器BX、BP寻址的称
MOV AX, 0102H
;AX←0102H
2019/12/11
10
立即数寻址方式
2019/12/11
11
例:
• 将立即数0102H送至AX寄存器
• 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
2019/12/11
12
2019/12/11
机器语言程序:由机器指令书写的程序
汇编语言程序:由符号指令书写的程序 高级语言程序:由高级语言书写的程序,高级语 言的基础是语句,而不是处理器的指令系统
汇编语言程序和高级语言程序必须先翻译成机 器语言程序才能执行。这一翻译过程对汇编语 言程序叫做汇编(assemble),对高级语言 程序叫做编译(compilation)或解释 (interpretation)
南京理工大学动力学院
2009年
2019/12/11
1
第二章 8086/8088 指令系统
2.1 概述
2.2 寻址方式
2.3 数据传送指令
2.4 算术运算指令
2.5 逻辑运算指令
2.6 串操作指令

第二章 8088-8086的指令系统

第二章 8088-8086的指令系统

二、寄存器寻址 这种寻址方式的操作数在CPU的内部寄存器中。例 如:MOV DS,AX 是把寄存器AX的内容送到DS。 注意:源操作数与目的地操作数应该位数相同。 像 MOV AX,BL 这样的指令是错误的。 下面几种方式,操作 数均在存储器中。 三、直接寻址 指令中直接包含了操 作数存放地址的16位偏移 量,实际地址是DS:16位 偏移量。例如指令: MOV AX,[ 2000H ]
2.查表转换指令 XLAT 转换表名 (即转换表首地址) 其功能是从转换表中查找出一个字节的内容,用其 取代AL寄存器中的内容。 转换表最长为256个字节,是由用户设计的。执行 查表指令前,BX应指向转换表的起点。 AL AL中的内容被用作查表时索引,查出表中偏移量 等于AL中的二进制值的那个单元的内容,并用其取代 AL中原来的内容。
第二节 8088/8086指令系统
8088 (8086同) 指令系统可分成以下 6 组: 1.数据传送 ( Data transfer ) 指令 2.算术运算 ( Arithmetic ) 指令 3.逻辑运算 ( Logic ) 指令 4.串操作 ( String manipulation ) 指令 5.控制转移 ( Control transfer ) 指令 6.处理器控制 ( Processor control ) 指令
以下这些指令是错误的: MOV 52,AH ;立即数不能作为目的操作数 MOV CS,AX ;CS不能作为目的操作数 MOV [DI],[SI] ;内存单元之间不能直接传送 MOV [1000],[SI] ;同上 MOV IP,BX ;IP不能作为目的操作数 MOV DX,BL DX BL 例2-1 数据传送 设在DS=3000H,偏移地址为0100H的内存中顺序 存放着100个字节的数据。要求传送到以2000H为起始偏 移地址的区域。利用寄存器间接寻址来寻找操作数可以 编程如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015/9/13 微机原理及应用 8088指令系统 18
小结
隐含的寄存器操作数
指令 指定或隐含的操作数寄存器
AAA,AAD,AAM,AAS
CBW,CWD DAA,DAS IN,OUT LAHF,SAHF LES LDS 移位及循环移位指令 串操作指令 XLAT
2015/9/13
AL,AH
AL,AH或AX,DX AL AL或AX AH ES DS CL CX,SI,DI AL,BX
2015/9/13 微机原理及应用 8088指令系统 20
小结
隐含及允许超越的段寄存器
存储器操作的类型 隐含的段寄存器 允许超越的段寄存器 EA 取指令 堆栈操作 CS SS 无 无 IP SP
通用数据读写
源数据串 目的数据串 用BP作为基址寄存 器
2015/9/13
DS
DS ES SS
CS、ES、SS
2015/9/13
微机原理及应用 8088指令系统
23
数据传送类指令
段寄存器 CS DS SS ES
标志寄 存器FR
通用寄存器AX, BX,CX,DX, BP,SP,SI,DI
存储器 MEM I/O端口
数据在计算机中的传送
im
AH
AX/AL
2015/9/13
微机原理及应用 8088指令系统
24
数据传送类指令
变址寻址的速度比直接寻址慢,因为CPU必须执行一次加 法操作才能获得有效地址。
2015/9/13 微机原理及应用 8088指令系统 12
变址寻址(寄存器相对寻址)
选哪个段寄存器左移4位作为基地址,原
则同寄存器间接寻址,分 (1)以SI、DI、BX作为变址,则以数据 段寄存器为段地址基址。 (2)用BP变址,则以堆栈段寄存器为段 地址基址。 变址寻址方式常常用于存取表格或 一维数组中的元素。
数据传送指令用于实现寄存器阵列、存储器、累加器、 I/O接口之间数据的传递,可按字或字节进行数据传送。它 包括以下4类指令: (1) 通用传送指令:它又包括: 基本传送指令:MOV 堆栈指令:PUSH和POP 数据交换指令:XCHG (2) 累加器专用传送指令:它又包括: 输入输出指令:IN, OUT 查表转换指令:XLAT (3) 地址传送指令 (4) 标志传送指令 注:除特别说明外,数据传送类指令一般不影响标志位。
CS、ES、SS 无 CS、DS、ES
EA
SI DI EA
微机原理及应用 8088指令系统
返回
21
8086/8088指令集
指令的分类: 1 、数据传送指令:用以实现寄存器与寄存器、寄存器与 存储器单元以及存储器单元之间的数据传送。 2、算术运算指令:如加、减、乘、除、比较和求补等。 3、逻辑运算指令:包括与、或、非(求反)、异或和测试以 及位操作指令。 4、移位操作指令: 5、堆栈及堆栈操作指令: 6、字符串处理指令: 7、输入输出指令:计算机本身仅是数据处理和管理机构, 不能产生原始数据,也不能长期保存数据。所处理的 一切原始数据均来自输入设备,所得的处理结果必须 通过外部设备输出。这些工作要使用输入输出指令。 8、其它指令:
2015/9/13 微机原理及应用 8088指令系统 22
数据传送类指令
不论是专用计算机,还是通用计算机,也 不管是数值计算或信息处理,还是实时控制, 都需要传送数据。因此,数据传送是最大量、 最基本、最主要的操作。 传送类指令的特点是把数据从计算机的一个 部位传送到另一个部位。把发送的部位称之为 “源”,接收的部位称之为“目的地”。
段地址,通常由所用的基址寄存器决定: 1、使用BX存放基址时,段地址一般在DS中; 2、使用BP存放基址时,段地址一般在SS中。
2015/9/13 微机原理及应用 8088指令系统 15
基址变址寻址
基址变址寻址指令可以表示成以下几种不同的 形式: MOV AX,COUNT[BX][SI] MOV AX,[COUNT+BX][SI] MOV AX,[COUNT+BX+SI] MOV AX, [BX] COUNT [SI] MOV AX,COUNT[BX+SI] MOV AX,COUNT [SI][BX] 下列指令是非法的: MOV AX,COUNT[BX][BP] MOV AX,COUNT[SI][DI]
34H 12H
数 据 段
11
2015/9/13
微机原理及应用 8088指令系统
变址寻址
(Indexed relative addressing)
操作数在存储器中 ,其偏移地址是指定的寄存器的内容与 指令中给出的位移量相加之和。段地址依据使用的寄存器 的不同而不同。 [BX] [BP] 8位偏移量 EA = [SI] + 16位偏移量 [DI] 例如:MOV [BX+6],AL 或 MOV 6[BX],AL MOV [BP+6],AX 或 MOV 6[BP],AX MOV AX,COUNT [SI]
所使用的段寄存器由指令中的间址寄存器确定。 1. 若用 BX 、 SI 、 DI 寄存器间址,则 操作数在当前数据段
中,即段地址在DS中。 2. 若用BP间址,则操作数在堆栈段中。 3. 只有上述4个寄存器可以用于间接寻址。
间接寻址的优点:只要对间址用的寄存器作适当修改,
一条指令就可以对许多不同的存储单元进行访问。循环 程序设计中,多用间接寻址。
第2章 8088的指令系统
本章主要内容:
1、8088的寻址方式 2、数据传送指令 3、算术运算指令 4、逻辑运算指令 5、控制转移类指令 6、处理器控制指令
2015/9/13 微机原理及应用 8088指令系统 1


指令:由操作码和操作数两部分组成。 操作码:指示计算机执行什么操作。 操作数:指明参加操作的数或者它所在的地址。
2015/9/13 微机原理及应用 8088指令系统 10
寄存器间接寻址
例:MOV CX,[BX];已知DS=3000H,BX=1000H 解:已知段地址和偏移地址,则存储单元的物理地址 为: 30000H + 1000H = 31000H 操作 码 CH CX 12H CL 34H 代 码 段
31000H
8 位的操作数必须用 AH 、 AL 、 BH 、 BL 、 CH 、
CL、DH、DL等8个8位寄存器。
2015/9/13 微机原理及应ng)
由于通用寄存器是处理器的一部分,因此采 用寄存器寻址方式可以提高工作效率。对于那些 需要经常存取的操作数,采用寄存器寻址方式较 为合适。 例如:MOV BX,AX ADD AL,BL
符号指令具体构成如下: 指令助记符 [目的操作数] [,源操作数] 例如:MOV AX, BX 操作数可以是操作数本身,可以是寄存器,也 可以是操作数的地址,有的操作数隐含在助记符 中(形式上无操作数),有的只有一个操作数,有的 有两个操作数。通常,一条带有操作数的指令要 指明用什么方式寻找操作数。
操作数在CPU内部的寄存器中。 由于计算机结构的发展和改进,使用通用寄 存器的数量越来越多。一般计算机都设臵了一定 数目的通用寄存器,用以存放操作数、操作数的 地址或中间结果。 16 位的操作数需用 AX 、 BX 、 CX 、 DX 、 SI 、 DI、BP、SP等8个16位通用寄存器(段寄存器仅用 在部分传送指令中 ) ,其中 AX 称为 累加器 ,若操 作数存放在AX中的话,通常指令执行时间要短些。
2015/9/13 微机原理及应用 8088指令系统 14
基址变址寻址
(Based Indexed addressing)
操作数在存储器中,其偏移地址是指令中指定的 基址寄存器和变址寄存器的内容与位移量 3 项相 加之和。段地址由基址寄存器约定在哪一个段寄 存器中。
[SI] [BX] EA = [BP] + [DI] 8位偏移量 + 16位偏移量
2015/9/13 微机原理及应用 8088指令系统 13
基址寻址
(Based relative addressing)
与变址寻址类似,不同之处在于指令中使 用基址寄存器BX或基址指针寄存器BP,而不是 变址寄存器SI和DI。 当使用BX寄存器实现基址寻址时,操作数在数 据段,即段地址在DS寄存器。 当使用BP寄存器实现基址寻址时,操作数在堆 栈段,即段地址在SS寄存器。 例如:MOV SI,DATA[BX] MOV BLOCK[BP],AX 指令中的DATA和BLOCK均为位移量。
2015/9/13 微机原理及应用 8088指令系统 16
小结
综观以上寻址方式,所要寻找的操 作数不外以下三种类型: 立即数、寄存器操作数、存储器操作数。 1、立即数: 可以使用立即数的指令有:数据传 送指令、算术运算指令(乘、除法除 外)、逻辑运算指令等。在这些指令中 立即数只能作为源操作数,而不能作为 目的操作数。此时,目的操作数必须是 寄存器操作数或存储器操作数。
BX
AX
2015/9/13
微机原理及应用 8088指令系统
9
寄存器间接寻址
(Register
Indirect Addressing)
寄存器间接寻址:以寄存器内容为偏移地址访问存储器
后获得操作数的寻址方式。
操作数在存储器中,其偏移地址在指令给出的方括号中
的寄存器中,即寄存器的内容为操作数的偏移地址。
MUL,IMUL,DIV,IDIV AL,AH或AX,DX
微机原理及应用 8088指令系统
19
小结
3、存储器操作数 存储器操作数可以分别作为源操作 数或目的操作数,但不允许源操作数和 目的操作数同时都是存储器操作数,也 就是说,不允许存储器到存储器的操作。 存储器操作数的EA可以在指令中用 直接的方式给出(直接寻址),也可以 用间接的方式给出(寄存器间接寻址、 变址寻址、基址寻址或基址变址寻址)。
相关文档
最新文档