微机原理第3章(3)

合集下载

第三章微机远动系统3

第三章微机远动系统3

②对事故和事件信息进行优先传送。该功能加强了 调度自动化系统在电网监视过程中对突发事件的快 速反应能力。也就是说,不管RTU当前正在处理什 么工作,只要一旦发现系统有事故或事件发生,就 应立即停止现行工作,把事故或事件信息迅速发送 到调度端。 ③接收调度端下发的命令并执行命令。该功能是调 度自动化系统提供给电网管理的又一技术措施。它 主要是能够接收遥控操作命令,并执行命;另外, 还能接收调度端下发的各种召唤命令、对时命令、 复归命令等,对有些命令的执行还要将执行结果汇 报给调度端。例如,断路器的分、合闸;无功补偿 设备的投入和切除,进行有功、无功的调节,有载 调压等操作。
当然,不论是单CPU的还是多CPU的远动终端, 其所要完成的功能遥控、遥调)功能以外,还应完 成电能(脉冲量)采集、远程通信、当地功能(键 盘输入、显示输出)等。远动终端的硬件结构通常 是按RTU所需完成的功能进行设计,框图如图3-2 所示。图中,RTU的硬件结构主要由七大部分组成: 遥信、遥测、遥控、遥调、电能、键盘显示和通信。 各部分均可带有CPU,组成特定功能的智能模板。 每一种功能模板所处理的信息量是一定的,当信息 量较大时可用多块功能模板。各模板之间的数据交 换是通过外部总线完成,外部总线可以是并行总线, 也可以是串行总线。
近些年,随着网络技术的发展,变电站自动化 技术从集中式向分布式发展,变电站二次设备不再 出现常规功能装置重复的 I/O现场接口,能够通过 网络真正实现数据共享、资源共享,常规的功能装 置变成了逻辑的功能模块。以太网技术正被广泛引 入变电站自动化系统过程层的采集、测量单元和间 隔层保护、控制单元中,构成基于网络控制的分布 式变电站自动化系统,系统的通信具有实时性、优 先级、通信效率高等特点。所以厂站端的远动装置 功能逐渐利用网络技术,通过逻辑的功能模块来实 现,是远动装置的发展方向。

第3章---微机原理-汇编-朱定华PPT优秀课件

第3章---微机原理-汇编-朱定华PPT优秀课件

MOV AH,0
DIV BL ; ,BH ;BCD数十位与个位送AL
10
10
3.1.1 乘除法指令
3. 扩展指令CBW和CWD
要把一个8位二进制数除以一个8位二进制数,要有一 个16位二进制数在AX中.所以做8位除以8位的除法 前先要把8位被除数扩展为16位,做16位除以16位的 除法前要把16位被除数扩展为32位.这种扩展对于无 符号数除法只需将AH或DX清0,而对符号整数除法 则要通过扩展符号位来把被除数扩展。
11
11
3.1.1 乘除法指令
格式:CBW ; AL的最高位扩展至AH CWD ; AX的最高位扩展至DX
两指令都隐含操作数 在做8位除以8位、16位除以16位的除法之前, 应先扩展AL或AX中的被除数 扩展指令和符号整数除法仅对补码数适用
12
12
3.1.1 乘除法指令
如:有一符号字数组变量ARRAY,第1个字 是被除数,第2个字是除数,接着存放商和 余数,其程序段为:
3
3
3.1.1 乘除法指令
16位乘法指令所执行的操作是AL或AX乘以 source,乘积放回到AX或DX和AX
AL
×
sourc8
AX
×
DX
AX sourc16
AX
可用乘法运算将BCD数转换为二进制数 44
2.3.4 常用指令应用举例
例 将AX中小于(等于)255大于0的3位BCD数转换为 二进制数,存入字节变量SB中
14
14
3.1.2 BCD数调整指令
1.BCD数加法调整指令DAA和AAA (1)压缩BCD数加法调整
格式: DAA 功能:将AL中的和调整为正确的压缩BCD数 调整规则: (AL&0FH)>9或AF=1,则AL加6;

