微机原理与接口技术算术运算指令 3-6

合集下载

微机原理与接口技术课件PPT

微机原理与接口技术课件PPT

汇编语言的优点
汇编语言具有高效、可移植性、 可维护性等优点,适用于编写操 作系统、编译器等关键软件。
汇编语言的缺点
汇编语言编写复杂,容易出错, 且可移植性较差,需要针对不同 的计算机体系结构进行修改。
高级语言
01
高级语言的定义
高级语言是一种抽象程度更高的 编程语言,它使用更接近自然语 言的语法和语义。
实验提供参考。
THANKS FOR WATCHING
感谢您的观看
串行接口的数据传输速率比并行 接口慢,但只需要一根数据线, 因此成本较低。
03
串行接口的常见标准包括RS-232 、RS-422和USB。
04
中断控制器
中断控制器是微机中的一 种重要组件,它负责管理 计算机系统中断的处理。
中断控制器可以管理硬件 设备的中断请求,例如键 盘、鼠标和计时器等。
ABCD
并行接口通常用于连接打印机、磁盘驱动器等高速设备, 因为这些设备需要快速传输大量数据。
并行接口的常见标准包括ECP、EPP和USB。
串行接口
01
串行接口是一种数据传输方式, 它通过单个数据线逐位传输数据 。
02
串行接口通常用于连接鼠标、调 制解调器等低速设备,因为这些 设备不需要快速传输大量数据。
语音识别和图像处理
利用微机原理与接口技术,可以实现语音识 别和图像处理等功能,提高办公自动化水平 。
在家用电器中的应用
1 2 3
智能家居控制
微机原理与接口技术可以用于智能家居控制,实 现家用电器的远程控制和自动化控制。
电视和音响设备控制
通过微机原理与接口技术,可以实现电视和音响 设备的智能控制,提供更加便捷和智能的娱乐体 验。

《微机原理与接口技术》课后习题答案

《微机原理与接口技术》课后习题答案

《微机原理与接⼝技术》课后习题答案第⼀章1.在计算机中为什么使⽤⼆进制数存储数据⽽不使⽤⼗进制数存储数据?答:计算机是由⼤量的电⼦器件组成的,在这些电⼦器件中,电路的通和断、电位的⾼和低,⽤两个数字符号“1”和“0”分别表⽰容易实现。

同时⼆进制的运算法则也很简单,因此,在计算机内部通常⽤⼆进制代码来作为内部存储、传输和处理数据。

2.完成下列数制之间的转换。

(1)01011100B=92D (2)0.10110011B=0.41D(3)135D=1111101B (4)99.4375D=1100011.0111B3.组合型BCD码和⾮组合型BCD码有什么区别?写出⼗进制数254的组合型BCD数和⾮组合型BCD数答:1)BCD码是通常的8421码,它⽤4个⼆进制位表⽰⼀个⼗进制位,⼀个字节可以表⽰两个⼗进制位,即00~992)⾮组合BCD码⽤8个⼆进制位表⽰⼀个⼗进制位,实际上只是⽤低4个⼆进制位表⽰⼀个⼗进制位0~9,⾼4位任意,但通常默认为03)254(10)=0010 0101 0100(BCD)254(10)=00100101 00000100(BCD)4.ASCII码的编码⽅法是什么?写出⼗进制数205和字符串A+B=C的ASCII码。

答:1)ASCII码的编码⽅法是使⽤7 位⼆进制数来表⽰所有的⼤写和⼩写字母,数字0 到9、标点符号,以及在美式英语中使⽤的特殊控制字符2)⼗进制205的ASCII码是:011 000 1013)字符串A+B=C的ASCII码是:412B423D435.机器数与真值有什么区别?机器数有哪些特点?答:1)真值是所表⽰的数的⼤⼩,⼀般⽤⼗进制表征。

机器数原码,补码,反码都是机器数⼀种表现形式,或说都属于机器数2)机器数的特点:⼀:数的符号数值化。

实⽤的数据有正数和负数,由于计算机内部的硬件只能表⽰两种物理状态(⽤0和1表⽰),因此实⽤数据的正号“+”或负号“-”,在机器⾥就⽤⼀位⼆进制的0或1来区别。

微机原理与接口技术习题答案

微机原理与接口技术习题答案

01-01 什么是冯.诺依曼机?(PP7)答:微型计算机的操作过程采用的是程序存储原理,这是由数学家冯.诺依曼(Jone Von Neumen)首先提出的,因此计算机常常称为冯.诺依曼机。

程序存储原理指出:用机器码指令排出的程序在执行前,首先存储于存储器中,存储器既存储程序又存储数据。

然后CPU逐条地从存储器中逐次取出一条条指令码,把指令码变成控制信号序列,控制信号发向有关的部件,控制完成指令规定的操作。

即MPU逐条地从内存储器中取出程序中的指令并执行指令规定的操作。

01-02 微处理器,微型计算机,微型计算机系统有什么联系与区别?(PP4~5)答:微处理器主要由运算器、控制器、寄存器阵列和片内总线组成;微型计算机主要由微处理器、内存储器、I/O接口电路和总线组成;微型计算机系统由微型计算机、I/O设备和各种软件组成。

