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

  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
使用比较大小的指令时,必须区分是
相关文档
最新文档