微机原理80x86指令系统

合集下载

微机原理及接口技术80486

微机原理及接口技术80486
存储容量单位 1TB=1024GB 1GB=1024MB 1MB=1024KB 1KB=1024字节 1字节=二进制8位
2019/2/11
3
② 数据总线传输数据,用来与存储器单元和 I/O接 口交换数据。
8086/80286CPU内/外数据线都是16位。
80386/80486CPU数据线是32位。
对LDTR和TR的说明:
※这两个寄存器只能在保护方式下使用。 ※在保护模式下程序可访问字段仅限于段选择器字段,
即只能用指令加载段选择器。
2019/2/11 27
用LLDT和LT指令可设置成改变相应的选择器字段,依 选择器字段可 从全局描述符表中找到指定的基地址描述符和 任务状态段描述符,在将描述符中的32位段基址和16位的段 限及16位的属性字段加载到 LDTR和TR的64位高速缓冲寄存 器中。
2019/2/11
16
三、具有对存贮器及特权层的保护功能
CPU内部具有保护机构: 1。对特权层的保护功能:禁止程序的非法操作如:向代码段进行写入操 作,访问段限以外的存贮区域等。
2。对特权层的保护功能:
特权层分为4级:
1级
0级
OS核 系统服务程序 应用服务程序
2019/2/11
2 级
3 级
应用程序
31
2019/2/11
0 15
表基址 表限
0
26
可在实模式方式下,通过编程对GDTR和IDTR加载,以实现对 GDT和IDT在保护方式下的初始化操作。 15 0 15 0 31 0 表基址字段 15 0 边界字段 选择器字段 属性字段
LDTR和TSR共80位:32位的表基址字段+20位的边界字段
+12位的访问权字段 +16位的选择器字段。

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H

80x86的指令系统

80x86的指令系统

80x86的指令系统1.1.1数据传送指令:负责把数据、地址或立即数传送到寄存器或存储单元中。

1.通用数据传送指令(1).MOV——传送指令指令格式:MOV DST,SRC ;(DST)←(SRC)。

DST表示目的操作数, SRC表示源操作数说明:①.DST为除CS外的各寄存器寻址方式或任意存储器寻址方式。

SRC为任意数据寻址方式。

②.DST、SRC不能同时为存储器寻址方式,也不能同时为段寄存器寻址方式,而且在DST为段寄存器时,SRC不能为立即数。

③.MOV指令不影响标志位。

(2).MOVSX——带符号扩展传送指令(386及其后继机型可用)指令格式:MOVSX DST,SRC ;(DST)←符号扩展(SRC)说明:①.DST必须为16位或32位寄存器。

SRC为8位或16位的寄存器或存储单元的内容。

传送时把源操作数符号扩展送入目的寄存器。

②.MOVSX指令不影响标志位。

(3).MOVZX——带零扩展传送指令(386及其后继机型可用)指令格式:MOVZX DST,SRC ;(DST)←零扩展(SRC)说明:①.DST必须为16位或32位寄存器。

SRC为8位或16位的寄存器或存储单元的内容。

传送时把源操作数零扩展送入目的寄存器。

②.MOVZX指令不影响标志位。

(4).PUSH——进栈指令指令格式:PUSH SRC ;16位指令:(SP)←(SP) –2 ((SP)+1,(SP))←(SRC)32位指令:(ESP)←(ESP) –4 ((ESP)+3, (ESP)+2, (ESP)+1,(ESP))←(SRC)说明:①.堆栈:计算机开辟的以“后进先出”方式工作的存储区。

它必须存在于堆栈段中,只有一个出入口,所以只有一个堆栈指针SP或ESP。

SP或ESP的内容在任何时候都指向当前的栈顶。

②.8086中的SRC不能为立即数寻址方式。

286及其后继机型可用立即数寻址方式。

③.PUSH指令不影响标志位。