微处理器不能构成独立的工作系统,它不能独立地执行程序;微型计算机是构成独立工作系统的最小配置;微机系统是用户使用计算机的基本配置。

01-04 画出微机系统框图。

(PP7)01-12 将下列十进制数转换为8位有符号二进制数。

(1)+32 (2)-12解(1):[+32]原=0010,0000B,[+32]反=0010,0000B,[+32]补=0010,0000B解(2):[-12]原=1000,1100B,[-12]反=1111,0011B,[-12]补=1111,0100B01-14 将下列二进制数转换为有符号十进制数。

(1)1000,0000B (3)1001,0010B解(1):查编码表1000,0000B=-128D解(3):1001,0010B取反+1=11101101+1=11101110B=-110D02-01 8086 CPU内部由哪两部分组成?他们的主要功能是什么?(P22~24)答:8086 CPU由总线接口部件BIU和指令执行部件EU组成。

BIU的功能:形成地址、取指令、指令排队、读/写OPR和总线控制。

微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)清华大学出版社习题 11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

汇编语言是面向及其的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。

2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。

这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。

3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。

答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。

“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入 /输出设备五大基本部件组成。

② 在计算机内部采用二进制来表示程序和数据。

③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。

④ 五大部件以运算器为中心进行组织。

4.请说明微型计算机系统的工作过程。

答:微型计算机的基本工作过程是执行程序的过程,也就是CPU 自动从程序存放的第 1 个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。

如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。

5.试说明微处理器字长的意义。

答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。

它决定着计算机内部寄存器、 ALU 和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。

《微机原理及接口技术》第六章

《微机原理及接口技术》第六章

2、CPU对中断的响应
关中断:CPU响应中断后,发中断响应(INTA)信号的同时,内部自动实现关中断 保留断点:封锁IP+1,入栈保存CS:IP。 保护现场:由中断服务程序先将有关REG入栈保存。
给出中断入口、转相应的中断服务程序:中断服务程序起始地址,执行中断服务。
恢复现场:将中断服务程序入栈保存的REG内容弹出,恢复现场。 开中断与返回:中断服务的最后一条指令,出栈恢复CS:IP,恢复主程序运行,使IF自动恢
第十章
J X G
微型计算机开发应用
1/27
J X G
微机原理及接口技术 第六章、中断控制系统
本章要点:

J X G
中断的基本概念 中断处理过程 可编程中断控制器8259A的结构、功能 可编程中断控制器8259A的应用
2/27
J X G
微机原理及接口技术 6.1
一、中断的基本概念
中断系统
J X G
微机原理及接口技术
三、外部中断
8086芯片设置有两条中断请求信号输入引脚:NMI和INTR引脚,用于外部中断 源产生的中断请求,可分为以下两种: 1、可屏蔽中断 INTR (18脚) INTR线上的请求信号是电平触发的。当IF=0,CPU中断不响应,这种情况称为 可屏蔽中断。可屏蔽中断通过指令设置IF中断标志位,达到控制的目的。 STI CLI ;IF←1,开中断,CPU才能响应INTR线上的中断请求。 ;IF←0,关中断,CPU不响应INTR线上的中断请求。
对于系统专用中断,系统将自动提供0~4中断类型号,保证系统自动转到处理程序。
J X G
对于可屏蔽中断INTR,外接口电路产生中断类型号。目前8259A产生。

微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案

微机原理与接口技术(第二版)课后习题答案微机原理与接口技术(第二版)课后题答案第1章作业答案1.1 微处理器、微型计算机和微型计算机系统的区别是什么?微处理器是将CPU集成在一个芯片上,微型计算机是由微处理器、存储器和外部设备构成,而微型计算机系统则是微型计算机与管理、维护计算机硬件以及支持应用的软件相结合的系统。

1.2 CPU的内部结构由哪些部分组成?它应该具备哪些主要功能?CPU主要由算术逻辑单元、指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等寄存器组成。

它的主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。

1.3 采用总线结构的微型计算机有哪些优点?采用总线结构可以扩大数据传送的灵活性,减少连线。

此外,总线可以标准化,易于兼容和工业化生产。

1.4 数据总线和地址总线在结构上有什么不同?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的,而地址总线是单向的。

如果一个系统的数据和地址合用一套总线或者部分总线,就要靠信号的时序来区分。

通常在读写数据时,总是先输出地址,过一段时间再读或写数据。

1.8 给定一个模型,如何用累加器实现15×15的程序?LD A。

15LD H。

15LOOP: ADD A。

15DEC HJP NZ。

LOOPHALT第2章作业答案2.1 IA-32结构微处理器直至Pentium 4,有哪几种?IA-32结构微处理器有、、Pentium、Pentium Pro、Pentium II、Pentium III和Pentium 4.2.6 IA-32结构微处理器有哪几种操作模式?IA-32结构支持保护模式、实地址模式和系统管理模式三种操作模式。

操作模式决定了哪些指令和结构特性可以访问。

