微机原理期末复习资料
- 格式:doc
- 大小:1.59 MB
- 文档页数:54
微机原理期末复习总结⼀、基本知识1、微机的三总线就是什么?答:它们就是地址总线、数据总线、控制总线。
2、8086 CPU启动时对RESET要求?8086/8088 CPU复位时有何操作?答:复位信号维⾼电平有效。
8086/8088 要求复位信号⾄少维持4个时钟周期的⾼电平才有效。
复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器,IP,DS,SS,ES 及指令队列清零,⽽将cs设置为FFFFH, 当复位信号变成地电平时,CPU 从FFFF0H 开始执⾏程序3、中断向量就是就是什么?堆栈指针的作⽤就是就是什么?什么就是堆栈?答:中断向量就是中断处理⼦程序的⼊⼝地址,每个中断类型对应⼀个中断向量。
堆栈指针的作⽤就是指⽰栈顶指针的地址,堆栈指以先进后出⽅式⼯作的⼀块存储区域,⽤于保存断点地址、PSW 等重要信息。
4、累加器暂时的就是什么?ALU能完成什么运算?答:累加器的同容就是ALU 每次运⾏结果的暂存储器。
在CPU 中起着存放中间结果的作⽤。
ALU称为算术逻辑部件,它能完成算术运算的加减法及逻辑运算的“与”、“或”、“⽐较”等运算功能。
5、8086 CPU EU、BIU的功能就是什么?答:EU(执⾏部件)的功能就是负责指令的执⾏,将指令译码并利⽤内部的寄存器与ALU对数据进⾏所需的处理BIU(总线接⼝部件)的功能就是负责与存储器、I/O端⼝传送数据。
6、CPU响应可屏蔽中断的条件?答:CPU 承认INTR 中断请求,必须满⾜以下4个条件:1 )⼀条指令执⾏结束。
CPU 在⼀条指令执⾏的最后⼀个时钟周期对请求进⾏检测,当满⾜我们要叙述的4个条件时,本指令结束,即可响应。
2 )CPU 处于开中断状态。
只有在CPU的IF=1 ,即处于开中断时,CPU 才有可能响应可屏蔽中断请求。
3)没有发⽣复位(RESET),保持(HOLD)与⾮屏蔽中断请求(NMI )。
在复位或保持时,CPU 不⼯作,不可能响应中断请求;⽽NM I的优先级⽐INTR⾼, CPU 响应NMI ⽽不响应INTR 。
重要概念:1、微处理器微处理器:微处理器是一个中央处理器cpu,由算术逻辑部件ALU、累加器和寄存器组、指令指针寄存器IP(程序计数器)、段寄存器、时序和控制逻辑部件、内部总线等构成。
2、微型计算机:微型计算机由微处理器、存储器、输入/输出接口电路和系统总线组成。
微处理器是计算机系统的核心,也称CPU(中央处理器)。
3、微型计算机系统:微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。
微处理器,微型计算机,微型计算机系统有什么联系与区别?微处理器是微型计算机系统的核心,也称为CPU(中央处理器)。
主要完成:①从存储器中取指令,指令译码;②简单的算术逻辑运算;③在处理器和存储器或者I/O之间传送数据;④程序流向控制等。
微型计算机由微处理器、存储器、输入/输出接口电路和系统总线组成。
以微型计算机为主体,配上外部输入/输出设备及系统软件就构成了微型计算机系统。
4、8086CPU内部结构及各部分功能8086CPU内部由执行单元EU和总线接口单元BIU组成。
主要功能为:执行单元EU负责执行指令。
它由算术逻辑单元(ALU)、通用寄存器组、16 位标志寄存器(FLAGS)、EU 控制电路等组成。
EU 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。
数据在ALU中进行运算,运算结果的特征保留在标志寄存器FLAGS 中。
总线接口单元BIU负责CPU与存储器和I/O接口之间的信息传送。
它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。
5、8086CPU寄存器8086CPU内部包含4 组16 位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。
(1)通用寄存器组包含 4 个16 位通用寄存器AX、BX、CX、DX,用以存放普通数据或地址,也有其特殊用途。
如AX(AL)用于输入输出指令、乘除法指令,BX在间接寻址中作基址寄存器,CX在串操作和循环指令中作计数器,DX用于乘除法指令等。
微机原理复习纲要1.微机基础一、计算机中数的表示方法进位计数制及各计数制间的转换二进制数的运算带符号数的表示方法—原码、反码、补码BCD码和ASCII码二、微型计算机概述单片机及其发展概况单片机的结构及特点三、微型计算机系统组成及工作过程微型计算机功能部件微型计算机结构特点微型计算机软件微型计算机工作原理2.单片机硬件系统一、概述(一)单片机及单片机应用系统单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。
(二)MCS-51单片机系列二、MCS-51单片机结构和原理(一)单片机的内部组成及信号引脚组成:CPU、内部RAM、内部ROM、定时/计数器、并行I/O口、串行口、中断系统、时钟电路等。
(二)内部数据存储器1.寄存器区2.位寻址区3.用户RAM区4.特殊功能寄存器区(三)内部程序存储器三、并行输入/输出口电路结构组成结构:P0口、P1口、P2口、P3口四、时钟电路与复位电路常用晶体振荡器时钟电路(最大12MHz)、复位电路(RST引脚高电平产生复位)。
3.MCS-51单片机指令系统(重点)一、寻址方式包括:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。
二、指令系统共111条指令。
数据传送指令(29条)算术运算指令(24条)逻辑运算指令(24条)控制转移指令(17条)位操作指令(17条)三、常用伪指令包括:定位伪指令、定义字节伪指令、定义空间伪指令、定义符号伪指令、数据赋值伪指令、数据地址赋值伪指令、汇编结束伪指令。
4.MCS-51单片机汇编语言程序设计一、简单程序设计顺序控制程序。
编程前,要分配内存工作区及有关端口地址。
二、分支程序设计分支程序就是按照分支条件,判断程序流向,并执行。
1.两分支程序设计(单入口、两出口)2.三分支程序设计3.多分支程序设计(散转程序)三、循环程序设计1.单重循环程序设计2.双重循环程序设计(延时程序设计)3.数据传送程序4.循环程序结构(初始化、循环体、循环控制)四、查表程序(主要用于数码管显示子程序)表格是预先定义在程序的数据区中,然后和程序一起固化在ROM中的一串常数。
微机原理期末复习总结微机原理是计算机科学与技术专业的一门重要课程,它研究了计算机系统的基本结构和工作原理。
以下是对微机原理内容的复习总结,帮助你回顾和巩固所学知识。
1.计算机组成和层次结构-计算机由硬件和软件组成,硬件包括中央处理器(CPU),内存,输入输出设备等,软件包括系统软件和应用软件。
-计算机具有层次结构,分为硬件层、微程序层、指令级层、数据流层和互连层等。
2.计算机的运算方法和编码规则-计算机中的运算是通过算术逻辑单元(ALU)来实现的,包括加法、减法、乘法、除法等运算。
-二进制是计算机中使用的编码规则,计算机通过位运算来进行数据处理。
3.存储器的层次结构和存储区域划分-存储器的层次结构包括主存储器(内存)和辅助存储器(硬盘、光盘等)。
-主存储器分为RAM和ROM两种类型,RAM可以读写,ROM只能读取。
-存储区域划分为字节、位、字等不同的单位。
4.输入输出设备的工作原理和接口标准-输入输出设备用于与计算机进行信息的输入和输出。
-输入设备包括键盘、鼠标等,输出设备包括显示器、打印机等。
-输入输出设备通过接口标准与计算机进行通信,例如串口、并口、USB等。
5.CPU的结构和工作原理-CPU由运算器、控制器和寄存器组成。
-运算器负责进行算术和逻辑运算,控制器负责指令的解码和执行,寄存器用于存储指令和数据。
-CPU的工作原理是根据指令周期进行工作,包括取指令、分析指令、执行指令等步骤。
6.指令系统和指令的执行方式-指令系统包括指令集和指令格式,指令集是CPU能够执行的指令的集合,指令格式是指令的组成形式。
-指令的执行方式有直接执行方式、间接执行方式和微程序执行方式等。
7.地址总线和数据总线-地址总线用于传递CPU发出的内存地址信号,指示要进行读写的内存单元。
-数据总线用于传递数据信息,包括读取和写入数据。
8.中断和异常的概念和处理方式-中断是计算机正常执行过程中的意外事件,例如外部设备请求、内存访问错误等。
微机原理期末复习1,什么是接⼝?连接哪两者之间?起什么作⽤?把外部设备、存储器同微型计算机连接起来时实现数据传递的控制电路称为外设接⼝电路和存储器接⼝电路。
连接CPU与外设;作⽤是①信号转换②匹配⼯作速度2.8259A、8255A分别是什么接⼝芯⽚?各占⼏个端⼝地址?8259A是可编程中断控制器芯⽚,占2个连续的端⼝地址;8255A是可编程并⾏接⼝电路芯⽚,占4个连续的端⼝地址。
3.6⽚8259A最多可以控制多少路中断?这是采⽤的级联⼯作⽅式还是单⽚⼯作⽅式?最多可控制43路中断,采⽤的是级联的⼯作⽅式。
4.8255有哪⼏种⼯作⽅式?A组可以⼯作在哪⼏种⽅式下?有⽅式0:基本I/O⽅式;⽅式1:选通I/O⽅式;⽅式2:双向传送⽅式。
A组可以⼯作在三种⽅式下,B组不能⼯作在⽅式2.5.什么是中断⽮量,什么是中断⽮量表?8086可以提供多少种中断,中断⽮量表在内存中占多少个字节。
每⼀个中断⽮量占连续的⼏个字节?某⼀中断程序⼊⼝地址值填写在中断向量表的0060H-0063H存储单元中,则该中断对应的中断类型号⼀定是(18H)。
中断⽮量(中断⽮量):中断服务的⼊⼝地址;中断⽮量表:把所有的中断⽮量存放在⼀张表⾥。
8086可以提供256种中断,中断⽮量表占1K(1024)个字节,每个中断⽮量占连续的4个字节。
【已知地址求型号/4,已知型号求地址×4】6.8086/8088CPU含有多少根地址总线,直接寻址范围是什么?可访问的I/O端⼝地址为多少?⽤哪⼏根地址线访问端⼝?86含20根地址总线。
寻址范围00000H~FFFFFH;寻址空间1M。
可访问的端⼝地址是64K。
⽤A0~A15(低⼗六位地址线)访问端⼝。
7.CPU和外设之间数据传送有哪⼏种⽅式?不需要CPU介⼊的是哪种?外设与CPU 并⾏⼯作的是哪种?⽆条件传送⽅式、查询传送⽅式、中断传送⽅式、DMA(存储器直接存取⽅式)4种。
DMA⽅式不需要CPU的介⼊。
微计算机组成的五个部分:运算器,控制器,存储器,输入设备,输入设备。
微计算机的工作原理:第一步:由输入设备将事先编好的程序和原始数据输入到存储器指定的单元存放起来。
并在存储器中或出存放中间结果和最终结果的单元。
第二步:启动计算机从第一条指令开始执行程序。
第三步:将最终结果直接由运算器或存储器经输出设备输出。
第四步:停机。
8086微处理器的内部结构:从功能上讲,由两个独立逻辑单元组成,即执行单元EU和总线接口单元BIU。
1、执行单元EU包括:4个通用寄存器(AX,BX,CX,DX,每个都是16位,又可拆位2个8位)4个从专用寄存器(BP,SP,SI,DI)标志寄存器FLAG(6个状态标志和3个控制标志)算术逻辑单元ALUEU功能:从BIU取指令并执行指令;计算偏移量。
2、总线接口单元BIU包括:4个16位段寄存器(CS,DS,ES,SS)16位指令指针寄存器IP20位地址加法器6字节(8088位4字节)的指令队列BIU功能:形成20位物理地址;从存储器中取指令和数据并暂存到指令队列寄存器中。
3、执行部件EU和总线接口部件BIU的总体功能:提高了CUP的执行速度;降低对存储器的存取速度的要求。
8086/8088CPU内部寄存器:设置段寄存器原因:8086/8088系统中,需要用20位物理地址访问1MB的存储空间,但是8086/8088CPU的每个地址寄存器都只是16位,因而采用分段存储结构,每个逻辑段的最长度为64KB。
8086MN/MX 引脚作用:选择工作模式。
MN/MX=’1’为最小模式;MN/MX=’0’为最大模式。
段内偏移地址又称为有效地址EA。
存储单元地址(以字节为单元)分为逻辑地址和物理地址。
逻辑地址=段基址(16):偏移地址(16)=CS:IPDS×10H+SI/DI/BX物理地址PA=段基址×10H+偏移地址EA=SS×10H+SP/BPCS×10H+IPI/O端口地址:I/O空间不分段。
微机原理复习知识点总结微机原理是计算机科学与技术中的一门基础课程,主要涵盖了计算机硬件与系统结构、数字逻辑、微型计算机系统、IO接口技术、总线技术、内存管理等内容。
下面将对微机原理的复习知识点进行总结。
1.计算机硬件与系统结构:(1)计算机硬件:主要包括中央处理器(CPU)、输入/输出设备(IO)、存储器(Memory)和总线(Bus)等。
(2)冯诺依曼结构:由冯·诺依曼于1945年提出,包括存储程序控制、存储器、运算器、输入设备和输出设备等五个部分。
(3)指令和数据的存储:指令和数据在计算机内部以二进制形式存储,通过地址进行寻址。
(4)中央处理器:由运算器、控制器和寄存器组成,运算器负责进行各种算术和逻辑运算,控制器负责指令译码和执行控制。
2.数字逻辑:(1)基本逻辑门电路:包括与门、或门、非门、异或门等。
(2)组合逻辑电路:由逻辑门组成,没有时钟信号,输出仅依赖于输入。
(3)时序逻辑电路:由逻辑门和锁存器(触发器)组成,有时钟信号,输出依赖于当前和之前的输入。
(4)逻辑门的代数表达:通过逻辑代数的运算法则,可以将逻辑门的输入和输出关系用布尔代数表示。
3.微型计算机系统:(1)微处理器:又称中央处理器(CPU),是微机系统的核心部件,包括运算器、控制器和寄存器。
(2)存储器:分为主存储器和辅助存储器,主存储器包括RAM和ROM,辅助存储器包括磁盘、光盘等。
(3)输入/输出设备:包括键盘、鼠标、显示器、打印机等,用于与计算机进行信息输入和输出。
(4)中断与异常处理:通过中断机制来响应外部事件,异常处理用于处理非法指令或非法操作。
4.IO接口技术:(1)IO控制方式:分为程序控制和中断控制两种方式,程序控制方式需要CPU主动向IO设备发出查询命令,中断控制方式则是IO设备主动向CPU发出中断请求。
(2)IO接口:用于连接CPU与IO设备之间的接口电路,常见的接口有并行接口和串行接口。
(3)并行接口:包括并行数据总线、控制总线和状态总线,其中并行数据总线用于传输数据,控制总线用于传输控制信号,状态总线用于传输IO设备的状态信息。
微机原理复习资料微机原理是计算机科学与技术专业的一门重要课程,它是计算机硬件组成和工作原理的基础课程。
以下是我为您整理的微机原理复习资料。
第一部分:计算机硬件组成1. 计算机的基本组成部分:中央处理器(CPU)、内存、输入设备、输出设备、存储设备和总线。
2. 中央处理器(CPU):是计算机中的核心部件,包括控制器和算术逻辑单元(ALU)。
控制器负责指令的解析和执行,ALU负责运算和逻辑判断。
3. 内存:是计算机用于存储数据和指令的地方,分为主存储器(RAM)和辅助存储器(硬盘、U盘等)。
主存储器以字节为单位进行寻址,每个字节都有一个唯一的地址。
4. 输入设备:用于将外部数据输入到计算机中,例如键盘、鼠标、扫描仪等。
5. 输出设备:用于将计算机处理的数据输出到外部,例如显示器、打印机、音频设备等。
6. 存储设备:用于永久性存储数据,例如硬盘、光盘、闪存等。
7. 总线:计算机各个组件之间传递数据和控制信号的通道,分为数据总线、地址总线和控制总线。
第二部分:计算机工作原理1. 计算机的工作过程分为取指令、解析指令、执行指令和存储结果四个阶段。
2. 取指令阶段:从内存中读取指令。
3. 解析指令阶段:对指令进行解析,确定指令的类型和操作对象。
4. 执行指令阶段:根据指令的要求执行相应的操作,包括算术运算、逻辑运算、数据传输等。
5. 存储结果阶段:将运算结果存储到指定的位置。
6. 指令周期和时钟频率:指令周期是执行一条指令所需要的时间,时钟频率是计算机的工作速度。
时钟周期等于1/时钟频率。
7. 硬件中断和软件中断:硬件中断是由外部设备引发的中断,软件中断是由程序指令引发的中断。
8. 存储器体系结构:存储器层次结构包括寄存器、高速缓存、主存储器和辅助存储器。
存储器的访问速度由快到慢依次为:寄存器>高速缓存>主存储器>辅助存储器。
其中高速缓存用于缓存主存储器中的数据,提高数据访问速度。
第三部分:指令系统和编程1. 指令系统是计算机执行各种操作的指令集合,分为指令格式和指令操作码两部分。
一、单项选择题1.8086微处理器将下一条指令的地址保存在指令寄存器()中。
A)OP B)MP C)IP D)XP2.以下寻址方式中只有()不需要访问内存。
A)立即寻址B)直接寻址C)寄存器间接寻址D)相对寄存器寻址3.关于微处理器的指令系统,以下说法正确的是()。
A)指令系统就是该处理器能够执行的全部指令B)一个微处理器的指令系统是设计微处理器时决定的,是其固有的功能C)指令系统所能完成功能的强弱,是这种微处理器功能强弱的具体表现D)以上都正确4.在Intel系列微处理器中保护模式下是通过()中的段选择子在描述符表中选择一个描述符,从而得到段的相关信息来访问内存。
A)通用寄存器B)段寄存器C)标志寄存器D)偏移寄存器5.以下存储器中,只有()是以电容来存储信息,需要定期进行刷新。
A)PROM B)EPROM C)DRAM D)SRAM6.以下指令错误的是()。
A)MOV AX,1234H B)MOV AX,BLC) MOV AX,12H D)MOV AL,BL7.8086CPU的中断源中只有()能被CPU的IF标志屏蔽。
A)INTR B)NMI C)软中断D)溢出中断8.一片8259中断控制器可以管理8级外部中断,则2片8259级联最多可以管理()级外部中断。
A)15 B)16 C)17 D)189.8086微处理器的状态标志中,()用于指示当前运算结果是否为零。
A)AF B)CF C) OF D)ZF10.DMA数据传送是指在()之间直接进行的数据传送。
A)CPU和内存B)CPU和外设C)外设和外设D)内存和外设11.微机系统中若用4片8259A构成主、从两级中断控制逻辑,接至CPU的可屏蔽中断请求线INTR上,最多可扩展为()级外部硬中断。
A. 32B. 29C. 28D. 2412.采用查询方式来实现输入输出是因为它( )A. 速度最快B. 在对多个事件查询工作时,能对突发事件做出实时响应C. 实现起来比较容易D. CPU可以不介入13.并行接口与串行接口的区别主要表现在( )之间的数据传输前者是并行,后者是串行A. 接口与MPUB. 接口与外设C. 接口与MPU和外设14.8086CPU通过M/IO控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX指令时,该信号线为()电平。
2014年合肥工业大学过程装备与控制工程11级微机原理期末复习资料厚德、笃学、崇实、尚新合肥工业大学欢迎您MB 1)1024()2(2221020===2014年合肥工业大学过程装备与控制工程11级微机原理期末复习资料一、地址总线的问题n 位地址总线可有 个地址(0∽ -1)。
16位地址总线 65536(64KB )20位地址总线 1MB32位地址总线 4GB二、错误、改正问题1、如:MOV CX , DL(语法错误) 原因:错误原因:类型不一致。
2、若VAR1为字变量, VAR2和VAR3为字节变量,判断下列指令的书写格式是否正确,正确的说出SRC 和DST 的寻址方式,不正确说出错误原因(1)MOV AX , VAR1 √ SRC 为直接寻址,DST 为寄存器寻址MOV AX , VAR2 ╳ 类型不一致MOV VAR2, VAR3 ╳ 两存储器单元之间不 能直接传送数据MOV [0200H] ,12H ╳ 类型不明确注意:AX 为16位寄存器,即是一个字(2)将下列中语法不正确的语句改对。
MOV AX , V AR2 ╳类型不一致改:MOV AL , V AR2MOV V AR2, V AR3 ╳两存储器单元之间不改:MOV AL ,V AR3 能直接传送数据MOV V AR2 ,ALMOV [0200H] ,12H ╳类型不明确改:MOV BYTE PTR [0200H] ,12H或者:MOV WORD PTR [0200H] ,12H四、数据寻址方式例1:MOV AX , [BX]其SRC为寄存器间接寻址;DST为寄存器寻址;指令完成的功能为:AX (DS:(BX))若:DS=3000H , BX=1050H。
则:SRC所在单元的物理地址为:PA=(DS) ×16+(BX)=30000H+1050H=31050H例2:MOV ES:[SI] , AL指令完成的功能为:(ES:(SI)) (AL)若:ES=4000H , SI=1234H,(AL)=23H则:DST所在单元的物理地址为:PA=(ES)×16+(SI)=40000H+1234H=41234H ∴指令执行后(41234H)=23H.例3:判断下列指令的书写格式是否正确,正确的说出SRC和DST 的寻址方式,不正确说出错误原因,并改正。
①MOV [BX], [SI] ╳两存储器单元之间不能直接传送数据;类型也不明确。
改正:MOV AL , [SI]MOV [BX] , AL②MOV [DI] ,12H ╳类型不明确改正:MOV WORD PTR [DI] , 12H③MOV [SI] ,CX √DST为寄存器间接寻址;SRC为寄存器寻址例4:寄存器相对寻址(1)MOV AX , [BX]+05H其中,SRC也可以写成:[BX+05H]05H[BX]05H+[BX]若:DS=2000H , BX=0008H, 存放操作数单元的物理地址为:PA=(DS)×16+(BX)+05H=20000H+0008H+05H =2000DH(2)MOV AX , [BP]若:SS=1050H , BP=0050H, 存放操作数的存储单元的物理地址为:PA=(SS)×16+(BP)+00H=10500H+0050H+00H=10550H(3)若(DS)=1500H,TABLE为在DS段定义的一个字变量,且偏移地址为0004H,(BP)=0003H。
MOV AX ,TABLE [BP]SRC的寻址方式为寄存器相对寻址。
指令完成的操作为:(AX)(DS: OFFSET TABLE+(BP))五、基址变址寻址Based Indexed Addressing例1:MOV AX , [BX][SI](AX) (DS:(BX+SI))例2:MOV AX , [BP][SI](AX) (SS:(BX+SI))例3:MOV [BP][DI] , AL(SS:(BX+DI)) (AL)六、隐含寻址Hidden Addressing例1.若(BX)=0158H , (DI)=10A5H ,(DS)=2100H , DISP=1B57H ,(BP)=0100H , (SS)=1100H ,段寄存器按默认段寄存器,则相对于各种寻址方式的EA的求法如下例1.若(BX)=0158H , (DI)=10A5H ,(DS)=2100H , DISP=1B57H ,(BP)=0100H , (SS)=1100H ,段寄存器按默认段寄存器,则相对于各种寻址方式的EA的求法如下直接寻址:EA=1B57HPA=21000H+1B57H=22B57H寄存器间接寻址(设寄存器为BX):EA=0158HPA=21000H+0158H=21158H寄存器相对寻址(以BP为例):EA=0100H+1B57H=1C57HPA=11000H+1C57H =12C57H基址变址寻址(BX、DI):EA=0158H+10A5H=11FDHPA=21000H+11FDH=221FDH基址变址相对寻址(BP、DI):EA=0100H+10A5H+1B57H=2CFCHPA=11000H+2CFCH=13CFCH例2:判断下列指令的书写格式是否正确,正确的说出SRC和DST 的寻址方式,不正确说出错误原因。
(1)MOV AX, [BX][SI] √SRC为基址变址寻址DST为寄存器寻址(2)MOV AX, BL ╳类型不一致(3)MOV [BP], [DI+01H] ╳两存储器单元之间不能直接传送数据DS:var (4) MOV [BX][DI]+02H ,12H ╳ 类型不明确七、数据传送类指令① 立即数→通用寄存器或存储单元例2: MOV var1,1234H ;将1234H 传送到变量var1中1234H② 通用寄存器→存储单元例3: MOV var1,DX;将DX 的内容传送到变量var1中1234HDS:var②通用寄存器→存储单元例3: MOV var1,DX ;将DX的内容传送到变量var1中④通用寄存器←→通用寄存器例5 MOV AX,BX ;将BX的内容传送到AX中⑥段寄存器←→存储单元例8 MOV DS,var1⑥段寄存器←→存储单元例9 MOV var2,ES DXDS:varBX31DS:var还应该特别注意⏹立即数⏹存储单元×→存储单元⏹段寄存器×→段寄存器如果要完成数据在这些路径上的传送,则应该分两步操作。
①立即数→段寄存器一般可以通过立即数→通用寄存器→段寄存器来完成,例如:MOV AX,3A01HMOV DS,AX ;(DS) ←3A01H②存储单元→存储单元一般可以通过存储单元→通用寄存器→存储单元来完成,例如:MOV AX,V AR1MOV [DI+10],AX ;((DI)+10)←V AR1③段寄存器→段寄存器一般可以通过段寄存器→通用寄存器→段寄存器来完成,例如:DS:var2MOV AX,CSMOV DS,AX ;(DS) ←(CS)应该注意:CS不能作为目的寄存器。
例如,下面指令书写是正确的。
MOV AX,BX ;将BX中的一个字传送到AX中MOV AL,DL ;将DL中的一个字节传送到AL中MOV AX,02 ;将立即数02传送到AX中MOV SI,[BX] ;(SI((BX))MOV AL,4[DI] ;将(DI)+4作为偏移地址,;将该单元内容送入ALMOV AX,[BX+2] ;将寄存器BX中的内容加2后的值作为偏移地址,将该单元中的一个字节送入AL中,下一单元中的一个字节送AH中MOV [BX][DI],DX ;((BX)+(DI)) (DL);((BX)+(DI)+1)(DH)例如,下面指令书写是错误的。
(DATA1为字变量)(1)MOV 10H,AL ㄨDST不能为立即数寻址(2)MOV AL,CX ㄨ类型不一致(3)MOV [BX][SI],78H ㄨ类型不明确(4)MOV DATA1,AH ㄨ类型不一致(5)MOV [DI]+02H,DATA1 ㄨ两单元之间不能直接传送数据(6)MOV CS,AX ㄨCS不能做DST(7)MOV DS,0100H ㄨ当DS作DST时,SRC不能为立即数八、取有效地址指令(LEA)格式:LEA REG , MEM注:DST REG为通用REG,一般用BX、BP、SI、DI。
:LEA DI, V AR1 ;(DI) ←V AR1的偏移地址等效于:MOV DI , OFFSET V AR1LEA BX,V AR1+15 ;(BX) ←V AR1的偏移地址+15等效于:MOV BX , OFFSET V AR1+25十、数据交换指令(XCHG)格式:XCHG DST , SRC;DST ←→SRC功能:该指令是完成寄存器与寄存器或寄存器与存储单元之间内容交换的。
该指令要求两个操作数之一必须是寄存器,允许两个操作数都是寄存器,但不允许是段寄存器。
注:段REG和立即数不能参加交换。
例1 合法指令有:XCHG AX, BX ;(AX) ←→(BX)XCHG CX, [DI] ;(CX) ←→((DI))XCHG DX, V AR1 ;(DX) ←→(V AR1)例2.下面指令书写格式是错误的。
(1)XCHG AX,1234H ㄨ立即数不能参加交换(2)XCHG BX,ES ㄨES段寄存不能参加交换(3)XCHG AL,CX ㄨ类型不一致(4)XCHG DAT1,DAT2 ㄨ两存储器单元不能直接交换例3.若(CX)=9A8BH,试将CX的高8位与低8位互相交换。
XCHG CH , CL指令执行后,(CX)=8B9AH十一、堆栈操作指令堆栈是以后进先出(LIFO)的原则存取信息的一种存储机构1.压入堆栈指令(PUSH)格式:PUSH SRC ;将SRC压入堆栈,即(SP)←(SP)-2,(SP)←(SRC)PUSHF ;将PSW压入堆栈,即(SP) ←(SP)-2,(SP)←(PSW)说明:压入堆栈指令PUSH(Push word onto stack)将先修正堆栈指针SP的内容,然后再将SRC或PSW的内容送入堆栈。
SRC必须是字型的,它可以是通用寄存器和段寄存器,也可以是某种寻址方式所指定的存储单元,但不能是立即数。
例如:PUSH AX ;将(AX)压入堆栈PUSH DS ;将(DS)压入堆栈PUSH [SI] ;将((SI))压入堆栈PUSHF ;将(PSW)压入堆栈2.弹出堆栈指令(POP)格式:POP DST ;从堆栈弹出DST,即(DST)←(SP),(SP) ←(SP)+2POPF ;从堆栈弹出PSW,即(PSW)←(SP),(SP) ←(SP)+2说明:弹出堆栈指令POP(Pop word off stack)可以取出堆栈的内容送入DST所指定的寄存器、存储单元或PSW,然后修正SP的内容。