微机原理第三章
微机原理与接口技术第3章
27256引脚图
Vpp 1 A12 2
A7 3 A6 4 A5 5 A4 6 A3 7 A2 8 A1 9 A0 10 D0 11 D1 12 D2 13 GND 14
28 Vcc 27 A14 26 A13 25 A8
24 A9 23 A11 22 OE 21 A10 20 CE 19 D7 18 D6 17 D5 16 D4 15 D3
按使用属性
随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失
详细分类,请看图示
图 半导体存储器的分类
半导体 存储器
随机存取存储器 (RAM)
静态RAM(SRAM) 动态RAM(DRA膜式ROM 一次性可编程ROM(PROM) 紫外线擦除可编程ROM(EPROM) 电擦除可编程ROM(EEPROM)
书图3-9是4×4位MOS型掩膜ROM的结构示 意图 。
2、EPROM
顶部开有一个圆形的石英窗口,用 于紫外线透过擦除原有信息
一般使用专门的编程器(烧写器) 进行编程
编程后,应该贴上不透光封条 出厂未编程前,每个基本存储单元
都是信息1 编程就是将某些单元写入信息0
二、常用ROM芯片2716
每个存储单元存放多位(4、8、16等) 每个存储单元具有一个地址
一、RAM的结构(续)
2、DRAM:
DRAM的基本存储单元是单个场效应管 及其极间电容
必须配备“读出再生放大电路”进行刷新 每次同时对一行的存储单元进行刷新 每个基本存储单元存储二进制数一位 许多个基本存储单元形成行列存储矩阵 DRAM一般采用“位结构”存储体:
并允许用户多次擦除和编程 EEPROM(E2PROM):采用加电方法在
线进行擦除和编程,也可多次擦写 Flash Memory(闪存):能够快速擦写的
微机原理03第三章
对16位操作数,寄存器可以是AX、BX、CX、DX、SI、
DI、SP、BP等
对8位操作数,寄存器可以是 AH、AL、BH、BL、CH、
CL、DH、DL
SRC 和 DST的字长一致 CS不能用MOV指令改变
? MOV AH, BX ? MOV CS, AX
MOV AX,BX
将BX中的内容送入AX中,BX中的内容保持不变
?
MOV AX, VALUE
MOV AX, WORD PTR VALUE
PTR是类型运算符,用来说明某个变量、标号或
地址表达式的类型属性,或者使它们临时兼有与原定 义所不同的类型属性,但保持它们原来的段属性和偏 移地址属性不变。 直接寻址可以方便地访问存储器中某一数据存储单 元,被访问的存储单元一般由变量或含变量的地址 表达式给出地址
(AX) = 3050H
AH AL
30
50
32000
50 30
MOV AX,[1000H] 将DS段的1000H和1001H两个单元的内容送入AX寄存器中 MOV EAX,ES:[2000H]
将ES段的2000H~2003H四个单元的内容送入EAX寄存中, 其中ES为段超越前缀 MOV AX,BUF 将DS段内以有效地址BUF(符号地址)起始的两个单 元的内容送入AX寄存器中
例
MOV
AX,[BX][DI]
或
MOV
AX,[BX+DI] (DI)=10A5H
(DS)=2100H
(BX)=0158H
则
EA=0158H+10A5H=11FDH 物理地址 PA=21000H+11FDH=221FDH
例 基址变址寻址,假定(DS)=2000H,(SS)=3000H, (BX)=1800H,(BP)=2080H ,(DI)=1000H,(SI)=0800H, (22800H)=80CFH,(32880H)=067AH
微机原理 第三章 微处理器
青岛理工大学琴岛学院
表3.1 通用寄存器的特定用法
寄存器 操作 寄存器 操作 在移位指令中作 移位次数计数器
AX
字乘,字除,字I/O
CL
AL
字节乘,字节除,字节I/O, 查表转换,十进制运算
字节乘,字节除
DX
字乘,字除指令 中作辅助累加器
堆栈操作,做堆 栈指针
AH
SP
BX
查表转换,做基址寄存器
SI
青岛理工大学琴岛学院
2)逻辑地址与物理地址
逻辑地址(LA)和物理地址(PA):
物理地址:就是存储器的实际地址,它是指CPU和存储器 进行数据交换时所使用的地址(20位)。
逻辑地址:是在程序中使用的地址,它由段基址和偏移地
址两部分组成(16位)。
物理地址=段基址(左移4位)+偏移量
形成20位段 起始地址 16位
青岛理工大学琴岛学院
2 . 8086/8088CPU的寄存器结构
8086/8088CPU中可供编程使用的有14个16位寄存器, 按其用途可分为3类:通用寄存器、段寄存器、指针和标 志寄存器,如所示。
AH BH CH DH SP BP SI DI FLAGS IP CS DS SS ES AL BL CL DL 累加器 基址寄存器 计数寄存器 数据寄存器 数据寄存器 通用寄存器 地址指针和 变址寄存器
2
3 4 5
6
存取一般变量(除3、4、5项外)
DS
有效地址EA
根据寻址方式计算出来的偏移量又叫操作数的有效地址EA
青岛理工大学琴岛学院
4. CPU对堆栈的设置与操作
堆栈的功能:用于暂存数据和现场保护 (特别是在过程调用或中断处理时暂存断 点信息) 堆栈的解释:实际上是由特定存储单元 构成的一个存储区,只是在这个存储区中 信息的出入严格按照“先进后出”或“后 进先出”的规则进行。
微机原理第三章
例: MOV AX,CX ;将CX的内容送入AX中。
INC AX;自加1
STI;IF=1
一、 立即寻址方式
操作数与操作码一起存放在代码段中,是一个常数, 称为立即数,有8位和16位。 例 :MOV AL, 5 器。
例 :MOV AX,3064H ;源操作数为立即寻址
;源操作数为立即寻址
指令执行后,AL=05H,8位数据05H存入AL寄存
第三章 8086指令系统
指令系统是微处理器(CPU)所能执行的指令 的集合,它与微处理器有密切的联系,不同的微处 理器有不同的指令系统。在本章中我们主要讲解 INTEL公司生产的8086/8088CPU的寻址方式及各种 指令系统,并通过具体实例讲述了各条指令的功能 和使用方法。
通过本章的学习,应该掌握以下内容:
指令执行后,AX=3064H,16位数据3064H存入 AX寄存器。
注意:①立即数只能作源操作数,不能作目的操作数。
②以A、B、C、D、E、F开头的数字出现在指 令中时,必须在前面加一个数字0。
例:下列指令是错误的。
MOV 2000H,AX
MOV AL,B5H
二、 寄存器寻址方式
操作数存放在寄存器中,指令中直接使用寄存器 名。可使用的16位寄存器:AX、BX、CX、DX、SI、 DI、SP、BP、CS、DS、ES、SS;其中AX、BX、CX、 DX可分成两个8位寄存器别使用。
例: MOV AX,CX ;AX = CX
MOV AL,1
;AL = 1
注意:①CS不能作为目的操作数,如MOV CS,AX 是错误的指令。 ②源操作数必须与目的操作数相匹配。如 MOV AL,BX是错误的
三、 存储器寻址方式
操作数存放在内存单元中,指令中给出的是内存 单元的偏移地址EA(即有效地址),段地址通常在隐 含的某个段寄存器中。
微机原理与接口技术第3章(指令部分)
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1
微机原理与接口技术课件微机第三章
MOV AX , ES:[3E4CH] MOV AX , RESULT
如何区分RESULT是立即数还是符号地址?
如果 RESULT DW 3E4CH; 符号地址 MOV AX,RESULT
如果 RESULT EQU 3E4CH; 立即数 MOV AX,RESULT
(2)PUSH 进栈指令 指令格式为:PUSH 源(不能是立即数) 其操作过程是: a、SP-2,指示堆栈中可以存放数据的位置 b、存源操作数,完成进栈操作。
(3)POP 出栈指令 指令格式为:POP 目的(不能是CS) 其操作过程是: a、将SS:SP所指示的栈顶处的两个字节的数据,弹到目的操作数中; b、SP+2,指示当前栈顶位置,完成出栈操作。
操作码
0:数据从寄存器传出 1:数据传至寄存器
2.立即数寻址指令的编码
包含段寄存器的指令的编码
段超越前缀指令的编码
3-3 8086的指令集
01
添加标题
02
添加标题
03
添加标题
04
添加标题
05
添加标题
06
添加标题
8086指令系统按功能可分为6大类型:
一、数据传送指令
l 通用数据传送
添加标题
l累加器专用传送指令
目标地址传送指令 这类指令有: LEA 有效地址传送到寄存器 LDS 将双字指针送到寄存器和DS LES 将双字指针送到寄存器和ES Eg:LEA BX,[1000H] LDS SI,[1000H] LES DI,[1000H]
标志寄存器传送指令 LAHF FR寄存器的低8位送AH SAHF AH 送 FR寄存器的低8位 PUSHF FR寄存器推入堆栈 POPF 从栈顶中弹出存入FR寄存器
微机原理第3章课件(全)
比如AL,BX,CX,DS、IP等等。 【例3-4】MOV AX,BX MOV AL,BL 其中,AX,BX是16位寄存器寻址方式;AL,BL是8位寄存器 寻址方式。
第3章 指令系统和寻址方式 3.2.3 存储器寻址方式 当操作数放在存储器中的某个单元时,CPU要访问存储器 才能获得该操作数。如果存储器的存储单元地址是20位,把通 过各种方法算出段内偏移地址(有效地址),结合段地址形成20 位物理地址找到操作数的方法,统称为存储器寻址方式。 1. 直接寻址方式 直接寻址方式是指寻找的操作数的地址在指令中直接给出。 这种寻址方式在汇编格式中表示为 ● 操作码 地址表达式 (或[地址表达式]) ● 操作码 [数字表达式]
第3章 指令系统和寻址方式 【例3-14】 MOV AX,[BX] [SI](或写为MOV AX, [BX+SI]) 若 (DS)=2000H,(BX)=0500H,(SI)=0010H 则 偏移地址=0500H+0010H=0510H 20位物理地址=20000H+0510H =20510H 如(20510H)=12H,(20511H)=34H,操作的示意图如图3.5所示。
指令由两部分组成:操作码字段和地址码字段,格式如图3.1所 示。
第3章 指令系统和寻址方式
操作码
操作数(地址码)
图3.1 指令格式 操作码字段:用来说明该指令所要完成的操作。 地址码字段:用来描述该指令的操作对象。一般是直接给出 操作数,或者给出操作数存放的寄存器编号,或者给出操作数存 放的存储单元的地址或有关地址的信息。
第3章 指令系统和寻址方式 其中,“267”是数字;“10010011B AND 0FEH”是一个数 字表达式;PORT1是一个用EQU定义的变量名,属于常数; DATA1是定义的段名,实际上就是段地址,是一常数。这些都 是立即寻址方式。 汇编立即寻址方式时,汇编程序首先计算出数字表达式的 值,然后将其写入指令的地址码字段,这称为立即数。
微机原理第3章-指令系统
▲按给出偏移地址方式的不同,分为以下5种: 寄存器间接寻址 寄存器相对寻址 基址加变址寄存器 相对基址加变址寄存器 MOV AL, [ BX ] MOV AL, [ BX + 10H ] MOV AL, [ BX + SI ] MOV AL, [ BX + SI + 10H ]
(1)寄存器间接寻址
寄存器寻址方式的操作数是寄存器的值,指令中直接 使用寄存器名,包括8位或16位通用寄存器和段寄存器。可 使用的16位寄存器:AX、BX、CX、DX、SI、DI、SP、 BP;其中:AX、BX、CX、DX可分成两8位使用。
例: MOV AX,CX
;(AX)
(CX)
INC CX
;(CX)
(CX)+1
3.直接寻址(Direct Addressing)
0002
AH
AL
默认段寄存器的关系: ① 使用BX、SI、DI,默认段寄存器为DS
(BX)
PA = ( DS )×10H + (SI) (DI)
② 使用BP,默认段寄存器为SS PA = ( SS )×10H + ( BP )
使用BX、SI、DI的寄存器寻址,默认段寄存器为DS
寄存器组 AH AL BH BL CH CL DH DL SI DI BP SP AX BX CX DX DS ES SS CS IP 地 址 加 法 器
运 算 器
控制总线CB
码
器
PSW标志 寄存器
执行部件控制电路
CPU
总线
内存
例: MOV AX , [ BX + SI ]
若 ( DS ) = 4000H
( BX ) = 2000H ( SI ) = 100H 则内存操作数的物理地址为:
微机原理第3章指令
第3章指令系统机器指令:能指示计算机完成基本操作的二进制代码指令系统:CPU可执行的机器指令的集合。
为了方便编程,人们又把完成特定操作的机器码用特定的符号表示,这就产生了符号表示的机器指令-------指令助记符。
第3章8086指令系统机器指令由二进制代码组成,一条指令包括操作码和操作数(或地址)两部分,操作码指明该指令进行何种操作,操作数用来说明操作对象。
个别指只有操作码没有操作数。
由于不同的指令所表达的信息不尽相同,因此指令的长度即机器码字节数也有长有短。
8086指令系统的指令是可变长指令(1~6个字节)3.18086CPU寻址方式重点是存储器寻址存放在存储器中的数据称为存储器操作数。
指令中需要确定存储单元的段地址、偏移地址(亦称有效地址EA),以及存储器操作数的类型。
段地址存放在段寄存器中,确定段地址实际上就是确定段寄存器,采用的方法是默认或添加段超越前缀。
生成存储器有效地址有多种方法,这些方法形成了对存储器操作数的多种寻址形式。
确定数据类型的方法是源操作数和目的操作数类型一致原则或附加类型说明。
立即寻址方式中操作数也在存储器中,但立即寻址中的立即数包含在指令中,随程序存放在代码段,CPU在取指令时就获得操作数。
这里所说的存储器操作数是存放在数据段、附加段或堆栈段中,取指令时也不会被立即取到。
段超越前缀变量的定义在第四章详细介绍直接寻址:MOV AX,[2000H];寄存器间接寻址:MOV ES:[DI],AH基址寻址:MOV BYTE PTR[BX+1200H],10变址寻址:MOV DL,[SI+2AH]基址加变址寻址:MOV CL,[BX+SI+5]MOV AX,[BP+DI]MOV CL,[BX+SI+5]的等价形式:MOV CL,5[BX][SI]、MOV CL,5[BX+SI]、MOV CL,[BX][SI+5]MOV CL,[BX+SI-5]等价于MOV CL,[BX+SI+65531] MOV CL,[BX-SI]MOV CL,[SI+DI]错误!MOV[BX+DI],1000H正确吗?3.2.1数据传送类指令传送指令把数据从一个位置传送到另一个位置使用MOV指令应注意1.立即数只能作为源操作数2.无存储器之间直接传送与交换的指令3.没有用立即数对段寄存器直接赋值的指令4.段寄存器之间无传送指令5.两个操作数的类型要一致6.要能确定是字节还是字操作mov ah,al mov bvar,ch mov ax,bx mov ds,ax mov al,[bx]下列MOV指令正确吗?MOV AL,050AHMOV SI,DLMOV[BX+SI],255MOV DS,100HMOV[BX],[SI]MOV[BX+SI],bvarbvar是一个已定义过的字节变量 MOV CS,[SI]将数据段中偏移地址为2000H、2001H、2002H的3个字节的存储单元置数FFH。
微机原理第三章
执行周期也需要三个节拍:这里以LDA例行程序为 例:
(4) T3=1,IR高四位送至控制器进行分析,IR低四 位送总线,MAR接受此低四位并指向PROM的 某个单元。(第一次访问的是指令区,第二次访 问的是数据区)
CON= CPEP LMER LIEILAEA SUEU LBLB
= 0 0 1 0 01 0 0 0 0 0 0
果而分别跳转至其他子程序。 3·循环程序——程序进行过程中,在某一循环体进行若干
次循环运行,然后再继续前进。 4·调用子程序~一程序进行至某一阶段,调用存储于某存
储区中的某个子程序,然后返回至主程序继续运行下去。
35
【例3.1】程序清单(循环程序) R0 LDA 6H 把(R6)装人A去 R1 SUB 7H 从(A)减去(R7)
(2)运行/停车触发器 (3)“启动”和“清零”按钮
图3-7用方块图展示了控制部件各个电路间的关系。
27
28
3.1-3.5节小结
• 1. 掌握机器周期、时钟周期(机器节拍)的概念 • 2. 以一个指令为例,掌握各机器节拍所完成的工作 • 3. 了解控制部件的组成电路 • 作业(P57):3.2、3.3、3.5、3.6、3.7、3.12
LDA=1
25
由图可见五条指令的控制器就已经这么复杂,由此可 知要扩大指令系统,其控制矩阵的结构以及设计上的问题 是相当复杂的。这样从结构上用逻辑电路的方法来实现控 制字的方法称为硬连线方法(硬件方法)。也可以用软件 的方法来实现这个目的,这就是所谓微程序法。这将在后 面做简要介绍。
26
3.5.3 其它控制电路: (1)时钟脉冲发生器:它一般由两部分组成,即时钟振 荡器及射极输出器。前者是石英晶体振荡器,后者则用 以降低输出电阻,以提高带负载能力。
微型计算机原理(第三章课后答案)
微型计算机原理(第三章课后答案).第三章80X86微处理器1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。
答:(1)BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。
(2)EU的作用:执行指令,并为BIU提供所需的有效地址。
(3)并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。
这样就实现了取指和执行指令的并行工作。
2.8086/8088CPU内部有哪些寄存器?其主要作用是什么?答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄存器4个和控制寄存器2个。
其主要作用是: (1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。
AX(Accumulator)称为累加器。
用该寄存器存放运算结果可使指令简化,提高指令的执行速度。
此外,所有的I/O指令都使用该寄存器与外设端口交换信息。
BX(Base)称为基址寄存器。
用来存放操作数在内存中数据段内的偏移地址CX(Counter)称为计数器。
在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化有利于提高程序的运行速度。
DX(Data)称为数据寄存器。
在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。
(2)地址寄存器:一般用来存放段内的偏移地址。
SP(Stack Pointer)称为堆栈指针寄存器。
在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。
BP(Base Pointer)称为基址寄存器。
作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。
SI(Source Inde某)称为源变址寄存器。
微机原理第三章(基本工作原理)
31
初级程序设计举例
• • • • • • 所谓初级程序是包括下列的程序模式: 简单程序 分支程序 循环程序 调用子程序 书上(P58-64)
32
控制部件的扩展
• 控制矩阵,变得更庞大而复杂 • 增加了指令 • 一个机器周期也是6拍,前三拍为取指周 期,后三拍为执行周期。
33
现代技术在微型计算机中的应用
13
14
程序及数据的输入方法
• 拨动相应单元的开关 • 将程序和数据通过拨动每个数据位的开 关来置一或置零。 • 置一:开关拨向断开的方向 • 置零:开关拨向接通的方向 • 打х:表示随意状态
15
执行指令的例行程序
环形计算器及机器节拍
T0 T1 T2 T3
16
工作过程:取、分析、执行
• 取指令:根据PC内容取出指令,送至IR,并为取 下一条指令做好准备,共包括3个步骤 地址节拍T0: • 将PC内容释放到总线上,Ep=1 • MAR接收总线上传来的地址,Lm=1 存储节拍T1: • ROM将指定单元内容送到总线上,Er=1 • IR接收总线上传来的指令,Li=1 增量节拍T2: • PC内容加1,做好取下一条指令的准备工作,
IR
Ei
ALU
CLK
Eu
CLR CLK
CON
Ep Cp Li Ei…Su…Lo
B
Lb
CLK
Lm
CLK
>MAR
OUTP <
Lo CLK
Er
ROM
LED
5
模型机的组成部件
• • • • • •
PC:程序计数器,其内容为将取出指令的存储地址 MAR:存储器地址寄存器 PROM:16*8只读存储器,存放程序与数据 IR:指令寄存器 CON:控制部件,产生所有控制信号 A:累加器 B:辅助寄存器 ALU:算术逻辑单元 OUTP:输出寄存器 LED:显示设备,显示最后运算结果
微机原理与接口技术第三章指令系统
标识符的构成
符号集合 英文字母(a~Z)、数字(0~9)、特殊符号(?、@、 _、 $)。 构成规则 不可以以数字开头;
不能实用单独的“?”作为标识符;
取名尽量有含义,但不能采用汇编语言的保留字; 助记符、定义符、寄存器名称等 最大长度为31字符。 例如: ABCDH →标识符 0ABCDH →立即数
MOV AX,05C7H 汇编指令 B8C705H
一对一
机器指令
3.1.2 指令格式 汇编语言指令:由操作码和操作数两部分组成。 操作码 操作数 操作数 指令的一般格式
操作码:指示指令要执行的具体操作。用助记符(一 般为英文字母缩写)表示。 操作数:指出指令执行过程中的操作对象。用符号或 符号地址标志。
(×)MOV CS,AX
(×)MOV AH, BX
AH AL BH BL CH CL DH DL
MOV AX, BX
;AX←BX
演示
寄存器寻址方式举例
MOV BX,1234H ;AX=1234H
源操作数是立即数寻址方式
目的操作数是寄存器寻址方式 MOV AX,BX BX=AX=1234H 源操作数和目的操作数均为寄存器寻址方式
AX 88H 66H … 66H 88H … 堆栈段 33200H 33201H
……
……
MOV BX, 1100H MOV AX, [BX]
码段
AX: 0078H
堆栈段
DS:0000H
…… ……
内存内容 偏移地址
0000H 0001H …… 1100H 1101H 1102H
…… ……
78H 00H 56H
微机原理第3章课件
“与”指令应用例
开始 取待输出数的 偏移地址
取输入口地址
读入状态字
测试bit1位状态
N
Bit1=1?
Y
取输出口地址
输出一个字
7
“与”指令应用例
LEA SI,DATA MOV DX,3F8H WATT:IN AL,DX AND AL,02H JZ WATT MOV DX,38FH MOV AX,[SI] OUT DX,AX
49
程序控制指令
转移指令 循环控制 过程调用 中断控制
50
程序的执行方向
程序控制类指令的本质是:
控制程序的执行方向
决定程序执行方向的因素:
CS,IP
控制程序执行方向的方法:
修改CS 和IP ,则程序转向另一个代码段执行; 仅修改IP,则程序将改变当前的执行顺序,转向本
代码段内其它某处执行。
ATJAZENNSWDDTATAAATLLL,,,0222AHAHH CTJXZEMOSWPRTAAATALTLL,,,0282HAAHH JTJNENSZZT WAWLA,ATT2TT0H
JZ WATT
;ZF=1转移
MOV DX,38FH MOV AX,[SI] OUT DX,AX
17
二、移位指令
串传送指令常与无条件重复前缀连用
37
串传送指令
对比用MOV指令和MOVS指令实现将 200个字节数据从内存的一个区域送到 另一个区域的程序段。
P104例3-12
38
串传送指令例
用串传送指令实现200个字节数据的传送: LEA SI,MEM1 LEA DI,MEM2 MOV CX,200 CLD REP MOVSB HLT
34
微机原理讲义(第三章)
通用寄存器 AX、BX、CX、DX、 SI、DI、BP、SP
指令是计算机执行某种操作的命令。计算机为了 完成不同的功能而要执行不同的指令。一台计 算机能够识别和执行的全部指令称为该计算机 的指令系统或指令集。 不同的微处理器有不同的指令系统, 80X86/Pentium系列微处理器的指令集是在 8086/8088CPU指令系统上发展起来的。
第3章 80X86/Pentium 指令系统
第3章 80X86/Pentium 指令系统
• 8086/8088指令系统中对段地址有个基本 规定: • 在正常情况下,由寻址方式中有效地址 规定的基地址寄存器来确定段寄存器, 即只要寻址方式中出现BP寄存器作为基 地址,段寄存器一定采用堆栈段SS,其余 的情况都采用数据段DS。
第3章 80X86/Pentium 指令ቤተ መጻሕፍቲ ባይዱ统
第3章 80X86/Pentium 指令系统
关注以下三个方面: • 功能 • FR • 结果
第3章 80X86/Pentium 指令系统
数据传送指令
通用数据传送指令
MOV PUSH POP XCHG XLAT IN OUT
LEA LDS LES
MOV
PUSH POP XCHG XLAF IN OUT
第3章 80X86/Pentium 指令系统
设DS=1200H, BX=05A6H, BP=40A0H, SI=2000H, 位移量disp=1618H • MOV AX , [BP]
SS=5000H, DI=3000H,
EA=40A0H PA=SSx16+EA=50000H+40A0H=540A0H 执行结果: 将堆栈段540A0H和540A1H两单元的内容取出送 至AX。
微机原理第三章
•寄存器中保存的是操作数的内容 。
多媒体演示:
3.3.3
存储器操作数寻址方式
1、规定段寄存器
Ø × ² ÷¿ à Ð Í ¡ È Ñ ¶ ® ´ ® ´ Ã Ó º Ò · Ö º Õ Ø ² Ø ² ÷ ×´ Ô Ø × ² ÷¾ Ä µ Ä BP ä » Ó ¼ ã °ý Ê Ý ½ î À ÷ × × µ · Ö × Ö µ · ° Ñ · Ö æ ´ ¡ È Î º ¶ ù · Ö ´ Ô ä Ë Æ û ¿ ´ Ô ´ Þ Î Þ Î CS¢ ¡ SS¢ ¡ ES Þ Î CS¢ ¡ SS¢ ¡ ES CS¢ ¡ SS¢ ¡ ES
注意的问题:
1、不能在两个存储单元之间传送。
MOV [1000H] ,[2000H] 2、立即数不能送段寄存器。 MOV DS ,300H 3、段寄存器之间不能传送。
MOV DS ,ES
4、CS不能做目的但可做源操作数。MOV CS ,AX MOV AX ,CS 5、操作数类型要匹配,字对字,字节对字节传送 MOV AX ,BL
指令学习注意事项 :
• 操作数类型
• 寻址方式 • 对标志寄存器影响
3.4 .1 数据传送指令
1、通用数据传送指令 2、累加器专用传送指令 3、目标地址传送指令
4、标志位传送指令
特点:寻址方式最丰富,不影响标志位。
(1)通用数据传送指令
通用传送指令:
• 格式:MOV DEST,SRC • 功能:ห้องสมุดไป่ตู้源操作数SRC中的字节或字传送到 目的操作数DEST中。 • MOV 指令不影响标志位
6、MOV指令不影响标志寄存器的值。
(2)堆栈操作指令
r cs、ds、 es、ss
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1.IP指令指针寄存器是属于( )
a. 通用寄存器
b. 段寄存器
c. 变址寄存器
d. 控制寄存器
2.下面有语法错误的指令是( )
a. ADD AL,AH
b. ADD [BX+3],AL
c. ADD AH,[DI]
d. ADD [BP+2],DA1 (DA1是变量名)
3.完成对DX的有符号数除以2的指令是( )
a. IDIV 2
b. SAR DX,1
c. ROR DX,1
d. RCR DX,1
4.使进位位置1的指令是( )
a. CLC
b. CMC
c. STC
d. NOP
5.下面的XCHG指令中,语法正确的是( )
a. XCHG AL,DS
b. XCHG BL,[BX]
c. XCHG AL,0FH
d. XCHG BUF1,BUF2
6.一条指令中目的操作数不允许使用的寻址方式是( )
a. 寄存器寻址
b. 立即数寻址
c. 变址寻址
d. 寄存器间接寻址
7.设SP=1FFEH,执行下列指令后,SP寄存器的值是( )
POPF
PUSH AX
a.. 2000H
b. 2002H
c. 1FFCH
d. 1FFEH
8.LDS SI,ES:[2000H]指令的全部功能是( )
a. 把地址2000H送SI
b. 把地址2000H字单元的内容送SI
c. 把地址2000H字单元内容送SI,把2002H字单元内容送DS
d. 把地址2000H字单元内容送DS,把2002H字单元内容送SI 9.设AL=04H,BL=0F8H,执行MUL BL指令后,结果是( )
a. AX=0032H
b. AX=00E0H
c. AX=03E0H
d. AX=0FFE0H
10.假设字节单元(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)=(),字单元(06926H)=()。
a. 1245H
b. 4578H
c. 4512H
d. 7845H
11.逻辑运算指令都是按()进行操作的。
a. 位
b. 字节
c. 字
d. BCD码
12.互换指令XCHG可以在两个寄存器之间互换数据,也可以在()与()之间互换数据。
a. 寄存器
b. 立即数
c. 存储单元
d. 堆栈
13.下列指令中,不影响PSW的指令是:()
a. MOV
b. TEST
c. SAL
d. CLD
二、空题
1.BX=1357H,BP=2468H,SI=1000H,DI=2000H,SS=1000H,DS=2000H,ES=3000H,试分别指出下列各指令中存储器操作数的物理地址。
MOV AL,[BP+20H]的物理地址是
MOV [BX+DI-80H],AL的物理地址是
MOV BL,ES:[SI+40H]的物理地址是
2.指出下列指令的错误。
①MOV AH,BX ②MOV [BX],[SI]
③MOV AX,[SI][DI] ④MOV CX,AX
⑤SAL AX,2 ⑥MUL AX,BX
⑦NOT CX,AX ⑧POP 5[CX][BX]
3.分别指出下列指令源操作数
....和目的操作数
.....的寻址方式。
01微机升学8088指令系统月考试题
①MOV AX,1000H ②MOV CX,DATA[SI]
③AND VALUE[BX][DI],BP ④MOV AX,SS:[BP+SI]
⑤MOV CX,[3000H] ⑥MOV 250H[BX][SI],’E’
三、根据以下要求选用相应的指令(只用一条指令)。
1.将AL寄存器的内容乘以2。
2.使BX寄存器的高3位为1,其余位不变。
3.使CL寄存器的D5位变反,其余位不变。
4.使AX寄存器中有符号数除以2。
5.把DATA的段地址和偏移地址装入DS和BX中。
6.把3000H传送给AX寄存器。
四、根据以下要求编写指令序列
1.WORD1T和WORD2是存放字数据的存储单元,使WORD1和WORD2两存储单元之间的数据交换。
2.把标志寄存器的溢出位OF变反。
3.寄存器AL中高、低四位交换。
4.寄存器DX和AX组成32位数左移一位。
五、分析执行下列程序完成什么功能。
PUSH AX
PUSH AX
SHL AX,1
MOV DX,AX
POP AX
ADD AX,DX
ADD AX,AX
MOV DX,AX
POP AX
ADD AX,DX。