(5).POP——出栈指令指令格式:POP DST ;16位指令:(DST)←((SP)+1,(SP)) (SP)←(SP)+232位指令:(DST)←((ESP)+3, (ESP)+2, (ESP)+1, (ESP)) (ESP)←(ESP)+4说明:①.DST为除立即数及CS寄存器以外的任意数据寻址方式。

第4章(1)微机原理与接口技术(第三版)(王忠民)

第4章(1)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—立即数寻址方式
MOV AX, 1234H
程序存储器
AH AL
12H 34H 操作码字节 指
34H 令
12H

第四章 80x86 指令系统—寄存器寻址方式
2)寄存器寻址方式 操作数存放在CPU的内部寄存器reg中:
8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES
微机原理与接口技术
西安邮电大学计算机学院 宁晓菊
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本章主要内容
1 80x86指令的寻址方式(3讲) 2 80x86指令系统(5讲)
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本讲主要内容
1 寻址方式概述 2 数据寻址方式之一:
80 21H
操作码

21H

AL

80
第四章 80x86 指令系统—I/O端口寻址方式
⑵ 间接端口寻址方式 MOV DX, 1234H OUT DX, AL
I/O接口 0001H
DX
12
34
0002H
……
AL
80 1234H
80
Thank you!
感谢
谢谢,精品课件 资料搜集
第四章 80x86 指令系统—立即数寻址方式
1)立即数寻址方式 指令中的操作数直接存放在机器代码中,紧跟在操
作码之后(操作数作为指令的一部分存放在操作码 之后的主存单元中)

微机原理课后习题参考答案

微机原理课后习题参考答案

微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。

微型计算机:简称“微型机”、“微机”,也称“微电脑”。

由大规模集成电路组成的、体积较小的电子计算机。

由微处理机(核心)、存储片、输入和输出片、系统总线等组成。

特点是体积小、灵活性大、价格便宜、使用方便。

微型计算机系统:简称“微机系统”。

由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。

配有操作系统、高级语言和多种工具性软件等。

1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。

1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。

总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。

1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。

资料:经典的80x86指令系统(指令大全)

资料:经典的80x86指令系统(指令大全)

80x86指令系统80x86的指令系统可以分为以下6组:数据传送类指令算术指令逻辑指令串处理指令控制转移指令处理机控制指令1、数据传送指令数据传送类指令负责把数据、地址或立即数传送到寄存器或存储单元中。

它又可以分为五种:1.1、通用数据传送指令MOV 传送MOVSX 带符号扩展传送MOVZX 带零扩展传送PUSH 进栈POP 出栈PUSHA 所有寄存器进栈POPA 所有寄存器出栈XCHG 交换(1)MOV传送指令格式为:MOV DST,SRC执行操作:(DST)<——(SRC)MOV指令可以在CPU内或CPU和存储器之间传送字或字节,MOV指令不影响标志位(2)MOVSX带符号扩展传送指令格式为:MOVSX DST,SRC执行操作:(DST)<——符号扩展(SRC)该指令的源操作数可以是8位或16位的寄存器或存储单元的内容,而目的操作数则必须是16位或32位寄存器,传送时把源操作数扩展送入目的寄存器。

MOVSX不影响标志位(3)MOVZX带零扩展传送指令格式为:MOVZX DST,SRC执行操作:(DST)<——零扩展(SRC)MOVSX和MOVZX指令与一般双操作数指令的差别是:一般双操作数指令的源操作数和目的操作数的长度是一致的,但MOVSX和MOVZX的源操作数长度一定要小于目的操作数长度(4)PUSH进栈指令格式为:PUSH SRC执行操作:16位指令:(SP)<——(SP)-2((SP)+1),(SP))<——(SRC)32位指令:(ESP)<——(ESP)-4((ESP)+3),(ESP)+2),(ESP)+1)(ESP))<——(SRC)(5)POP出栈指令格式为:POP DST16位指令:(DST)<——((SP)+1),(SP))(SP)<——(SP)+232位指令:(DST)<——((ESP)+3),(ESP)+2),(ESP)+1)(ESP))(ESP)<——(ESP)+4堆栈是一种“后进先出”方式工作的一个存储区,它必须存在于堆栈段中,因而其段地址存放于SS寄存器中。