2.8 IA-32结构微处理器的地址空间是如何形成的?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。

微机原理及接口技术

微机原理及接口技术

2. 什么是机器码?什么是真值?解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。

3. 8位和16位二进制数的原码 、补码和反码可表示的数的范围分别是多少? 解:原码(-127~+127)、(-32767~+32767)补码 (-128~+127)、(-32768~+32767) 反码(-127~+127)、(-32767~+32767)4.一般来说,其内部基本结构大都由 算数逻辑单元、控制单元、寄存器阵列、总线和总线缓冲器 四个部分组成。

高性能微处理器内部还有指令预取部件、地址形成部件、指令译码部件和存储器管理部件等。

二 1.总线接口单元BIU (Bus Interface Unit )包括段寄存器、指令指针寄存器、20位地址加法寄存器和先入先出的指令队列、总线控制逻辑。

负责与存储器、I/O 设备传送数据,即BIU 管理在存储器中获取程序和数据的实际处理过程。

20位地址加法器将16位段地址和16位偏移量相加,产生20位物理地址。

总线控制逻辑产生总线控制信号对存贮器和I/O 端口进行控制。

IP 指针由BIU 自动修改,平时IP 内存储下条要取指令的偏移地址;遇到跳转指令后,8086将IP 压栈,并调整其内容为下条要执行指令地址。

2.执行单元EU (Execution Unit )包括ALU 、状态标志寄存器、通用寄存器、暂存器、队列控制逻辑与时序控制逻辑等。

负责指令的执行。

将指令译码并利用内部的ALU 和寄存器对其进行所需的处理。

3.EU 和BIU 的动作管理—流水线技术原则控制器运算器 寄存器输入/输出接口存储器 CPU主机外部设备应用软件系统软件微型机软件微型机系统 微型机硬件(1)每当8086的指令队列中有2个空字节且EU 未向BIU 申请读写存储器操作时,BIU 就会自动把指令取到指令队列中。

(2)每当EU 要执行一条指令时,它会先从BIU 的指令队列前部取出指令代码,然后执行指令。

微机原理接口技术03_指令系统

微机原理接口技术03_指令系统

3.2.1 数据的寻址方式
基址变址寻址同样适用于数组或表格处理,首地 址存放在基址寄存器中,变址寄存器访问数组中各元
素。因两个寄存器都可以修改,所以它比寄存器相对
寻址方式更灵活。需要注意的是,两个寄存器不能均 为基址寄存器,也不能均为变址寄存器。
3.2.1 数据的寻址方式
7.基址变址相对寻址 (Relative Based Indexed Addressing) 操作数的有效地址为指令中规定的1个基址寄存 器和1个变址寄存器的内容及指令中指定的位移量三 者之和。 位移量[基址寄存器][变址寄存器] 可以表示成多种形式组合。寻址寄存器要放在方括 号中。
3.2.1 数据的寻址方式
4.寄存器间接寻址(Register Indirect Addressing) 操作数的有效地址存放在基址寄存器或变址寄存 器中,而操作数则在存储器中。对16位数进行寄存器 间接寻址时可用的寄存器是基址寄存器BX、BP和变 址寄存器SI、DI。使用BP时默认的段寄存器为SS, 使用其他寄存器默认的段寄存器为DS。 操作数有效地址格式为:[间接寻址的寄存器]。 寻址寄存器放在方括号中。
CPU执行指令时,指令是按顺序存放在存储器 中的,而程序执行顺序是由CS和IP的内容来决定的。 当程序执行到某一转移或调用指令时,需脱离程序 的正常顺序执行,而把它转移到指定的指令地址, 程序转移及调用指令通过改变IP和CS内容,就可改 变程序执行顺序。
3.2.2 程序转移地址寻址方式
根据程序转移地址相对于当前程序地址的关 系,可分为段内、段外;又根据转移地址是否直 接出现在指令中,分为直接、间接,所以有四种 程序转移寻址方式:段内直接寻址、段内间接寻
第3章
指令系统
指令是计算机用以控制各个部件协调

微机原理与接口技术复习资料(概念背诵)

微机原理与接口技术复习资料(概念背诵)

1、微处理器(CPU)由运算器、控制器、寄存器组三部分组成。

2、运算器由算术逻辑单元ALU、通用或专用寄存器组及内部总线三部分组成。

3、控制器的功能有指令控制、时序控制、操作控制,控制器内部由程序计数器PC、指令寄存器IR、指令译码器ID、时序控制部件以及微操作控制部件(核心)组成。

4、8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086的数据总线空度为16位。

除此之外,两者几乎没有任何差别。

5、在程序执行过程中,CPU总是有规律的执行以下步骤:a从存储器中取出下一条指令b指令译码c如果指令需要,从存储器中读取操作数d执行指令e如果需要,将结果写入存储器。

6、8088/8086将上述步骤分配给了两个独立的部件:执行单元EU、总线接口单元BIU。

EU作用:负责分析指令(指令译码)和执行指令、暂存中间运算结果并保留结果的特征,它由算数逻辑单元(运算器)ALU、通用寄存器、标志寄存器、EU控制电路组成。