微机原理 第三章 微处理器

微机原理 第三章  微处理器

青岛理工大学琴岛学院
表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对堆栈的设置与操作
堆栈的功能:用于暂存数据和现场保护 (特别是在过程调用或中断处理时暂存断 点信息) 堆栈的解释:实际上是由特定存储单元 构成的一个存储区,只是在这个存储区中 信息的出入严格按照“先进后出”或“后 进先出”的规则进行。

微机原理第三章课后习题解答

微机原理第三章课后习题解答

3.1已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H ,(1E4F6H)=091DH。

在以上给出的环境下,试问下列指令段之行后的结果如何?(1)MOV CL,[BX+20H][SI];物理地址=DS*10H+BX+SI+20H=091D0H+0024H+0012H+0020H=09226H(09226H)=00F6H,(09226H)=F6H, (09227H)=00H执行后:CL=F6H(2)MOV [BP][DI], CX物理地址=SS*10H+BP+DI=1E4A0H +0024H+0032H=1E4F6HCX=5678H 执行后:(1E4F6H) = 5678H(3)LEA BX, [BX+20H][SI];BX=BX+20H+SI=0056HMOV AX, [BX+2];物理地址=DS*10H+BX+2=091D0H +0058H=09228H (09228H)=1E40H 执行后:AX=1E40H(4)LDS SI, [BX][DI];物理地址=DS*10H+BX+DI=091D0H +0056H=09226H (09226H)=00F6H (09228H)=1E40H执行后:BX=(09226H)=00F6HDS=(09228H)=1E40HMOV [SI],BX物理地址=DS*10H+SI =1E400H +0012H=1E412HBX=0024H, 执行后:(1E412H)=0024H (5)XCHG CX,[BX+32H]物理地址=DS*10H+BX+32H =091D0H +0056H =09226H (09226H)=00F6H , CX=5678H执行后:(09226H)=5678H , CX=00F6HXCHG [BX+20H][SI], AX物理地址=DS*10H+BX+20H+SI =091D0H +0056H =09226H (09226H)=5678H , AX=1234H执行后:(09226H)=1234H , CX=5678H3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H。

微机原理与接口技术课后习题参考答案

微机原理与接口技术课后习题参考答案

《微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。

答:(1)微处理器:微处理器(Microprocessor)简称µP或MP,或CPU。