微机原理与接口技术第3章 80x86指令系统

微机原理与接口技术第3章 80x86指令系统

52234H 89H (操作数低8位) 52235H 67H (操作数高8位)
……
运行结果:(AX) = 6789H
图3-11 基址变址寻址
图3-12 DEBUG下基址变址指令的输入、汇编及执行
5、相对基址变址寻址
EA = 基址 + 变址 + 位移量
例如:(DS)=5000H,(BX)=1234H,(SI)=1000H ,则: MOV AX,[BX+SI+2000H]
I/O端口寻址
间接端口寻址:采用这种寻址方式时,端口地址为16 位(0~0FFFFH)。
必须先将端口地址存放到寄存器DX中。
例如:
MOV DX,1000H ;端口地址为1000H OUT DX,AL ;间接端口寻址
小结
1. 立即寻址方式:MOV AX,0FF00H 2. 寄存器寻址方式: MOV DX,AX 3. 直接寻址方式: MOV AX,[2000H] 4. 寄存器间接寻址方式: MOV BX,[SI] 5. 寄存器相对寻址方式: MOV AL,COUNT[BX] 6. 基址变址寻址方式: MOV AX,[BX][SI] 7. 相对基址变址寻址方式:
SS
SP
栈顶(低地址)
堆 栈
已入栈 的数据
……

栈底(高地址)
图3-20 堆栈结构
➢ 指令格式:PUSH 16位/32位源操作数 POP 16位/32位目的操作数
源操作数:16位或32位通用寄存器、段寄存器或存储器操作 数
386以上系统允许PUSH指令的源操作数为立即数 目的操作数:16位或32位通用寄存器、段寄存器或存储器操 作数 只有386以上的处理器才能使用32位的操作数

80x86微机原理与接口技术课程设计

80x86微机原理与接口技术课程设计

80x86微机原理与接口技术课程设计
摘要
本文主要介绍80x86微机原理和接口技术的课程设计。

80x86微机是指由
Intel公司推出的一系列x86架构的微处理器,是现代计算机的基础。

通过本次课
程设计,学生将学会如何搭建一个基于80x86微机的系统,包括软件和硬件的设计与实现。

该课程的目的是让学生深入了解80x86微机的原理和接口技术,并能够独立完成微处理器系统的设计。

引言
80x86微机是指由Intel公司推出的一系列x86架构的微处理器,是现代计算
机的基础。

80x86微机的原理和接口技术是计算机专业中的经典课程之一,非常重要。

在学习过程中,我们将首先了解80x86微机的基本组成、工作原理和指令集。

然后,我们将学习80x86微机的接口技术,主要包括硬件接口和软件接口,并通过实践掌握80x86微机的应用和调试技术。

最后,我们将通过课程设计来应用所学知识,实现一个基于80x86微机的系统。

课程设计目的
80x86微机原理和接口技术的课程设计的主要目的是: - 让学生深入了解
80x86微机的原理和接口技术; - 培养学生独立完成微处理器系统的设计和实现
能力; - 让学生掌握80x86微机的应用和调试技术; - 提高学生的工程实践能力。

课程设计任务
本次课程设计的任务是使用80x86微机设计和实现一个基于汇编语言的游戏程序。

具体要求包括: - 设计和搭建一个基于80x86微机的硬件系统,包括CPU、
1。

微机原理5_8086指令系统08

微机原理5_8086指令系统08