BIU作用:负责取指令、取操作、写结果,它由段寄存器、指令指针寄存器、指令队列、地址加法器、总线控制逻辑组成。

7、8088/8086CPU的内部结构都是16位的,即内部寄存器只能存放16位二进制码,内部总线也只能传送16位二进制码。

8、为了尽可能地提高系统管理(寻址)内存的能力,8088/8086采用了分段管理的方法,将内存地址空间分为了多个逻辑段,每个逻辑段最大为64K个单元,段内每个单元的地址长度为16位。

9、8088/8086系统中,内存每个单元的地址都有两部分组成,即段地址和段内偏移地址。

10、8088/8086CPU都是具有40条引出线的集成电路芯片,采用双列直插式封装,当MN/MX=1时,8088/8086工作在最小模式,当MN/MX=0时,8088/8086工作在最大模式。

11、8088/8086 CPU内部共有14个16位寄存器。

按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制寄存器(2个)。

微机原理与接口技术:加法减法运算指令

微机原理与接口技术:加法减法运算指令

1. 加法运算指令和调正指令ADD,ADC,INC,AAA,DAA(1)不带进位的加法运算指令ADDADD指令完成两个操作数相加,并将结果保存在目的操作数中。

指令格式:ADD OPRD1, OPRD2功能:操作数OPRD1与OPRD2相加,结果保存在OPRD1中。

说明:操作数OPRD1可以是累加器AL或AX,也可以是其它通用寄存器或存储器操作数,OPRD2可以是累加器、其它通用寄存器或存储器操作数,还可以是立即数。

OPRD1和OPRD2不能同时为存储器操作数,不能为段寄存器。

ADD指令的执行对全部6个状态标志位产生影响。

例如:ADD AL, BL ;AL+BL结果存回AL中。

ADD AX, SI ;AX+SI结果存回AX中。

ADD BX, 3DFH ;BX+03DFH结果存回BX中。

ADD DX, DA TA[BP+SI] ;DX与内存单元相加,结果存回DX中。

ADD BYTE PTR[DI], 30H ;内存单元与30H相加,结果存回内存单元中。

ADD [BX], AX ;内存单元[BX]与AX相加,结果存回[BX]中。

ADD [BX+SI], AL ;内存单元与AL相加,结果存回内存单元中。

【例题3-3】求D9H与6EH的和,并注明受影响的标志位状态。

MOV AL, 0D9HMOV BL, 6EHADD AL, BL结果AL=47H,标志位CF=1,PF=1,AF=1,ZF=0,SF=0,OF=0(2)带进位的加法运算指令ADCADC指令完成两个操作数相加之后,再加上Flags的进位标志CF。

CF的值可能为1或0。

指令格式:ADD OPRD1, OPRD2功能:操作数OPRD1与OPRD2相加后,再加上CF的值,结果保存在OPRD1中。

说明:对操作数的要求与ADD指令一样。

例如:ADC AL, BLADC AX, BXADC [DI], 30HADC指令主要用于多字节数的加法运算,以保证低位向高位的进位被正确接收。

微机原理指令大全

微机原理指令大全

微机原理指令大全微机原理是计算机科学中的重要基础知识,而指令则是微机原理中的核心内容之一。

指令是计算机中的基本操作命令,它直接影响着计算机的运行和执行效率。

本文将为大家详细介绍微机原理中常见的指令,并提供一份完整的指令大全,希望能够帮助大家更好地理解和掌握微机原理中的指令知识。

一、数据传送指令。

数据传送指令是微机原理中最基本的指令之一,它用于将数据从一个地方传送到另一个地方。

常见的数据传送指令包括MOV、LDM、STM等。

这些指令可以实现寄存器之间、寄存器和内存之间、内存和输入输出设备之间的数据传送操作,是计算机程序中不可或缺的一部分。

二、算术运算指令。

算术运算指令用于进行各种数值计算操作,包括加法、减法、乘法、除法等。

常见的算术运算指令有ADD、SUB、MUL、DIV等。

这些指令可以对寄存器和内存中的数据进行各种算术运算,是计算机程序中常用的指令之一。

三、逻辑运算指令。

逻辑运算指令用于进行各种逻辑操作,包括与、或、非、异或等。

常见的逻辑运算指令有AND、OR、NOT、XOR等。

这些指令可以对寄存器和内存中的数据进行逻辑运算,是计算机程序中实现逻辑判断和控制流程的重要指令之一。

四、转移指令。

转移指令用于改变程序的执行顺序,包括无条件转移和条件转移两种。

常见的转移指令有JMP、JZ、JNZ、JC、JNC等。

这些指令可以实现程序的跳转和循环控制,是计算机程序中实现各种复杂逻辑的重要指令之一。

五、比较指令。

比较指令用于比较两个数据的大小关系,常见的比较指令有CMP、TEST等。

这些指令可以对寄存器和内存中的数据进行比较操作,并根据比较结果设置标志位,是实现条件转移和逻辑判断的重要指令之一。

六、输入输出指令。