CPU 是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU(Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。

(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。

(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。

其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。

软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。

一般把软件划分为系统软件和应用软件。

其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。

而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。

2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。

答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。

当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。

(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。

微机原理与接口技术第3章(指令部分)

微机原理与接口技术第3章(指令部分)
第 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

微机原理作业及答案第3章

微机原理作业及答案第3章

一、选择题1、CPU执行算术运算指令不会影响的标志为是_D__。

A.溢出标志 B.符号标志C.零标志 D.方向标志2、TEST指令和__A__指令执行同样的操作,但不送回操作结果,仅影响标志位。

A.AND B.ORC.NOT D.XOR3、下列指令中,影响标志位的指令是__D____。

A.从寄存器取数指令 B.条件转移指令C.压栈指令 D.循环移位指令4、执行指令INC AX后,不受影响的标志为__B___。

A.ZF B.CF C.SF D.OF5、当无符号数运算产生溢出时,__D__标志位为1.A.SF B.ZF C.CF D.OF6、若用户堆栈位于存储区10000H-1FFFFH,则该堆栈的段地址是___D____。

A.10000H B.1FFFFH C.1000H D.0FFFFH7、使用直接寻址方式时,操作数总是在 C 中。

A.通用寄存器B. 堆栈C. 主存单元D. 段寄存器8、指令MOV AX,[BP+SI]指令源操作数的段地址是 C 。

A. CSB. DSC. SSD. ES9、假定(AX)=96H,(BX)=65H,依此执行ADD AX,BX指令和DAA指令后,(AL)=___C_。

A.0FBH B.01H C.61H D.0BH10、设AX=C544H,在执行指令ADD AH,AL后, C 。

A. CF=0,OF=0B. CF=0,OF=1C.CF=1,OF=0D. CF=1,OF=111、由379AH得到FFFFH,可采用的逻辑运算是 D 。

A.与 B.或C.求反 D.或、异或二、填空题1.若物理地址为2D0H,偏移量为0B0H,则段地址为___22H_____。

2.8086指令系统中有_逻辑_移位和_算术_移位两类,其中__SHL__和SAL两条指令属于不同的移位指令,但其功能完全相同。

3.串操作指令规定目的操作数使用___DI___寄存器,目的串必须在__附加_段中。

4.在8086中进行寄存器间接寻址时,可采用的寄存器有____BX____、_BP_____、__SI______和__DI______。

微机原理第3章-指令系统

微机原理第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答案1. 指出下列指令的错误原因。

(1) AND AX, DL ;类型不匹配(2) ADD CS, DX ;CS不能作为目的操作数(3) MOV AX, IP ;IP不能作为指令的操作数(4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数(5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前(6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式(7) JGE AX ;条件转移指令的操作数只能是标号(8) PUSH DL ;对堆栈不能进行字节操作2. 用一条指令将BX清0。

(请给出3种方法)方法1:MOV BX, 0方法2:SUB BX, BX方法3:AND BX, 0 ;将BX和0做与,可以将BX清零方法4:XOR BX, BX3. 写出实现下列功能的指令序列。

(1) 判断AX的值,若AX等于0,则转到标号LABEL处。

(请写出3种方法)方法1:CMP AX, 0JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果; 因此指令执行后AX内容不会受到破坏方法2:TEST AX, 0FFHJZ LABEL ; 如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。

; 和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已; 经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3:AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的JZ LABEL(2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。

MOV AH, ALAND AL, 0FH ; AL高4位通过与清零,而低4位保持不变MOV CL, 4SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零(3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。

微机原理第3章习题与答案解析

微机原理第3章习题与答案解析

习题一、选择题1.寻址方式指出了操作数的地点,一般来说_______。

A.立刻寻址给出了操作数的地点B.寄存器直接寻址的操作数在寄存器内,而指令给出了储存器C.直接寻址直接给出了操作数自己D.寄存器直接寻址的操作数包括在寄存器内,由指令指定寄存器的名称答案: D2.寄存器寻址方式中,操作数在_________。

A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: A3.寄存器间接寻址方式中,操作数在_________ 。

A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: C4.以下指令中的非法指令是 ______。

A. MOV [SI+BX], AXB.MOV CL, 280C.MOV [0260H], 2346HD.MOV BX, [BX]答案: B5.设 (SP)=0100H ,(SS)= 2000H ,履行 PUSH BP 指令后,栈顶的物理地点是 _____。

A.200FEHB.0102HC. 20102HD.00FEH答案: A6.指令 LEA BX, TAB 履行后,其结果是 ______。

A. 将 TAB 中内容送 BXB.将 TAB 的段基址送 BXC.将 TAB 的偏移地点送 BXD.将 TAB 所指单元的储存内容送 BX答案: C7.以下正确的指令格式有______。

A.MOV [BX], 1B.MOV AL, 0345HC.MOV ES: PTR[CX], 3D. XLAT答案: D8.设 (AX)=C544HA.CF=0,OF=0 ,在履行指令B.CF=0,OF=1ADD AH,AL 以后,C.CF=1,OF=0______。

D,CF=1,OF=1答案: C9.若 AL 、 BL 再履行 DAA 中是压缩BCD后, (AL)=_____数,且在履行。

ADD AL, BL 以后,(AL)=0CH , CF=1 ,AF=0 。

A.02HB.12HC.62HD.72H 答案: B10.履行以下程序后AL 的内容为 _____。

微机原理第三章:8086微处理器结构

微机原理第三章:8086微处理器结构

4.8086 和8088 二者的指令系统完全兼容
(1)有24 种寻址方式,具有乘、除法指令等。 (2)取指令和执行指令的操作并行运行,运行速度大大提高。
(3)具有最小模式和最大模式,应用领域宽广,适应性强。
(4)可方便地和数据处理器8087、I/O 处理器8089 或其它处理器 组成多处理机系统,提高数据处理能力和输人输出能力。
代码段寄存器 CS 标 志 寄 存 器
数据段寄存器 DS
堆栈段寄存器 SS
附加段寄存器 ES
由于8086/8088 CPU 可直接寻址的存储器空间是1M字节,直接寻址需要 20位地址码,而所有的内部寄存器都是16位的,用这些寄存器只能寻址 64K字节,为此需要采取分段技术来解决这个问题。
表3.1
通用寄存器的隐含使用
程序调试过程中。
3.1.2 8086/8088 的寄存器结构
四、指令指针寄存器 IP ★ 16 位的指令指针寄存器 IP 用来存放将要执行的下一条 指令在代码段中的偏移地址。 ★ 在程序运行过程中,BIU 可修改 IP 中的内容,使它始终 指向将要执行的下一条指令。 ★ 程序不能直接访问 IP,但可通过某些指令修改 IP 内容。 ★ 如遇到转移类指令,则将转移目标地址送人IP中,以实 现程序的转移。
★ 规则字的读/写操作可以一次完成。由于两个存储体上的地址
线 A19~A1 是连在一起的,只要使 A0=0,BHE=0,就可 以实现一次在两个存储体中对一个字的读/写操作。 ★ 读写的是从奇地址开始的字(高字节在偶体中,低字节在奇体 中),这种字的存放规则称为“非规则字”或“非对准字”。 ★ 非规则字的读/写,需要两次访问存储器才能完成。 第一次访问存储器读/写奇地址中的字节;
三、标志寄存器 FR

微机原理第3章指令

微机原理第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。

微机原理第3章习题(答案)

微机原理第3章习题(答案)

微机原理第3章习题(答案)1.下列各条指令是否有错?如果有,请指出错误之处并改正(1)MOVDS 1000H(2)MOV[100],23H(3)ADDAX [BX + BP+ 6](4)PUSHDL(5)INAX, [3FH](6)0UT3FFH AL(7)LESSS [SI](8)POP[AX](9)IMUL4CH(10)SHLBX 5(11)INT300(12)XCHGD, 0FFFH答:(1)错误。

不允许直接向段寄存器送立即数,可改为:MOVAX 1000HMOVD, AX(2)错误。

该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTEPT或WORDPT说明,否则汇编程序会因不能确定操作数长度而指示出错。

可改为:MOVBYTEPTR[1O0] 23H(3)错误。

不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADDAX [BX + DI + 6](4)错误。

堆栈操作应以字为单位进行,而DL是一个字节。

可改为:PUSHDX(5)错误。

在输入/输出指令中,8位端口地址应直接写在操作数处。

可改为:INAX, 3FH(6)错误。

端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX可改为:MOVD, 3FFHOUTDXAL(7)错误。

LES指令的目操作数应该是通用寄存器,不能是段寄存器。

可改为:LESBX [SI](8)错误。

AX不能用于间接寻址,间接寻址只能用BXBP、SI、DI四个寄存器之一。

可改为:POP[BX](9)错误。

立即数不能做乘法指令的操作数,可改为:MOVBJL 4CHIMULBL(10)错误。

当逻辑移位的次数大于1时,应该用CL指示次数。

可改为MOVCL 5SHLBX CL(11)错误。

操作数300>255,已超出有效的中断类型码范围。

(12)错误。

XCHG指令不允许立即数做它的操作数。

可改为:MOVC, 0FFFHXCHGDXCX2•请指出以下各指令的源、目的操作数所使用的寻址方式(1)MOVSI 2100H(2)SBBDISP[BX], 7(3)AND[DI] , AX(4)ORAX [609EH](5)MOV[BXb DI + 30H], CX(6)PUSHES [BP](7)CALL[DI]DISP(8)JNZShort_label答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址(2)源操作数:立即数寻址;目的操作数:基址寻址(3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址(4)源操作数:直接寻址;目的操作数:寄存器寻址5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址(7)只有一个操作数,为变址寻址(8)只有一个操作数,为相对寻址3. 已知DS=2000H 有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT 勺偏移地址为1200H。

微机原理与接口技术课件:第3章_3 加1指令INC(单操作数指令)

微机原理与接口技术课件:第3章_3 加1指令INC(单操作数指令)
(AL)=04H,CF=1 本例中,0FCH为-4的补码,执行求补指令后, 即得到4(-4的绝对值)。
7
SUB/SBB对标志位(CF/OF/ZF/SF)的影响
CF=
1 0
被减数的最高有效位有向高位的借位
否则
OF= 1 两个操作数符号相反,而结果的符号与减数相同
0 否则
CF=1表示无符号数减法溢出。 OF=1表示带符号数减法溢出。
MOV AL,34H
MOV BL,25H
CBW
; AL的符号扩展到AH
DIV BL ; 0034H÷25H,结果为
; (AH)=0FH, (AL)=01H
19
5.BCD码运算的十进制调整指令
• 专用于对BCD码运算的结果进行调整 • 包括:DAA、AAA、DAS、AAS、AAM、AAD • 均为隐含寻址,隐含的操作数为AL和AH • 为何要对BCD码的运算结果进行调整?
•AAA指令应紧跟在ADD或ADC指令之后。
21
AAA指令的操作如下: 如果AL的低4位>9∨AF=1,则:
① AL←(AL)+6,(AH)←(AH)+1,AF←1 ② AL←((AL)∧0FH) ③ CF←AF
否则AL←(AL)∧0FH
22
调整原理:先看一个例子
计算8+9 0000 1000
见右式
10
比较指令在使用时,一般在其后紧跟一条条件 转移指令,判断比较结果的转向。 举例:比较AL、BL、CL中带符号数的大小,将
最小数放在AL中。 程序:
CMP AL,BL ;AL和BL比较 JNG BBB ;若AL≤BL,则转 XCHG AL,BL ;若AL>BL,则交换 BBB: CMP AL,CL ;AL和CL比较 JNG CCC ;若AL≤CL,则转 XCHG AL,CL ;若AL>CL,则交换 CCC: HLT

微机原理第3章 8086微型计算机系统

微机原理第3章 8086微型计算机系统
第3章 8086微型计算机系统
2、总线接口部件BIU
BIU组成: 4个16位段寄存器(DS、CS、ES、SS); 指令指针寄存器(IP); 20位的地址加法器; 6字节指令队列缓冲器; 内部暂存器和总线控制逻辑。 BIU功能:负责CPU与存储器、I/O设备之间的 数据传送。具体包括: 取指令送指令队列,配合EU从指定的内存 单元或者外设端口中取数据,将数据传送 给EU,或者把EU的操作结果传送到指定的 内存单元或外设端口中。第3章 8086微型计算机系统
第3章 8086微型计算机系统
4、内存操作
读:将内存单元的内容取入CPU,原单元内容不改变; 写:CPU将信息放入内存单元,单元中原内容被覆盖; 刷新:对CPU透明,仅动态存储器有此操作 内存的读写的步骤为: 1)CPU把要读写的内存单元的地址放到AB上 2) 若是写操作, CPU紧接着把要写入的数据放到DB上 3) CPU发出读写命令 4) 数据被写入指定的单元或从指定的单元读出到DB 若是读操作, CPU紧接着从DB上取回数据
第3章 8086微型计算机系统
3、8086的存储器的地址
内存包含有很多存储单元(每个内存单元包含 8bit),为区分不同的内存单元,对计算机中 的每个内存单元进行编号,内存单元的编号 就称为内存单元的地址。
内存单 元地址
. . .
Bit 7 6 5 4 3 2 1 0 01011000
内存单 元内容
段基地址(16位)
第3章 8086微型计算机系统

段地址说明逻辑段在主存中的起始位置 8086规定段地址必须是模16地址:xxxx0H 省略低4位0000B,段地址就可以用16位数据 表示,就能用16位段寄存器表达段地址 偏移地址(也称有效地址EA)说明主存单元 距离段起始位置的偏移量 每段不超过64KB,偏移地址也可用16位数据 表示

微机原理重点考试习题Chapter 3

微机原理重点考试习题Chapter 3

第3章 80x86微处理器一、自测练习题㈠选择题1.因为8086 CPU的字数据既可以存放在内存的偶地址单元,也可以安排在奇地址单元,所以其堆栈指针SP( )。

A.最好指向偶地址单元 B.可以指向任何地址单元C.只能指向偶地址D.只能指向奇地址2.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是( )。

A.ALU B.加法器C.指令队列 D.内部通用寄存器3.8086CPU外部的数据总线和地址总线分别为( )位。

A.16,16 B.20,16 C.16,20 D.20,20 4.指令代码的地址存放在寄存器( )中。

A.DS和SI B.BX和BP C.ES和DI D.CS和IP5.最大方式中,控制总线的信号来自( )。

A.8282 B.8284 C.8288 D.82866.在8086中,一个基本的总线周期由( )个时钟周期组成。

A.1 B.2 C.3 D.47.在8086CPU中,数据地址引脚( )采用时分复用。

A.AD0~AD15 B.AD0~AD9 C.AD0~AD20 D.AD10~AD28.8086CPU把1MB空间划分为若干逻辑段,每段最多可含( )的存储单元。

A.1KB B.8KB C.16KB D.64KB9.当标志寄存器FLAGS中OF位等于1时,表示带有符号的字运算超出数据( )范围。

A.-128~+127 B.-32768~+32767C.000~FFFFH D.0~FFH10.总线写周期中,在( )时不需要像读周期时要维持一个周期的浮空状态以作缓冲。

A.-32767~+32767 B.-32767~+32768C.-32768~+32767 D.-32766~+3276911.CPU执行指令过程中,BIU每完成一次对存储器或I/O端口的访问过程,称为( )。

A.时钟周期 B.总线周期 C.总线读周期 D.总线写周期12.BHE与A0配合以决定访问存储器的数据是高字节还是低字节工作,其BHE仅在总线周期开始的( )周期有效。

微机原理第三章习题与参考答案

微机原理第三章习题与参考答案

第三章习题与参考答案3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。

指出下列指令的寻址方式和物理地址。

(1) MOV AX,0ABH 立即寻址无(2) MOV AX,BX 寄存器寻址无(3) MOV AX,[l000H] 直接寻址 10000H(4) MOV AX,DATA 直接寻址 (DS*16+DATA )(5) MOV AX,[BX] 寄存器间接寻址 10100H(6) MOV AX,ES:[BX] 寄存器间接寻址 20100H(7) MOV AX,[BP] 寄存器间接寻址 30200H(8) MOV AX,[SI] 寄存器间接寻址 10050H(9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH(10) MOV AX,DISP[BX] 寄存器相对寻址 11100H(1l) MOV AX,[BX+SI] 基址变址寻址 10150H(12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H3.2 分别说明下例指令采用的寻址方式和完成的操作功能。

(1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器(2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器(3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器(4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元(5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元(6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元(7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器(8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元(9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元3.3 判断下列指令正误,如果错误请指出原因。

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

二、8086/8088寄存器结构
§3.2 80X86微处理器
TF(Trap Flag):单步标志位。TF=1时,则每执行完一条指令,就自
动产生一次内部中断,使用户能逐条跟踪程序进行调试。 IF (Interrupt Flag):中断标志位 IF=1时,允许CPU响应可屏蔽中断; IF=0时,即使外部设备有中断申请,CPU也不响应。 DF(Direction Flag):方向标志位。控制串操作中地址指针变化方向 DF=0,地址指针自动增量,即由低地址向高地址进行串操作; DF=1,地址指针自动减量,即由高地址向低地址进行串操作。 由STD指令可使DF标志位置“1”,由CLD指令可使DF标志位置
BX:基址寄存器。在访问内存时,用于存放内存单元的偏移地址(寄存
器间接寻址); CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数
DX:数据寄存器。除用于存放一般数据外,还用于
在32位乘除法运算时,存放数据的高16位; 在间接寻址的I/O指令中存放I/O端口地址。
二、8086/8088寄存器结构
• ES(Extended Segment),扩展段寄存器中存放扩展数据段起始地址的 高16位。
二、8086/8088寄存器结构
§3.2 80X86微处理器
3、控制寄存器 控制寄存器:IP、FLAGS
• IP:指令指针寄存器,其内容为下一条要执行的指令的偏移地址
• FLAGS:标志寄存器(状态/控制标志)
8086CPU有16根数据线和20根地址线,直接寻址空间为2 ,即为1M
字节。 8088CPU内部结构与8086基本相同(但对外数据总线只有8条,称为
20
准16位微处理器)。
一、8086/8088内部结构 • 8086的内部结构从功能分成两个单元
§3.2 80X86微处理器
– 总线接口单元BIU (Bus Interface Unit)——管理8086与系统总线
执行,两者并行工作,大大提高了CPU的执行速度。 EU在执行指令时总是从BIU的指令队列的前部取出将要执行的指令。

Байду номын сангаас
在执行指令的过程中,如果指令需要访问内存或者端口,则EU请求BIU
进入总线周期,从而完成访问。
一、8086/8088内部结构
§3.2 80X86微处理器
具体表现为: 当指令队列已满,并且EU没有对BIU的内存和端口访问请求时,BIU进 入空闲状态,这其实是BIU对EU的等待。 在执行各种控制转移指令时,下面要执行的指令不是程序中紧接着的 指令了,但是指令队列中已经将那些指令装入了指令队列,而这些指 令是没有用的。此时,BIU会将指令队列清空,接着往指令队列中装入 转向目标地址处的指令。
• DX
CH,CL
DH,DL
DH
DL
这4个寄存器的一般用途是存放参与运算的操作数或运算结果。除
此之外,它们也有一些习惯用法。
二、8086/8088寄存器结构
§3.2 80X86微处理器
数据寄存器特有的习惯用法
AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接 口传送信息;
16位
地址 加法 器

CS DS SS ES IP 内部暂存器
20位
8位
输入/输出 控制电路 外 部 总 线
ALU
标志寄存器
执行部分 控制电路
1 2
16位
3
4 5 6
指令队列
执行部件 (EU)
总线接口部件 (BIU)
返回
一、8086/8088内部结构
§3.2 80X86微处理器
执行单元EU
功能:执行指令 包括以下部件: 算术逻辑单元 (ALU) 8个通用寄存器
是指CPU芯片内部数据传送的宽度(位数) 是指CPU与外部交换数据时的数据宽度。
内数据总线宽度 外数据总线宽度 地址总线
是在对存储器或I/O端口进行访问时,传送由CPU提 供的要访问的存储单元或I/O端口的地址信息的总
线,其宽度决定了处理器能直接访问的主存容量大小
为了满足微型计算机对存储器系统高速度、大容量、低成本的要求, 目前,微型计算机系统采用三级存储器组织结构。 即由高速缓冲存储器Cache、主存和外存组成
在ALU中完成数据运算 保存运算结果,并把特征保 存在标志寄存器FLAGS中 从指令队列中取出指令 译码
1个标志寄存器
EU控制电路
一、8086/8088内部结构
§3.2 80X86微处理器
地址加 法器
总线接口单元BIU
功能:物理地址形成、取指令、指令 排队、读/写操作数、总线控制。
包括以下部件:
二、8086/8088寄存器结构
§3.2 80X86微处理器
变址寄存器:SI、DI
• SI:源变址寄存器(Source Index) • DI:目标变址寄存器(Dest. Index) • 串操作指令中,SI存放源操作数的偏移地址,DI存放目标操作数的 偏移地址。
二、8086/8088寄存器结构
§3.2 80X86微处理器
2、段寄存器
段寄存器:CS、DS、ES、SS
• CS(Code Segment),代码段寄存器中存放程序代码段起始地址的高 16 位。 • DS(Data Segment),数据段寄存器中存放数据段起始地址的高16位。
• SS(Stack Segment),堆栈段寄存器中存放堆栈段起始地址的高16位
二、8086/8088寄存器结构
§3.2 80X86微处理器
BX与BP在应用上的区别
• 作为通用寄存器: 二者均可用于存放操作数,参与各种运算。 • 作为基址寄存器,在默认情况下:
BX用于寻址数据段(即存放数据段的偏移地址);
BP用于寻址堆栈段(即存放堆栈段的偏移地址)。 • 与段寄存器的搭配使用时,在默认情况下: BX与数据段寄存器DS搭配使用; BP与堆栈段寄存器SS搭配使用。
80386DX 85年 80386SX 88年 80486 奔腾 89年 93年
P7
97年 300
64
64
32
4096
1400万个
超流指令体系结
几个概念
集成度 主频 是指CPU芯片中所包含的晶体管数 是指芯片所使用的主时钟频率,它直接影响计算机的运行速度
数据总线
是计算机中各个组成部件间进行数据传送时的公共通道
16位寄存器,只用其中的9位,对应9个标志
状态标志:存放运算结果的特征(6个:CF,SF,AF,PF,OF,ZF) 控制标志:控制某些特殊操作(3个:IF,TF,DF)
二、8086/8088寄存器结构
§3.2 80X86微处理器
CF(Carrv Flag):进位标志位。最高位有进位或借位时,CF=1。
Henan University of Technology
第 3章 80X86微处理器
内 容 提 要
80X86微处理器简介
80X86微处理器 80X86存储器和I/O组织
§3.1 80X86微处理器简介
芯片 8086 8088 80286 时间 78年 79年 81年 时钟 4.77 4.77 6 12.5 16 20 60 DB 16 8 16 32 16 32 32 R(位) 16 16 16 32 32 32 32 AB 20 20 24 32 24 32 32 寻址空间 K个数(每片) 1MB 1MB 16MB 4096MB 16MB 4096 4096 2900个 2900个 13万个 25万个 25万个 125万个 310万个 内含协处理器和8KB缓存 分支预测16K缓存流水线和超 标量结构 高能 奔腾 95年 150 32 32 32 4096 550万个 指令优化调度执行 技术备注 引入实模式 第一用于2BMP 引入保护模式 多任务8086模式
是并
例如
行的。 BIU和EU作为CPU的两大部件,虽然不是同步工作的,但是它们相互配 合,并行工作,提高了效率。
一、8086/8088内部结构
§3.2 80X86微处理器
具体表现为: 每当8086的BIU的6指令队列中有2个为空的时候,BIU会自动从内存中
取出下面的指令的字节放到指令队列中。BIU取指令时,并不影响EU的
微处理器 CPU
高速缓冲存储器 (Cache)
主存储器 (主存)
外存储器 (外存)
内 容 提 要
80X86微处理器简介
80X86微处理器 80X86存储器和I/O组织
§3.2 80X86微处理器
InteL 8086CPU 16位微处理器,外型为双列直插式,有40个引脚; 时钟频率有3种: 8086型微处理器为5MHz, 8086—2型为8MHz, 8086—1型为10MHz;
§3.2 80X86微处理器
1、EU和BIU的操作原则
传统的CPU执行指令的过程是: 取指令->执行指令->再取指令->……,串行执行。
举 例
8086是把“取指令”和“执行指令”分别由BIU和EU两个部件来完成。
当EU正在执行指令时,BIU可以从内存中取出指令字节,放在指 令队列中。这样,使得“取指令”和“执行指令”的操作在时间上
“0”。
二、8086/8088寄存器结构
状态位 执行x+y后
§3.2 80X86微处理器
执行X+Y后
例3.1 设变量x=11101111B,y=11001000B,X=0101101000001010B, ,请问分别执行x+y最高为 和X+Y 操作后标志寄存器中各状 Y=01001100 10100011B 最高为D7向前有进位,CF=1 D15向前没有进位,CF=0 CF 态位的状态如何? 低8位中1的个数为偶数(6),PF=1 PF
相关文档
最新文档