• 指令中的操作数:
– 可以是一个具体的数值 – 可以是存放数据的寄存器 – 或指明数据在主存位置的存储器地址
6
双操作数指令
MOV dst, src ; (dst) (src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: MOV AH,BL MOV AX,1234H
ADD dst, src ; (dst) (dst)+(src) ↑ ↑ ↑ 助记符 目的 源操作数 操作数 例: ADD AL,36H ADD BX,CX 大多数运算型指令都是双操作数指令,对这种指令, 有的机器(大中型)使用“三地址”指令:除给出参加 运算的两个操作数外,还要指出运算结果的存放地址 7
18
寄存器寻址
19
特 点
(1) 操作数就在寄存器中,不需要访问存
储器来取得操作数(指令执行时,操作就在 CPU的内部进行),因而执行速度快。
(2)寄存器号比内存地址短 * 在编程中,如有可能,尽量使用这种寻址 方式的指令。 * 寄存器寻址方式既可用于源操作数,也可 用于目的操作数,还可以两者都用于寄存器寻 址方式(如 MOV BX , AX )
物理地址 = 16d (DS) +
BP (SS)
(SI)
(DI)
28
物理地址 = 16d (SS) + (BP)
例:
MOV AX, [BX] MOV ES:[BX] , AX MOV DX, [BP] • MOV AX , [BX] ;
设 ( DS) = 2000H ,(BX) = 1000H PA =20000H + 1000H =21000H 指令的执行结果为: (AX) = 50A0H *指令中也可以通过“段跨越前缀”取 得其他段中的数据, 例如: MOV AX,ES: [BX] PA = 16d (DS) + (BX) PA = 16d (ES) + (BX) PA = 16d (SS) + (BP)

微机原理第4章练习题及答案

微机原理第4章练习题及答案

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。

A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。

A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。

A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。

A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。

A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。

A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。

A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。

80x86微机原理参考答案

80x86微机原理参考答案

80x86微机原理参考答案第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。

1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。

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

微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。

80X86微机原理及接口技术实验教程(1)

80X86微机原理及接口技术实验教程(1)
MOV AL, [DI]
CMP AL, 3AH
JNB A2;不低于3AH则转A2
SUB AL, 30H
JB A2;低于30H则转A2
MOV BL, AL
A2:MOV AL, BL;结果或错误标志送入AL
MOV [DI+0AH],AL;结果存入目标地址
INC DI
LOOP A1
MOV AX,4C00H
AND AX,000FH;取低4位
CMP AL,0AH
JB A2;小于0AH则转A2
ADD AL,07H;在A~FH之间,需多加上7H
A2:ADD AL,30H;转换为相应ASCII码
MOV [DI+0DH],AL;结果存入目标地址
DEC DI
PUSH CX
MOV CL,04H
SHR DX,CL;将十六进制数右移4位
0000:350A 01 02 03 04 05 CC …
(5)反复测试几组数据,验证程序功能。
3. 将十六位二进制数转换为ASCII码表示的十进制数
十六位二进制数的值域为0~65535,最大可转换为五位十进制数。
五位十进制数可表示为:
Di:表示十进制数0~9
将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H~3514H单元中。
计算机与外设间的数制转换关系如图1.11所示,数制对应关系如表1.1所示。
图1.11 数制转换关系
1. 将ASCII码表示的十进制数转换为二进制数
十进制表示为:
(1)
Di代表十进制数0,1,2,…,9;

《微机原理与接口技术》(第3版_汪吉鹏)电子教案3

《微机原理与接口技术》(第3版_汪吉鹏)电子教案3

说明:
OPS → OPD
(1)MOV指令不允许在两个存储单元之间直接传送数据。 (2)MOV指令不允许在两个段寄存器之间直接传送数据。 (3)MOV指令不允许用立即数直接为段寄存器赋值。 (4)MOV指令不影响标志位。
MOV指令传送信息的形式:
指令系统
(1)寄存器到寄存器,如: MOV AX,BX (2)立即数到寄存器,如: MOV AX, 1234H (3)立即数到存储单元,但必须用PRT确定操作数类型
汇编格式为:段寄存器名:偏移地址 功能:冒号“:”之前的段寄存器指明了操作数所在段。
指令系统
举例说明:
例如:
(1)MOV AX,DS:[BP]
(2)MOV AX,ES:[BX]
(3)MOV BX,SS:[SI]
其中,“DS:”、“ES:”、“SS:”均为跨段前缀。此时,默认不起作用。 所
以,操作数的物理地址由“:”前面的段寄存器内容左移4位与偏移地址EA相加 而
(21300H)=5678H。
执行后:AX=5678H,BX、DI,DS。(21300H)内容不变。
8.段超越问题
指令系统
以上七种寻址方式中,除立即数寻址方式和寄存器寻址方式外,其它各种 寻址方式的操作数都在除代码段以外的存储区中。通常,若选用寄存器BP 作间址寄存器、变址寄存器或基址寄存器,只要BP出现在方括号之内, 则操作数在当前堆栈段,此时,操作数的物理地址PA由堆栈段寄存器SS 的内容左移4位与偏移地址EA相加形成。这是8086的基本约定,即默认状 态。当要否定默认状态,到非约定段寻找操作数时,必须用跨越段前缀 指明操作数所在段的段寄存名。
注:该操作数可以是8位或者16位二进制补码表示的常数。
说明:指令的下一字单元的内容为操作数n, n也称为 立即操作数。

《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理

《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理

80486的标志寄存器
31 0 ………. 17 16 15 14 13 12 1 10 9 8 7 6 5 4 3 IO A V R N P O D I T S Z 0 A 0 0 M F T L F F F F F F F C 2 P F 1 1 0 C F
AC 对准校验 VM:虚拟8086模式(X) RF RF:恢复标志(X) (X) NT:嵌套任务标志(X) IOPL: I/O特权级标志(X) OF: 溢出标志(S) DF: 方向标志(C) IF: 允许中断标志 (X) 自陷标志(X) TF: SF: 符号标志(S) ZF: 零标志(S) AF: 辅助进位标志(S) PF: 奇偶校验标志(S) CF: 进位标志(S) 9
15
图3.4示出80486微处理机CPU的逻辑框图。 图中的Cache部件、8K字节的统一Cache、 以及浮点部件FPU和EP寄存器组在以 80386为基础的系统内属于不同的独立芯 件,并不在80386 CPU芯片之内,而在 80486中这些部件变成了80486 CPU的一 个组成部分。 这两个新集成到80486 CPU内的部件,一 个是浮点部件FPU,它有效地提高了浮点 操作性能;另一个是指令和数据共用的高 速缓冲存储器Cache。
12
4.段寄存器
80486 配备有6个16位的段寄存器,段寄存器 也叫选择符 (Selector)。它们的名字和用途 与80386 的一样,其名称分别是: 代码段寄存器 CS 数据段寄存器 DS 堆栈段寄存器 SS 附加数据段寄存器 ES 附加数据段寄存器 FS 附加数据段寄存器 GS
13
3.1.2 80486 CPU系统原理
80486的通用寄存器
31 16 15 AX BX CX DX SI DI BP SP 0 EAX EBX ECX EDX ESI EDI EBI ESP 15 AH BH CH DH 8 7 AL BL CL DL 0 AX BX CX DX

微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)
格式:SBB DST,SRC 操作:DST <= DST-SRC-CF
▪DEC(Decrement) 减1
格式:DEC DST 操作: DST <= DST -1
第四章 80x86 指令系统—算术运算指令
▪NEG(Negate)求补
格式:NEG DST 操作: DST <= 0-DST
利用NEG指令可以得到负数的绝对值
60H