输入输出指令用于实现计算机与外部设备的数据交换,包括输入数据和输出数据两种操作。

常见的输入输出指令有IN、OUT等。

这些指令可以实现计算机与外部设备之间的数据传输,是计算机程序中实现输入输出功能的重要指令之一。

微机原理与接口技术

微机原理与接口技术

“微机原理与接口技术” 1. 微机系统的硬件由哪几部分组成?答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。

2. 什么是微机的总线,分为哪三组?答:是传递信息的一组公用导线。

分三组:地址总线,数据总线,控制总线。

3. 8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什么?答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU与存储器或IO设备之间的数据传送。

执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。

4. 8086指令队列的作用是什么?答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。

5. 8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。

6. 段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。

7. 设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址为多少?答:偏移地址为54100H。

(物理地址=段地址*16+偏移地址) 8. 8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意义各是什么?答:状态标志位有6个: ZF,SF,CF,OF,AF,PF。

《微机原理与接口技术》 (张凡 盛珣华 戴胜华 著) 清华大学出版社 北方交通大学出版社 课后答案

《微机原理与接口技术》 (张凡 盛珣华 戴胜华 著) 清华大学出版社 北方交通大学出版社 课后答案

第二章微处理器及其结构2-7 什么是逻辑地址? 什么是物理地址? 在实地址方式下,如何求存储器的物理地址? 设一个16字的数据区,它的起始地址为70A0H:DDF6(段基址:偏移地址).写出这个数据区的首字单元和末字单元的物理地址.解:1). 实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.2). 物理地址=段基址*16 + 偏移地址3). 首字单元地址:70A0H*16 +DDF6H = 70A00H + DDF6H = 7E7F6H末字单元地址:7E7F6H + (16-1)*2 = 7E7F6H + 1EH = 7E814H注意:相邻两个存储单元可构成一个字长为16位的字,在对准字时,用偶地址表示字的地址.1EH1CH 2H20H16H14H18H4H1AH10H0H12HEHCH8HAH6H第三章指令系统3-6 分别指出下列指令中源操作数和目标操作数的寻址方式. 若是存储器寻址,用表达式表示EA=?(1)AND AX, 00FFH(2)ADD BX, [00FFH](3)MOV AX, [BX+10H](4)ADD AX, [ESI*8](5)SUB [BP][SI], AX(6)MOV AX, [BX+DI+20H](7)CMP [SI], AX(8)OR AX, DX(9)MOV EAX, [ESI][EDI*2](10)PUSH DS解:(1)立即数寻址(2)直接寻址EA=00FFH(3)基址寻址EA=(BX)+10(4)比例间址EA=ESI*8(5)基址加间址寻址EA=(BP)+(SI)(6)带位移的基址加间址寻址EA=(BX)+(DI)+20H(7)间址寻址EA=(SI)(8)寄存器寻址(9)基址加比例间址寻址EA=(ESI)+(EDI)*2(10)寄存器寻址注意:◆16位寻址: BX和BP作为基址寄存器.BX以DS作为默认段寄存器,BP以SS为默认段寄存器.SI和DI作为间址寄存器. 默认DS为段寄存器◆32位寻址: 8个32位通用寄存器均可作为基址寄存器,其中ESP,EBP以SS为默认段寄存器,其余均以DS为默认段寄存器.除ESP外的其它7个寄存器均可作间址寄存器,EBP默认SS作段基址寄存器,其它以DS作段基址寄存器3-7 32位微机工作在实地址模式下, 已知(DS) = 1000和(SS) = 2000H, (SI) =007FH, (BX) = 0040H, (BP) = 0016H, 变量TABLE的偏移地址为0100H. 指出下列指令中源操作数的寻址方式,求它的有效地址(EA)和物理地址(PA).(1)MOV AX, [1234H](2)MOV AX, TABLE(3)MOV AX, [BX+100H](4)MOV AX, TABLE[BP][SI]解:(1)直接寻址EA=1234H PA=(DS)*16 + EA = 11234H(2)直接寻址EA=(TABLE)=0100H PA=(DS)*16+EA=10100H(3)基址寻址EA=(BX)+100H=0140H PA=(DS)*16+EA=10140H(4)带位移的基址加间址寻址EA=(BP)+(SI)+TABLE=0195H PA=(SS)*16+EA=20195H注意: 当基址寄存器和间址寄存器默认的段寄存器不同时,一般规定,由基址寄存器来决定默认的段寄存器为段基址寄存器. 这里BP为基址寄存器,所以默认SS为段基址寄存器.3-8 指出下列指令的错误,并加以改正.(1)MOV DS, 100(2)MOV 1020H, DX(3)SUB [1000H], [SI](4)PUSH AL(5)IN AL, [80H](6)MOV DS, ES(7)JMP BX(8)SHR DX, 4(9)OUT 380H, AX(10)ADD AL, BX(11)POP CS(12)MOV CL, 3300H解:(1)立即数不能直接传送到段寄存器中去应改为: MOV AX, 100MOV DS, AX(2)立即数只能出现在源操作数位置应改为: MOV DX,1020H(3)源操作数和目标操作数不能同时为寄存器寻址应改为: MOV AX, [1000H]SUB AX, [SI](4)PUSH指令不能操作8位数据应改为: PUSH AX(5)[80H ]不是端口IN AL ,80H应改为: IN AL, 80H(6)两个段寄存器之间不能直接传送应改为: MOV AX, ESMOV DS,AX(7)对(8)移位次数超过1的时候,要把移位次数放入CL中应改为: MOV CL, 4SHR DX, CL(9)端口地址大于255时,要把地址放入DX中应改为: MOV DX, 380HOUT DX, AX(10)源操作数和目标操作数不匹配应改为: ADD AX, BX(11)POP指令只能使用在存储器或通用寄存器可改为: POP AX(12)源操作数和目标操作数不匹配应改为: MOV CX, 3300H3-9 已知: (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, 20H[BX][SI] ; (CL) = ?(2)MOV [BP][DI], CX ; [IE4F6H] = ?(3)LEA BX, 20H[BX][SI] : (BX) = ?MOV AX, 2[BX] : (AX) = ?(4)LDS SI, [BX][DI]MOV [SI], BX ; (SI]) = ?(5)XCHG CX, 32H[BX] ; (AX) = ?XCHG 20[BX][SI], AX ; [09226H] = ?解:(1)(CL) = 00F6H(2)[IE4F6H] = 5678H(3)(BX) = 0056H(AX) = 1E40H(4)(SI)= 0024H(5)(AX) = 5678H[09226H] = 1234H3-10 已知(AL) = 0C4H, DATA单元中内容为5AH, 写出下列每条指令单独执行后的结果(ODITSZAPC:0---xxux0)(1)AND AL, DATA(2)OR AL, DATA(3)XOR AL, DATA(4)NOT DATA(5)AND AL, 0FH(6)OR AL, 1H(7)XOR AL, 0FFH(8)TEST AL, 80H解:(1)(AL)= 40H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(2)(AL)= DEH CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(3)(AL)= 9EH CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义(4)(AL)= A5H 不影响任何标志位(5)(AL)= 04H CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(6)(AL)= C5H CF=0,OF=0,SF=1,ZF=0,PF=1,AF无定义(7)(AL)= 3BH CF=0,OF=0,SF=0,ZF=0,PF=0,AF无定义(8)(AL)不变=0C4H CF=0,OF=0,SF=1,ZF=0,PF=0,AF无定义3-12 (AL)=8EH,(BL)=72H,执行以下指令后,标志位OF、SF、ZF、AF、PF和CF的值是什么?(1)ADD AL,BL(2)AND BL,AL(3)CMP AL,BL(4)SHL AL,1解:(1)OF=0,SF=0,ZF=1,AF=1,PF=1,CF=1(2)OF=0,SF=0,ZF=0,AF=(未定义),PF=0,CF=0(3)OF=1,SF=0,ZF=0,AF=0,PF=0,CF=0(4)OF=1,SF=0,ZF=0,AF=(未定义),PF=0,CF=13-15 试用CMP指令和无条件指令实现以下判断(1)AX和CX中的内容均为无符号数①(AX)>(CX)则转至BIGGER标号执行②(AX)<(CX)则转至LESS标号执行(2)BX和DX中的内容均为有符号数①(BX)>(DX)则转至BIGGER标号执行②(BX)<(DX)则转至LESS标号执行解:(1)CMP AX,CXJA BIGGERJB LESS(2)CMP BX,DXJG BIGGERJL LESS第四章汇编语言程序设计4-9 试用伪指令编写一数据段与下面程序等效。