ACH

74H

3BH

DATA2 C1H
36H

9EH

D5H
20H

图4.19 例4.3中被加数和加数在内存中的存放情况
第四章 80x86 指令系统—算术运算指令
程序如下: LOOPER:MOV
MOV CX,5
;设置循环次数
MOV SI,0
;置位移量初值
CLC
AL,DATA2[SI]
;取一个
第四章 80x86 指令系统—算术运算指令
说明: 1、DST:REG/MEM,SRC:8/16data/REG/MEM。 2、DST、SRC不能同时为MEM。 3、加法指令影响标志寄存器的状态标志。 4、INC指令不影响CF标志。
第四章 80x86 指令系统—算术运算指令 例 4.3 计 算 两 个 多 字 节 十 六 进 制 数 之 和 : 3B74AC60F8H+20D59E36C1H=?
第四章 80x86 指令系统—算术运算指令
(3)乘法指令
▪MUL(Unsigned Multiple) 无符号数乘法
格式:MUL SRC 操作:AX<=AL*SRC(字节)/ DX,AX<=AX*SRC(字)

微机原理与接口技术第三版课本习题答案

微机原理与接口技术第三版课本习题答案

第二章8086体系结构与80x86CPU1.8086CPU由哪两部分构成?它们的主要功能是什么?答:8086CPU由两部分组成:指令执行部件①小Execution Unit)和总线接口部件①卬,Bus Interface Unit)。

指令执行部件^^主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。

总线接口部件(8口)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或1/0端口读取操作数参加EU运算或存放运算结果等。

2.8086CPU预取指令队列有什么好处?8086CPU内部的并行操作体现在哪里?答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件^^在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。

从速度上看,该指令队列是在CPU 内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。

8086CPU内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。

5.简述8086系统中物理地址的形成过程。

8086系统中的物理地址最多有多少个?逻辑地址呢?答:8086系统中的物理地址是由20根地址总线形成的。

8086系统采用分段并附以地址偏移量办法形成20位的物理地址。

采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。

通过一个20位的地址加法器将这两个地址相加形成物理地址。

具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。

由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。

微型计算机原理-第4章(2)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(2)微机原理与接口技术(第三版)(王忠民)
微机原理与接口技术
西安邮电大学计算机学院 宁晓菊
第四章 80x86 指令系统(第二讲) 第一章 微型计算机系统导论(第一讲)
本讲主要内容
1 数据寻址方式之二: 存储器寻址方式
第四章 80x86 指令系统—存储器寻址方式
存储器寻址方式 存储器寻址方式的操作数存放在存储器单元中。因此,要存 取操作数就必须知道其存储器的单元地址。在指令中可以直接给出 或间接给出操作数的地址,以达到存取操作数的目的。
段地址对应BX基址寄存器默认是DS,对应BP基址寄存器默认 是SS;可用段超越前缀改变
第四章 80x86 指令系统—存储器寻址方式
(BX)
(DI)
EA= (BP) + (SI)
MOV AH, [BP][SI]
SS:40000H
M
BP: 2000H + SI: 1200H
43200H
……
AH
40000H
有效地址是寄存器内容与有符号8位或16位位移量之和,寄 存器可以是BX、BP或SI、DI 有效地址=BX/BP/SI/DI+8/16位位移量
段地址对应BX/SI/DI寄存器默认是DS,对应BP寄存器默认是 SS;可用段超越前缀改变
第四章 80x86 指令系统—存储器寻址方式
MOV CL, [BX+1064H]
第四章 80x86 指令系统—存储器寻址方式
指令中给出的地址只是操作数的有效地址(EA),并且是 放在方括号(“[ ]”)中。若要从存储器中存取操作数还须 得到实际的地址(物理地址)。
物理地址=段基址左移四位+有效地址
物理地址=
CS
DS SS
× 10H
+ EA
ES

微机原理与接口 内容总结(4-5)

微机原理与接口 内容总结(4-5)