微型计算机原理-第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(字)

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

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

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

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

CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU (Arithmetic Logic Unit )、控制部件CU (Co ntrol Un it )和寄存器组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访问指定的内存单元。

南京理工大学《微机原理与接口技术》第二章 指令系统(1)PPT课件

南京理工大学《微机原理与接口技术》第二章 指令系统(1)PPT课件
2009年
28.07.2020
1
标题添加
点击此处输入相 关文本内容
前言
点击此处输入 相关文本内容
标题添加
点击此处输入相 关文本内容
点击此处输入 相关文本内容
第二章 8086/8088 指令系统
2.1 概述
2.2 寻址方式
2.3 数据传送指令
2.4 算术运算指令
2.5 逻辑运算指令
2.6 串操作指令
MOV AX, 0102H
;AX←0102H
28.07.2020
11
立即数寻址方式
28.07.2020
12
例:
• 将立即数0102H送至AX寄存器
• 汇编指令: MOV AX,0102H ; • 指令功能: AX←0102H ; • 指令代码:B8 02 01
28.07.2020
13
28.07.2020
与机器指令一一对应,需要翻译成机器指令才能运

10110000 00000001
28.07.2020
MOV AL, 1 4
一、指令的组成
操作码 操作数
指令由操作码和操作数两部分组成
• 操作码说明计算机要执行哪种操作,如传送、运算、 移位、跳转等操作,它是指令中不可缺少的组成部 分
操作数是指令执行的参与者,即各种操作的对象
15
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
• 寄存器名表示其内容(操作数)