Adjust for Addition)
用于对两个压缩十进制数的相加结果进行 调整,也总是跟在加法指令后。
24
第1~4章 微型计算机原理内容总结
乘法指令
• MUL 源 ;无符号数乘法,只影响标志位OF和CF, 其他状态标志在执行MUL指令后无定义。若运算结果高 字节(或高字)有效,则OF=1,CF=1。 字节型乘法,一个乘数在AL中,在指令中给出另一个 乘数,结果放在AX中; 字型乘法,一个乘数在AX中,指令中给出另一个乘数, 结果为双字,高16位在DX中,低16位在AX中。 • IMUL 源 ;有符号数乘法 • AAM ;乘法的ASCII码调整指令,只能在MUL指令后。 调整算法:AH = AL/10 AL = AL MOD 10
20
第1~4章 微型计算机原理内容总结
运算数据格式和对标志位影响
(1)数据类型
类型 字节 字
不带符号的二进制数
带符号的二进制数 不带符号的压缩十进制数 不带符号的非压缩十进制 数
0-255
-128- 127 0-99 0-9
0-65535
-32768- 32767 0-9999 0-99
21
第1~4章 微型计算机原理内容总结
非法指令的主要现象: • 两个操作数的类型不一致 • 无法确定是字节量还是字量操作 • 两个操作数都是存储器 • 段寄存器的操作有一些限制 • ……
10
第1~4章 微型计算机原理内容总结
第4章:2. 交换指令XCHG(exchange) • XCHG reg,reg/mem 把两个地方的数据进行互换
1
第1~4章 微型计算机原理内容总结
第4章:总结
• 本章展开了8088CPU16位指令系统的常用指令 • 希望大家就如下几个方面进行一下总结:

80x86微机原理与接口技术实验教学内容及方法

80x86微机原理与接口技术实验教学内容及方法
在采用 8088CPU 作为处理器的通用微型计算机中,系统中的所有其他部件直接与处理 器相连,处理器作为系统核心,通过 PC 总线对系统中的其他部件进行控制及数据交换。这 种 PC 总线称为 XT 总线,它采用了 8 位数据总线和 20 位地址总线,以 CPU 时钟作为总线
时钟,可支持 4 通道 DMA 和 8 级硬件中断。其结构示意如图 1-2-1 所示。
其中微机接口技术实验部分,是面向当前流行的 80x86 微机系统的,体现出贴近于应用 的内容本质。微机接口技术实验包括了四方面的内容,一是 80x86 微机系统的基本接口技术 内容,包括存储扩展、中断管理、DMA 传送、I/O 控制等,适合于所有学生进行学习和实 践;二是接口技术的控制应用内容,适合于自动化和机电控制等专业的学生进行学习和实践; 三是 PCI 总线接口技术内容,适合于所有电类或偏电类专业、包括计算机专业的学生进行 学习和实践;四是 PCI、USB 总线应用开发内容,适合于作本科毕业设计或研究生教学内容。
27.5
1
1985
80486DX
IA-32
32
32
32
8KB
25-66
120
1-0.8 1989
Pentium
IA-32
32
64
32
16KB
60-200
330
0.8-.35 1993
Pentium MMX
IA-32
32
64
32
32KB
166-233
450
0.35-.28 1996
Pentium Pro
随着微处理器和操作系统的变化,用户对微机处理的高速性能提出新的要求,为了提高 处理器与各部件及部件与部件间传输信息的整体效率,微机系统中采用了十分明确的总线分 级结构,即 CPU 总线、局部总线(PCI 总线)、系统总线结构。连接各级总线的是一些高集 成度的多功能桥路芯片,它们可以起到信号速度、电平转换和控制协议转换的作用。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 80x86指令系统
五、控制转移类指令
能够使程序的执行流程发生改变的指令 1.无条件转移 JMP 转移指令 只要执行无条件转移指令JMP,就使程序转移到 指定的目标地址,从目标地址处开始执行指令。 操作:有以下几种类型 ⑴ 段内直接短转移
JMP SHORT opr ;(IP)←(IP) + Data8 Data8是一个字节的补码数 范围:-128~+127
LOOPNZ(LOOPNE) 当不为零或不相等时循环
判断CX是否等于零,不等于零且ZF=0则循环
编辑ppt
6
第4章 80x86指令系统
操作: ① CX ←CX-1 ② 根据判断结果确定是否循环 说明: ① 循环指令不影响状态标志。 ② 如果目标位置的位移量超出Data8所能够表 示的范围,则需要用JMP辅助来完成循环。
编辑ppt
8
第4章 80x86指令系统
RET Data16 在RET的基础上,把SP再加上一个字数据: SP ←SP + Data16
编辑ppt
9
第4章 80x86指令系统
六、处理器控制指令
1. 标志处理指令
CLC 对CF清零, CF ← 0
STC 对CF置位, CF ← 1
CMC 对CF取反,CF← CF
编辑ppt
7
第4章 80x86指令系统
4.子程序调用 CALL 子程序调用指令 用法:CALL dst 说明:由编译程序自动匹配为某种寻址方式 RET 子程序返回指令 用法:RET 段内返回:IP ←[SP], SP ←SP + 2 段间返回:IP ←[SP], SP ←SP + 2,
CS ←[SP], SP ←SP + 2 编译程序自动匹配为段内或段间的返回
ESC (Escape) 换码
该指令是一个交权的指令前缀,把指令给协处理 处理。
一般和WAIT指令一起使用,通过TEST引脚和协
处理器同步。
编辑ppt
11
第4章 80x86指令系统
LOCK (Lock) 封锁 该指令是一个前缀,使得使用此前缀的指令执行 时一直维持总线封锁状态。
3. 空操作指令 NOP (No Operation) 空操作 一个字节的机器码,不执行任何操作,常用在调 试程序时使用。
CLD 对DF清零,DF ← 0
STD 对DF置位,DF ← 1
CLI
对IF清零,IF ← 0
STI
对IF置位,IF ← 1
编辑ppt
10
第4章 80x86指令系统
2. 外部同步指令
HLT (Halt) 停机
处理器停止工作,等到外部中断到来,中断结束 后继续向下执行。
WAIT (Wait) 等待
处理器处于等待状态,等到外部的TEST引脚上的 低电平到来。
有符号数还是无符号数。
编辑ppt
5
第4章 80x8Hale Waihona Puke 指令系统⑷ 判断CX寄存器
JCXZ: CX=0
3.循环
循环指令的转移也都是段内直接短转移,即 (IP)←(IP)+Data8类型的转移。
LOOP 循环
判断CX是否等于零,不等于零则循环
LOOPZ(LOOPE) 当为零或相等时循环
判断CX是否等于零,不等于零且ZF=1则循环
编辑ppt
1
第4章 80x86指令系统
⑵ 段内直接近转移
JMP NEAR PTR opr
(IP)←(IP) + Data16 Data16是两个字节的补码数 范围:-32768~+32767 ⑶ 段内间接转移
JMP WORD PTR opr (IP)←寄存器或存储器操作数
⑷ 段间直接转移
JMP FAR PTR opr
指令中用立即数的形式指出目标位置的段地址和 偏移量
编辑ppt
2
第4章 80x86指令系统
⑸ 段间间接转移 JMP DWORD PTR opr
目标位置的段地址和偏移量保存在存储器中 说明: ① 在汇编语言中通常使用标号表示要转移到的 位置。 ② 在DEBUG环境中通常使用直接指出的是将要 转移到的位置。 ③ 使用该指令,可以使程序流程改变到任何目 标位置。
编辑ppt
3
第4章 80x86指令系统
2.条件转移
根据判断条件是否成立决定是否转移。按照判 断条件的不同分为以下类型:单个标志、无符号数判 断、有符号数判断、CX寄存器。
条件转移都是段内直接短转移,即 (IP)<=(IP)+Data8类型的转移。
⑴ 判断单个标志
ZF: JZ(JE), JNZ(JNE)
SF: JS, JNS
OF: JO, JNO
PF: JP, JNP
CF: JC, JNC
编辑ppt
4
第4章 80x86指令系统
⑵ 判断无符号数的大小
助记符中的意义: A:大于,B:小于,E:等于
JB(JNAE),JNB(JAE)同JC,JNC, JBE(JNA),JNBE(JA): 判断CF and ZF
编辑ppt
12
⑶ 判断有符号数的大小
助记符中的意义: G:大于,L:小于,E:等于
JL(JNGE): SF xor OF = 1
JNL(JGE): SF xor OF = 0
JLE(JNG):(SF xor OF) and ZF = 1
JNLE(JG):(SF xor OF) and ZF = 0
使用比较大小的指令时,必须区分是
相关文档
最新文档