微机原理与接口技术(习题答案)

微机原理与接口技术(习题答案)
⑷ LESDI,[2100H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑸ MOV [BX+SI+8], BX
源操作数:寄存器寻址;目的操作数:基址加变址寻址
2.若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令
⑴ ADDAX,BX⑵ ADCAX,BX
⑶ SBBAX,BX⑷ NEGAX
⑶ JUM 2200H⑷ LESDI,[2100H]
⑸ MOV [BX+SI+8], BX
解答
⑴ MOV BX, WORD PTR[2200H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑵ AAA
源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址
⑶ JUM 2200H
程序转移段内直接寻址方式
⑸ AND AX,BX⑹ ORAX,BX
⑺ XORAX, BX⑻ IMUL BL
后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。
解答
⑴ AX=2B5CH,SZAPCO=001110B
⑵ AX=2B5DH,SZAPCO=001010B
⑶ AX=2C3DH,SZAPCO=001001B
⑷ AX=5433H,SZAPCO=001110B
⑸ AX=2B8DH,SZAPCO=00X100B
⑹ AX=FFCFH,SZAPCO=10X100B
⑺ AX=D222H,SZAPCO=10X100B
⑻ AX=3283H,SZAPCO=XXXX11B
3.若AL=78H,BL=87H,
⑴求执行指令
ADD AL,BL
Jmp exit
P1: cmp NUMBER, Y
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字操作数
(DX, AX) (AX) × (SRC)
例: MUL BL ;(AL)×(BL),乘积在AX中 MUL CX ;(AX)×(CX),乘积在DX,AX中 MUL BYTE PTR[BX];(AL) ×(BX),乘积在AX中
3.2 乘法指令——有符号数的乘法指令 格式与MUL指令类似,只是要求两操作数均为有符号数。
乘法指令对CF/OF的影响:
MUL指令: CF/OF =
0 1 乘积的高一半为零 否则
0 IMUL指令: CF/OF = 1
乘积的高一半是低一半的符号扩展 否则
例:(AL) = A5H(-5BH的补码),(BL) = 11H (1) MUL BL ; (AX) (AL)×(BL) ; A5×11= 0AF5 ; (AX) = 0AF5H CF=OF=1
0111 0001
AF=1
加6调整
0000 0110
0111 0111
5.2 非压缩BCD码调整指令
AAA
; 调整AL中的和为非压缩BCD码 ; 调整后,AL高4位 = 0,AH = AH + CF ; 调整AL中的差为非压缩BCD码 ; 调整后,AL高4位 = 0,AH = AH – CF ; AH = AX div 10,AL = AX mod 10 跟在MUL运算之后 ; AL = AH × 10 + AL,AH = 0 跟在DIV运算之前
AL&Y CL
END
二 算术运算指令
1、加法指令 2、减法指令 3、乘法指令 4、除法指令 5、十进制调整指令
乘法指令
• 无符号数的乘法指令 • 有符号数的乘法指令
3.1 乘法指令——无符号数的乘法指令 格式: MUL SRC 操作:字节操作数 (AX) (AL) × (SRC)
例:
IMUL BL ;(AX)←(AL)×(BL)
IMUL WORD PTR[SI] ;(DX,AX)←(AX)×([SI+1][SI]) 注意:MUL/IMUL指令中 ● AL(AX)为隐含的乘数寄存器; ● AX(DX,AX)为隐含的乘积寄存器; ● SRC不能为立即数; ● 除CF和OF外,对其它标志位无定义。
关于除法操作中的字长扩展问题
• 除法运算要求被除数字长是除数字长的两倍, 若不满足则需对被除数进行扩展,否则产生 错误。
1)无符号数除法扩展,只需将AH或DX清零即可。 2)有符号数而言,则是符号位的扩展。可使用符号 扩展指令CBW和CWD。
4.3 扩展指令 格式:CBW 功能:将AL中的符号位扩展到AH中,即当AL<80H, 执行CBW后,AH=0; AL>=80H时,执行CBW指令后,AH=FFH。 注意:不影响标志位 格式:CWD 功能:将AX中的符号位扩展到DX中,即当 AX<8000H,执行CWD后,DX=0; AX>=8000H时,执行CWD指令后,DX=FFFFH。 注意:不影响标志位
字操作
(AH) (AX) / (SRC) 的余数 (AX) (DX, AX) / (SRC) 的商 (DX) (DX, AX) / (SRC) 的余数
例: DIV CL DIV WORD PTR[BX]
4.2 除法指令——有符号数的除法指令
格式: IDIV SRC
操作与DIV类似。商及余数均为有符号数,且余数符 号总是与被除数符号相同。 注意: 对于DIV/IDIV指令 • AX(DX:AX)为隐含的被除数寄存器。 • AL(AX)为隐含的商寄存器。 • AH(DX)为隐含的余数寄存器。 • SRC不能为立即数。 • 对所有标志位均无定义。
2.4 减法指令——求补(负)指令NEG 格式: NEG DST
操作: DST← 0-(DST)
利用NEG指令可得到负数的绝对值。
例:若(AL)=FCH( -4的补码),
则执行 NEG AL,
(AL)=04H, 即得到4(-4的绝对值)。
2.4 减法指令——求补(负)指令NEG
NEG指令对CF、OF的影响: CF:操作数为0时,求补的结果使CF=0,否则 CF=1。 OF:字节运算对-128求补或字运算对-32768 求补时OF=1, 否则OF=0。
X*Y,结果在DX:AX中
将乘积存在BX:CX中 将符号扩展后的Z加到 BX:CX中的乘积中去
• • • • • • •
SUB CX, 540; SBB BX, 0; MOV AX, V; CWD; SUB AX, CX; SBB DX, BX; IDIV X;
从BX:CX中减去540
从符号扩展后的V中减去(BX:CX) 并 除以X,商在AX中,余数在DX 中。
AAS
AAM AAD
AAA与AAS:CF反映非压缩BCD码加/减的进位/ 借位;OF、SF和ZF不确定。
举例:5*8=40
MOV BL, 5 MOV AL, 8
MUL BL
AAM
AX中为0028H AX中为0400H
进行除法时:16位/8位→8位商,8位余数 32位/16位→16位商,16位余数
对被除数、商及余数存放有如下规定:
16位/8位 32位/16位
被除数 AX DX:AX
商 余数 AL AH AX DX
字节操作 字操作
4.1 除法指令——无符号数的除法指令 格式: DIV SRC 操作:字节操作 (AL) (AX) / (SRC) 的商
例:将十进制数8762用压缩型BCD码表示,则为: 1000 0111 0110 0010 非压缩型BCD码: 00001000 00000111 00000110 00000010
5.1 压缩BCD码调整指令
格式: –DAA –DAS
对标志位的影响:
;调整AL中的和为压缩BCD码 ;调整AL中的差为压缩BCD码
举例:比较AL、BL、CL中带符号数的大小,将最小数放在 AL中。
程序: CMP AL,BL JNG BBB XCHG AL,BL BBB: CMP AL,CL JNG CCC XCHG AL,CL CCC: HLT
N
;AL和BL比较 ;若AL≤BL,则转 ;若AL>BL,则交换 ;AL和CL比较 ;若AL≤CL,则转 ;若AL>CL,则交换
CF反映压缩BCD码相加/相减的进位/借位状态。
• AF=1或AL寄存器低4位是A~F,则AL寄存器内容 加/减06H; • CF=1或AL寄存器高4位是A~F,则AL寄存器内容 加/减60H;
举例:48+29=77
0100 1000
MOV AL,48
MOV BL,29 ADD AL,BL DAA (AL)=71H + (AL)=77H + 0010 1001
二 算术运算指令
1 2 3 4 5 加法指令 减法指令 乘法指令 除法指令 十进制调整指令
–组合BCD码的加法十进制调整指令DAA –组合BCD码的减法的十进制调整指令DAS –加法的非组合BCD码调整指令AAA –减法的非组合BCD码调整指令AAS –乘法的BCD码调整指令AAM –除法的BCD码调整指令AAD
十进制调整指令
BCD码调整指令的说明
• 共6条,均为隐含寻址方式,隐含的操作数是
AL或AL、AH;
• 不能单独使用,要紧跟在相应的算术运算指令 之后; • 执行结果为压缩BCD码或扩展BCD码表示的十 进制数。
在PC机中,根据在存储器中的不同存放格式,BCD码又分为 •压缩(组合)BCD码:1字节(8位)中存放2个十进制数码 •非压缩(分离)BCD码:1个字节只存放1个十进制数
(2)
IMUL BL ; (AX) (AL)×(BL) ; A5×11 -5B×11=-060B F9F5(补)
; (AX) = F9F5H CF=OF=1
二 算术运算指令
1、加法指令 2、减法指令 3、乘法指令 4、除法指令 5、十进制调整指令
除法指令
• 无符号数除法 • 有符号数除法
例题:二进制四则混合算术运算
• 试计算: AX (V-(X*Y+Z-540))/X 之商 DX 余数 (X ,Y ,Z ,V 均为有符号字变量) • • • • • • • • MOV AX, X; IMUL Y; MOV CX, AX; MOV BX, DX; MOV AX, Z; CWD ADD CX, AX; ADC BX, DX;
2.5 减法指令——比较指令CMP 格式: CMP DST, SRC
操作: (DST)-(SRC)
CMP也是执行两个操作数相减,但结果不送目标 操作数,其结果只反映在标志位上。 例: CMP AL,0AH CMP CX,SI CMP DI,[BX+03]
根据标志位来判断比较的结果
1)根据ZF判断两个数是否相等。若ZF=1,则两数相等。 2)若两个数不相等,则分两种情况考虑: 比较指令在使 ①比较的是两个无符号数 若CF=0,则DST>SRC; 用时,一般在其后 紧跟一条条件转移 若CF=1,则DST<SRC。 指令,判断比较结 ②比较的是两个有符号数 果的转向。 若OF⊕SF=0,则DST>SRC; 若OF⊕SF=1,则DST<SRC。
相关文档
最新文档