上海工程技术大学微机原理与接口技术复习题5 程序控制转移指令
微机原理与接口技术考试复习题(有答案)
微机原理与接口技术考试复习题(有答案)《微型计算机原理及接口技术》试题(120分钟)一. 单项选择题(在每小题的四个备选答案中选出一个正确的1. 8086CPU芯片的外部引线中,数据线的条数为()。
A.6条B.8条C.16条D.20条2.8086CPU工作在总线请求方式时,会让出()。
A.地址总线B.数据总线C.地址和数据总线D.地址、数据和控制总线3.8086在执行OUT DX,AL指令时,AL寄存器的内容输出到()上。
A.地址总线 B.数据总线 C.存储器 D.寄存器4.8086CPU的I/O地址空间为()字节。
A.64KB B.1MB C.256B D.1024B5. 当8086CPU读I/O接口时,信号M/IO和DT/R的状态必须是()。
A.00B.01C.10D.116. 在8088CPU中, 用于寄存器间接寻址输入输出指令的寄存器是()。
A. AXB. BXC. CXD. DX7.两片8259A级联后可管理()级中断。
A.15 B.16 C.32 D.648.8086中断系统中优先级最低的的是()。
A.可屏蔽中断B.不可屏蔽中断C.单步中断D.除法出错9.CPU在执行IN AL,DX指令时,其()。
A. IO/M为高, RD为低 B. IO/M为高, WR为低C. IO/M为低, RD为低 D. IO/M为低, WR为低10. 内存从A4000H到CBFFFH,共有()A.124KB.160KC.180KD.224K11. 8088CPU中的CS寄存器是一个多少位的寄存器?()。
A.8位B.16位C.24位D.32位12.地址译码器的输出一般可为接口的()信号。
A.片选 B.数据输入 C.地址 D.控制13. 8255工作在方式0时,下面哪种说法正确()A. A、B、C三个口输入均有锁存能力B. 只有A口输入有锁存能力C. 只有C口输入有锁存能力D. A、B、C三个口输入均无锁存能力14. 实现DMA传送,需要()A.CPU通过执行指令来完成B.CPU利用中断方式来完成C.CPU利用查询方式来完成D.不需要CPU参与即可完成15.CPU在执行OUT DX,AL指令时,()寄存器的内容送到地址总线上。
微机原理与接口技术复习题(本)
微机原理与接口技术复习题(本)第1章概论1. 什么是程序和指令?2. 洪。
诺依曼计算机的核心原理是什么?3. 存储程序的概念是什么?4. CPU由那三部分组成?主机由那几部分组成?5. CPU对内存有那两种操作?6. 325.625D=- B= H234D= BCD7. 已知X=-1110011B,试求[X]原、[X]反、[X]补。
8. 已知X=-1110111B ,Y=+1011010B,求[X+Y]补。
9. 已知X=-1101001B ,Y=-1010110B 计算X-Y。
第2章微型计算机基础1. 微处理器内部由那三部分组成?2. 控制器有那些功能?3. 8086由那两部分组成?其功能是什么?4. 熟悉8088最小模式下的主要引脚功能。
5. 指令队列有什么功能?6. 8088的8个通用寄存器是什么?4个段寄存器是什么?两个控制寄存器是什么?7. 什么是逻辑地址和物理地址,有什么关系什么?8. 4个段寄存器中那一个段寄存器用户程序不用设置。
9. 什么是总线?10. 总线周期中,什么情况下要插入TW等待周期?11. 8088CPU中标志寄存器包含那些标志位什么?第3 章、第4章8088指令系统与汇编语言程序设计1. 什么是寻址方式? 8088CPU有那些寻址方式?2. 试说明MOV SI ,[BX ] 与LEA SI , [BX]两条指令的区别。
3. 设DS=212AH ,CS=0200H ,IP=1200H, BX=0500H , DATA=40H,[217A0H]=2300H, [217E0H]=0400H ,[217E2H]=9000H ,试确定下列指令的转移地址:(1) JMP BX(2) JMP WORD PTR [BX](3) JMP DWORD PTR [BX]4. 设SP=2300H ,AX=50ABH ,BX=1234H ,执行PUSH AX 后SP=?在执行PUSH BX ,POP AX后SP=?,AX=?,BX=?.5. 已知AL=7BH ,BL=38H ,试问执行ADD AL ,BL 后的6个状态标志是什么?6. 试判断下列程序执行后AX中的内容是什么。
微机原理复习总结考试题及答案
微机原理1、8086从功能上分成两大部分:总线接口单元BIU(负责8086CPU 与存储器和I/O设备间的信息传送。
),执行单元EU (负责指令的执行。
)2、执行工作方式:8位微处理器(串行工作),8086(并行工作)。
3、8086微处理器的执行环境:地址空间,基本程序执行寄存器,堆栈,I/O端口。
4、基本的程序执行寄存器(8086):8个通用寄存器、1个指令指针寄存器、1个标志寄存器、4个段寄存器5、8086的16位通用寄存器是:AX(累加器)BX(基址寄存器)CX(计数) DX(数据):数据寄存器SI(源变址)DI(目的变址)BP(基址指针)SP(堆栈指针):指针寄存器6、8086的8位通用寄存器是:AL BL CL DL(低8位)AH BH CH DH(高8位)7、16位的段寄存器:CS、SS、DS、ES8、16位FLAGS寄存器包含一组状态标(SF,ZF,OF,CF,AF,PF)、一个控制标志(DF)和两个系统标志(IF,TF)9、下一条将要执行指令的PA=(CS)内容左移4位+(IP)10、逻辑地址的形式为:段寄存器:偏移地址;物理地址=段寄存器(DS/CS/SS/ES)左移四位+偏移地址11、寻址方式:(1)立即数寻址方式(2)寄存器寻址方式(3)直接寻址方式(4)寄存器间接寻址方式(5)寄存器相对寻址方式[立即方式,寄存器方式,存储器方式]12、最小组态:就是系统中只有一个8088/8086微处理器,所有的总线控制信号,都是直接由CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。
最大组态:系统中可以只有一个微处理器,也可以有两个或两个以上的微处理器,其中一个为主处理器,即8086/8088CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。
系统的控制信号由8288总线控制器给出。
13、总线分类:地址总线,数据总线,控制总线14、总线传输过程的四个阶段:申请阶段,寻址~,传输~,结束阶段。
微机原理与接口技术复习5--7章及答案
判断题1.EPROM是指可擦除可编程随机读写存储器。
2.在查询方式下输入输出时,在I/O接口中设有状态寄存器,通过它来确定I/O设备是否准备好。
输入时,准备好表示已满;输出时,准备好表示已空。
3.无条件式的I/O是按先读状态口,再读数据口的顺序传送数据的。
4.I/O数据缓冲器主要用于协调CPU与外设在速度上的差异。
5.查询式输入输出是按先读状态端口,后读/写数据端口的顺序传送数据的。
6.连接CPU和外设的接口电路中必须要有状态端口。
7.总线是专门用于完成数据传送的一组信号线。
8.I/O接口的基本功能之一是完成数据的缓冲。
9.要实现微机与慢速外设间的数据传送,只能利用查询方式完成。
1) Y 2 ) Y3) Y4) Y 5) Y6) X 7) X 8)Y9) X1.单片8259A最多可接8个中断源。
2.在可屏蔽中断的嵌套原则中,不允许低级中断打断高级中断,但允许同级中断相互打断。
3.同一片8259的8个中断源的中断向量在中断向量表中可以不连续存放。
(不要求)4.利用8259A对外中断进行管理时,只能管理8个中断源。
5.在中断接口电路中,由中断请求寄存器来保存外设的中断请求信号。
6.8259A送给CPU的中断请求信号是通过INT发出的。
1Y 2X 3X 4X 5Y 6Y填空题1、在微机系统中,端口编址方式一般有___________和___________两种方式。
2、微机系统与外设间的信息交换方式有————、————、————和————.3.用2K×8的SRAM芯片组成32K×16的存储器,共需SRAM芯片()片。
4.为保证动态RAM中的内容不消失,需要进行( ) 操作。
5.构成64K*8的存储系统,需8K*1的芯片( )片。
1、统一编址,独立编址2、无条件,查询,中断,DMA3、324、定时刷新5、646、8086和8088的地址总线有()根,能寻址()MB的存储器空间。
7.8086CPU从偶地址中按字节读时,存储器数据进入数据总线的( ) ;从奇地址按字节读时,进入数据总线的( )。
微机原理与接口技术试题
微机原理与接口技术试题一、选择题1.下列关于微处理器的说法中,正确的是: A. 微处理器由运算器和控制器组成 B. 微处理器是计算机的输入设备 C. 微处理器是计算机的外部存储器D. 微处理器是计算机的输出设备2.在微机系统中,CPU与外部设备之间进行数据传输的方式是: A. 输入/输出方式 B. 数据总线方式 C. 总线方式 D. 中断方式3.下列关于总线的说法中,正确的是: A. 数据总线只能进行单向传输B. 地址总线用于传输数据C. 控制总线用于传输指令D. 地址总线和数据总线可以进行双向传输4.在微机系统中,中断是指: A. 停止CPU的执行 B. CPU暂停执行当前程序,转去执行中断服务程序 C. CPU长时间等待外设数据传输 D. CPU向外设发送中断请求信号5.在微机系统中,DMA是指: A. 数据管理器 B. 直接内存访问 C. 分布式存储器访问 D. 动态存储器访问二、简答题1.请简要描述微处理器的功能和组成结构。
微处理器是计算机的核心部件,负责执行计算机的指令并控制计算机的整个运行过程。
它主要由运算器和控制器组成。
其中,运算器负责对数据进行算术和逻辑运算,而控制器负责解析和执行指令。
微处理器的组成结构包括以下几个部分:–运算器:由算术逻辑单元(ALU)和寄存器组成,负责执行算术和逻辑运算。
–控制器:负责解析和执行指令,控制计算机的运行流程。
–寄存器:存储临时数据和地址信息,用于运算和控制过程中的数据传输和存储。
–数据通路:用于数据在各个部件之间的传输,包括数据总线、地址总线和控制总线等。
–外部接口:用于与外部设备进行数据交互和通信。
2.请解释什么是中断,并简要说明中断的实现过程。
中断是计算机在执行程序过程中,根据某种条件自动暂停当前程序的执行,转而去执行相应的中断服务程序。
中断的实现过程如下:1.当检测到中断信号时,CPU会立即将当前程序的执行状态保存到栈中,包括程序计数器和其他寄存器的值。
微机原理与接口技术复习题1-5(答案)
复习题1:1、指出下列指令的错误(1)MOV AH,BX(2)MOV [BX],[SI](3)MOV AX,[SI] [DI](4)MOV MYDAT [BX] [SI],ES:AX(5)MOV BYTE PTR [BX],1000(6)MOV BX,OFFSET MYDAT[SI](7)MOV CS,AX(8)SAL AL, 5答案:(1)MOV AH,BX 源操作数与目的操作数长度不相同(2)MOV [BX],[SI] 这是两个内存单元在传递数据,而这在汇编语言中是不允许的。
不允许两内存单元同时作为源操作数和目的操作数进行运算(3)MOV AX,[SI] [DI] 不能用两个变址连用,其中一个应为基址BX或BP (4)MOV MYDAT [BX] [SI],ES:AX 同(2)(5)MOV BYTE PTR [BX],1000源操作数与目的操作数长度不相同,1000D=3E8H (6)MOV BX,OFFSET MYDAT [SI] OFFSET不能与复杂操作数相连(7)MOV CS,AX ,不能对CS赋值(8)MOV CL,5SAL AL,CL2、下面哪些指令是非法的?(假设OP1,OP2是已经用DB定义的变量)(1)CMP 15,BX(2)CMP OP1,25(3)CMP OP1,OP2(4)CMP AX,OP1答案(1)非法(2)合法(3)非法(4)非法3、假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列指令中哪些是非法的?它们的错误是什么?(1)MOV BP,AL(2)MOV WORD_OP [BX+4*3] [DI],SP(3)MOV WORD_OP1, WORD_OP2(4)MOV AX, WORD_OP1 [DX](5)MOV SAVE_WORD, DS(6)MOV SP, SS:DATA_WORD [BX] [SI](7)MOV AX, [WORD_OP1+WORD_OP2](8)MOV AX, [WORD_OP1-WORD_OP2+100](9)MOV [WORD_OP1], [WORD_OP1-WORD_OP2]答案:(1)非法,操作数类型不同。
微机原理与接口技术 复习
第一部分:基础知识一、选择题1.在下面关于微处理器的叙述中,错误的是( ) 。
A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片B、一台计算机的CPU含有1个或多个微处理器C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分D、不同型号的CPU可能具有不同的机器指令2.若用MB作为PC机主存容量的计量单位,1MB等于( )字节。
A、210个字节B、220个字节C、230个字节D、240个字节3.80X86执行程序时,对存储器进行访问时,物理地址可由()组合产生。
A、SS和IPB、CS和IPC、DS和IPD、CS和BP4.某处理器与内存进行数据交换的外部数据总线为32位,它属于()。
A、8位处理器B、16位处理器C、32位处理器D、64位处理器5.在堆栈操作中,隐含使用的通用寄存器是()。
A、AXB、BXC、SID、SP6.十进制负数–38的八位二进制补码是()A、BB、BC、BD、B7.用8位的二进制数的补码形式表示一个带符号数,它能表示的整数范围是()A、-127—+127B、-128—+128C、-127—+128D、-128—+127 8.标志寄存器FLAGS中存放两类标志,即()。
A、符号标志、溢出标志B、控制标志、状态标志C、方向标志、进位标志D、零标志、奇偶标志9.下列有关指令指针寄存器的说法中,哪一个是正确的()。
A、IP存放当前正在执行的指令在代码段中的偏移地址B、IP存放下一条将要执行的指令在代码段中的偏移地址C、IP存放当前正在执行的指令在存储器中的物理地址D、IP存放当前正在执行的指令在存储器中的段地址10.如果访问存储器时使用BP寻址,则默认的段寄存器是()A、CSB、ESC、DSD、SS二、判断题1.SP的内容可以不指向堆栈的栈顶。
2.寄存器寻址其运算速度较低。
3.计算机的堆栈是一种特殊的数据存储区,数据存取采用先进先出的原则。
4.当运算结果各位全部为零时,标志ZF=0。
微机原理及接口技术考试试题及答案
微机原理及接口技术考试试题及答案第一部分:微机原理1. 基本知识部分答:微机是由微处理器、内存、输入输出设备以及系统总线构成的计算机系统。
2. CPU部分答:CPU主要由控制单元和算术逻辑单元组成,控制单元负责解码指令、控制程序流程,算术逻辑单元则负责进行算术和逻辑运算。
3. 存储器部分答:存储器按照存取方式可以分为随机存储器(RAM)和只读存储器(ROM),按照存储介质又可分为内存芯片和磁盘等。
4. 总线部分答:总线包括数据总线、地址总线和控制总线,用于在CPU、存储器和输入输出设备之间传输数据、地址和控制信息。
5. 输入输出部分答:输入输出设备用于将人与计算机之间的信息转换为计算机内部能处理的形式,常见的输入输出设备有键盘、鼠标、显示器和打印机等。
第二部分:接口技术1. 并行接口答:并行接口是指同时传送多个位的接口,常见的并行接口有并行打印接口(LPT接口)和并行通信接口(例如IEEE1284接口)。
2. 串行接口答:串行接口是指逐位传送数据的接口,常见的串行接口有串行打印接口(COM接口)和串行通信接口(例如RS-232C接口)。
3. USB接口答:USB接口是一种通用的外部总线接口,具有热插拔、高速传输和多设备连接等优点。
4. 接口传输速率答:接口传输速率是指单位时间内接口所能传输的数据量,常见的接口传输速率有Mbps、Gbps等。
5. 接口阻抗匹配答:接口阻抗匹配是指信源电路和信宿电路的阻抗之间的匹配关系,目的是提高信号传输的质量。
第三部分:考试试题1. 选择题:(1)微机是由以下哪些部分构成的?A. CPU、内存、输入输出设备B. CPU、显卡、硬盘C. 内存、硬盘、显示器D. CPU、显卡、键鼠(2)CPU由以下哪些单元构成?A. 控制单元和算术逻辑单元B. 存储单元和控制单元C. 控制单元和输入输出单元D. 算术逻辑单元和输入输出单元2. 简答题:(1)请简要解释存储器的随机存取特性。
微机原理期末考试试题及答案
1.8086的数据线为16 位,地址线为20 位,I/O口使用16 位地址线.2。
在某进制的运算中7×3=33,则7×5=_55。
3。
用8位二进制数表示整数时,十进制数(-128)的补码为_10000000_。
原码为无,反码为无。
3.8086内部寄存器长度为16 位,通用寄存器有8 个,段寄存器有4 个。
4.8086偶存储体的选片信号是A0 ,奇存储体的选片信号是BHE .5.MOV AX,[BX+SI]的源操作数是基址变址寻址方式,目的操作数是寄存器寻址方式。
6.8086可以指向堆栈的指针寄存器有bp 和sp 。
7.程序中段定义结束的伪指令是ENDS ,子程序定义结束的伪指令是ENDP 。
8.EEPROM的擦除方法为点擦除.9.下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__.ORG 1000HSTROE DB 12 DUP(?)DATA DB 05H,06H,07H,08H1. 8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。
A. 仅DS段B。
DS或SS段C。
DS或ES段D。
DS或CS段2. 下列指令中格式错误的是___A___。
A。
SHL AL,CX B。
XCHG AL,BLC. MOV BX,[SI]D. AND AX,BX3. 设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__.MOV AX,2000HMOV DS,AXMOV BX,[0010H]A. B2B2HB. B23FH C。
3F3FH D. 3FB2H4。
若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。
A. 3311CHB. 33120HC. 33122H D。
3311EH5. 下列指令中格式错误的是_C__。
A。
MOV AX,357AH[BX][DI] B。
OUT DX,ALC。
上海工程技术大学微机原理与接口技术复习题8.1.4 串行通信接口RS232C
地线
地线
串行输出线RxD
同上
控制线和状态线RTS、CTS、DSR、DTR、DCD
信号有效:(+3---+15V)
信号无效效:(-3-- -15V)
-15 -3 +3 +15
**其余无意义**
RS-232C
TTL器件
用正负电压表示逻辑状态
(-3— -15V)
(+3--- +15V)
以高低电平表示逻辑状态
高(2.4—3.6 V)
低(0—0.8 V)
为了能够使计算机接口与终端的TTL器件(由双极型晶体管
组成)连接,必须在
RS-232C与TTL
进行电平和逻辑关系转换
(DB-9)(DB-25)
TxD
发送数据
发
收
线
RxD
接收数据
RTS
请求发送
联络控制信号线Biblioteka CTS清除发送DSR
数据终端准备好
DCD
数据载波检测
DIR
数据设备检测好
RI
7.串行通信接口RS-232C电器特性及接口信号
RS-232C的电器特性
RS-232C与TTL
电平和逻辑关系转换
RS-232C的接口信号
常用的RS-232C口有9针串行口COM1(DB-9)和25针串行口COM2(DB-25).
串行输出线TxD:
逻辑1(-3--- -15V)
逻辑0(+3--- +15V)
微机原理与接口技术课后习题有答案
第一章解:五代,详细见书解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统 ;PC机:PCPersonal Computer机就是面向个人单独使用的一类微机 ;单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等;数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换 ;好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线 ;其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号;解:1用于数值计算、数据处理及信息管理方向;采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段;2用于过程控制及嵌人应用方向;采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电;解:解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU 从繁杂的I/O任务中解脱出来;由10根信号线组成A9-A0;解:BIOS:基本输入输出系统;主要功能:用来驱动和管理诸如键盘、显示器、打印机、磁盘、时钟、串行通信接口等基本的输入输出设备解:基本RAM区:640KB保留RAM区:128KB扩展ROM区:128KB基本ROM区:128KB解:1、数—用来直接表征量的大小,包括:定点数、浮点数;2、码—用来指代某个事物或事物的某种状态属性,包括:二进制、八进制、十进制、十六进制;区别:使用场合不同,详见P16.解:123解:原码反码补码+37 00100101/25H 00100101/25H 00100101/25H解:解:无符号数:70D补码有符号数:70DBCD码:46DASCII:F解:1、相加后若出现和大于9,则将和减去10后再向高位进12、若出现组间进位,则将低位加6解:详见课本16页;解:C3 40 20 00D:44Hd:64HCR:0DHLF:0AH0:30HSP:20HNUL:00H解:国标码:36 50H机内码:B6 B0H第3章解:1完整的汇编语言源程序由段组成2一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列3需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点4所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内5通常,程序还需要一个堆栈段开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编解:段定位、段组合和段类型;解:stack segment stackdb 10240stack endsdata segmentstring db 'Hello,Assembly',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start解:1. EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序2. COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序MASM 需要采用TINY模式解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值;例如:X= 7 ;等效于:X equ 7X= X+5 ;“X EQU X+5”是错误的解:1 al=67h2 ax=133h,dx=4h3 ax=0230h4 al=41h4 ax=7654h解:my1b db 'Personal Computer'my2b db 20my3b db 14hmy4b db 00010100bmy5w dw 20 dupmy6c = 100my7c = <'Personal Computer'>解:利用定位伪指令控制,如org,even,align解:包括逻辑地址和类型两种属性;解:;数据段org 100hvarw dw 1234h , 5678hvarb db 3 , 4buff dd 10 dupmess db 'Hello';代码段mov ax , offset varb + offset messmov ax , type buff + type mess + type vard mov ax , sizeof varw+ sizeof buff+ sizeof messmov ax , lengthof varw+ lengthof vard解:1 1000超过一个字节所能表达的最大整数2SI应为偶数3两个内存单元不能直接运算4应改为al+15条件转移指令后面应接标号,而不是变量解:mov ah,1 ;只允许输入小写字母int 21hsub al,20h ;转换为大写字母mov dl,almov ah,2int 21h ;显示解:mov bx,offset LEDtablemov al,lednumxlat解:mov ax, bufXcmp ax, bufYjae donemov ax, bufYdone: mov bufZ, ax解:.model small.stack.databufX dw -7signX db.code.startupcmp bufX,0 ;test bufX,80hjl next ;jnz nextmov signX,0jmp donenext: mov signX,-1done: .exit 0end解:mov dl,’2’mov ax,bufXcmp ax,bufYje next1dec dlnext1: cmp ax,bufZje next2dec dlnext2: mov ah,2int 21h解:;代码段mov al,numbermov bx,0 ;BX←记录为1的位数restart: cmp al,0 ;AL=0结束jz doneagain: shr al,1 ;最低位右移进入CFjc next ;为1,转移inc bx ;不为1,继续jmp againnext: push axpush bxshl bx,1 ;位数乘以2偏移地址要用2个字节单元jmp addrsbx ;间接转移:IP←table+BX;以下是各个处理程序段fun0: mov dl,'0'jmp dispfun1: mov dl,'1'jmp dispfun2: mov dl,'2'jmp dispfun3: mov dl,'3'jmp dispfun4: mov dl,'4'jmp dispfun5: mov dl,'5'jmp dispfun6: mov dl,'6'jmp dispfun7: mov dl,'7'jmp disp;disp: mov ah,2 ;显示一个字符int 21hpop bxpop axjmp restartdone: …编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中不考虑溢出和进位;;.model small.stack.datab_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数sum db ;预留结果单元.code.startupxor si, si ;位移量清零xor al, al ;取第一个数mov cx, num ;累加次数again: add al, b_datasi ;累加inc si ;指向下一个数loop again ;如未完,继续累加mov sum, al ;完了,存结果.exit 0end求主存0040h:0开始的一个64KB物理段中共有多少个空格;.model small.codestart: mov ax,0040h ;送段地址mov ds, axmov si, 0 ;偏移地址mov cx, si ;计数循环次数xor ax, ax ;空格计数器清零again: cmp byte ptr si, 20h ;与空格的ASCII码比较jne next ;不是空格,转inc ax ;是空格,空格数加1next: inc si ;修改地址指针loop again ;cx=cx-1,如cx=0 退出循环.exit 0end start编写计算100个16位正整数之和的程序;如果和不超过16位字的范围65535,则保存其和到wordsum,如超过则显示‘overflow’;答:;数据段count equ 100parray dw count dup ;假设有100个数据wordsum dw 0msg db ‘overflow’,’$’;代码段mov cx,countmov ax,0mov bx,offset parrayagain: add ax,bxjnc nextmov dx,offset msgmov ah,9int 21h ;显示溢出信息jmp done ;然后,跳出循环体next: add bx,2loop againmov wordsum,axdone: …编程把—个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数;转换算法可以是:用二进制数除以10000,商为“万位”,再用余数除以1000,得到“千位”;依次用余数除以l00、10和l,得到“百位”、“十位”和“个位”; ;.model small.stack 256.dataarray dw ;源字数据dbcd db 5 dup ;五位bcd结果,高对高低对低.code.startupmov dx, array ;取源数据余数mov bx, 10000 ;除数mov cx, 10 ;除数系数mov si, 4 ;目的数据高位位移量again: mov ax, dx ;中存放被除数mov dx, 0div bx ;除于bx,商ax,余数dxmov dbcdsi, al ;商<10,存结果push dx ;暂存余数mov ax, bx ;除数除于10mov dx,0div cx ;除于cx,商ax、余数0存在dxmov bx, ax ;bx是除数pop dxdec si ;目的数据位移量减1jnz againmov dbcd, dl ;存个位数 < 10.exit 0end解:1汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下:过程名PROC NEAR|FAR……;过程体过程名ENDP2保护用到的寄存器内容,以便子程序返回时进行相应的恢复;3改错:crazy procpish bxpush cxxor ax,axxor dx,dxagain:add a,bxadc dx,0inc bxinc bxloop againpop cxpop bx解不需调用HTOASC子程序:again: mov ah,1int 21hcmp al,1bh ;ESC的ASCII码是1bhje donemov dl,almov ah,2int 21h ;是大写字母则转换为小写字母jmp againdone: …解答:asctob procpush cxand dh,0fh ;先转换十位数shl dh,1 ;十位数乘以10采用移位指令mov ch,dhshl dh,1shl dh,1add dh,chand dl,0fh ;转换个位数add dh,dl ;十位数加个位数mov al,dh ;设置出口参数pop cxretasctob endp解:DIPASC proc ;入口参数:AL=要显示的一个16进制数push cxpush dxpush axmov cl,4 ;转换高位shr al,clcall HTOASCmov dl,al ;显示mov ah,2int 21hpop ax ;转换低位call HTOASCmov dl,al ;显示mov ah,2int 21hmov dl,’H’;显示一个字母“H”mov ah,2int 21hpop dxpop cxretDIPASC endpHTOASC proc ;将AL低4位表达的一位16进制数转换为ASCII码and al,0fhcmp al,9jbe htoasc1add al,37h ;是0AH~0FH,加37H转换为ASCII码ret ;子程序返回htoasc1: add al,30h ;是0~9,加30H转换为ASCII码ret ;子程序返回HTOASC endp解:lucase procpush bxmov bx,offset stringcmp al,0je case0cmp al,1jz case1cmp al,2jz case2jmp donecase0: cmp byte ptr bx,0je donecmp byte ptr bx,’A’jb next0cmp byte ptr bx,’Z’ja next0add byte ptr bx,20hnext0: inc bxjmp case0case1: cmp byte ptr bx,0je donecmp byte ptr bx,’a’jb next1cmp byte ptr bx,’z’ja next1sub byte ptr bx,20hnext1: inc bxjmp case1case2: cmp byte ptr bx,0je donecmp byte ptr bx,’A’jb next2cmp byte ptr bx,’Z’ja next20add byte ptr bx,20hjmp next2next20: cmp byte ptr bx,’a’jb next2cmp byte ptr bx,’z’ja next2sub byte ptr bx,20hnext2: inc bxjmp case2done: pop bxretlucase endp解:1用寄存器传递参数:最简单和常用的参数传递方法是通过寄存器,只要把参数存于约定的寄存器中就可以了由于通用寄存器个数有限,这种方法对少量数据可以直接传递数值,而对大量数据只能传递地址采用寄存器传递参数,注意带有出口参数的寄存器不能保护和恢复,带有入口参数的寄存器可以保护、也可以不保护,但最好能够保持一致2用共享变量传递参数子程序和主程序使用同一个变量名存取数据就是利用共享变量全局变量进行参数传递如果变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTREN声明如果主程序还要利用原来的变量值,则需要保护和恢复利用共享变量传递参数,子程序的通用性较差,但特别适合在多个程序段间、尤其在不同的程序模块间传递数据3用堆栈传递参数参数传递还可以通过堆栈这个临时存储区;主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们采用堆栈传递参数是程式化的,它是编译程序处理参数传递、以及汇编语言与高级语言混合编程时的常规方法解:方法:主程序将入口参数压入堆栈,子程序从堆栈中取出参数;子程序将出口参数压入堆栈,主程序弹出堆栈取得它们注意:压栈与弹栈必须要一一对应;解:方法1:neg32 proc ;入口参数:=32位有符号数neg ax ;实现0-功能neg dxsbb dx,0 ;这条指令也可以用dec dx代替retneg32 endp ;出口参数:=32位有符号数的补码方法2:neg32 proc ;入口参数:=32位有符号数not ax ;实现求反加1not dxadd ax,1adc dx,0retneg32 endp ;出口参数:=32位有符号数的补码解:;数据段array db 12h,25h,0f0h,0a3h,3,68h,71h,0cah,0ffh,90h ;数组count equ $-array ;数组元素个数result db ;校验和;代码段mov bx,offset array ;BX←数组的偏移地址mov cx,count ;CX←数组的元素个数call checksum ;调用求和过程mov result,al ;处理出口参数mov ax,4c00hint 21h;计算字节校验和的通用过程;入口参数:DS:BX=数组的段地址:偏移地址,CX=元素个数;出口参数:AL=校验和;说明:除AX/BX/CX外,不影响其他寄存器checksum procxor al,al ;累加器清0sum: add al,bx ;求和inc bx ;指向下一个字节loop sumretchecksum endpend解:⑴.model small.stack.datawdata dw 34abh.code.startupmov ax,wdatacall dispa.exit 0;dispa procpush cxpush dxmov cl,4mov dl,ahshr dl,clcall dldispmov dl,ahand dl,0fhcall dldispmov dl,alshr dl,clcall dldispmov dl,aland dl,0fhcall dldisppop dxpop cxretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend⑵.model small.stack.datawdata dw 34abhwordtemp dw.code.startupmov ax,wdatamov wordtemp,axcall dispa.exit 0;dispa procpush cxpush dxmov cl,4mov dl,byte ptr wordtemp+1shr dl,clcall dldispmov dl,byte ptr wordtemp+1and dl,0fhcall dldispmov dl,byte ptr wordtempshr dl,clcall dldispmov dl,byte ptr wordtempand dl,0fhcall dldisppop dxpop cxretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend⑶.model small.stack.datawdata dw 34abh.code.startuppush wdatacall dispapop ax ;add sp,2.exit 0;dispa procpush bpmov bp,sppush axpush cxpush dxmov ax,bp+4mov cl,4mov dl,ahshr dl,clcall dldispmov dl,ahand dl,0fhcall dldispmov dl,alshr dl,clcall dldispmov dl,aland dl,0fhcall dldisppop dxpop cxpop axpop bpretdispa endp;dldisp procpush axor dl,30hcmp dl,39hjbe dldisp1add dl,7dldisp1: mov ah,2int 21hpop axretdldisp endpend解:如果利用共享变量传递函数,且变量定义和使用不在同一个源程序中,需要利用PUBLIC、EXTERN 声明;解:1宏定义由一对宏汇编伪指令MACRO和ENDM来完成,格式如下:宏名MACRO 形参表……;宏定义体ENDM宏定义之后就可以使用它,即宏调用:宏名实参表2宏调用的格式同一般指令一样:在使用宏指令的位置写下宏名,后跟实体参数;如果有多个参数,应按形参顺序填入实参,也用逗号分隔3宏展开:在汇编时,宏指令被汇编程序用对应的代码序列替代,这就是宏展开宏展开的具体过程是:当汇编程序扫描源程序遇到已有定义的宏调用时,即用相应的宏定义体完全替代源程序的宏指令,同时用位置匹配的实参对形参进行取代解:宏调用的参数通过形参、实参结合实现传递,简捷直观、灵活多变;宏汇编的一大特色是它的参数;宏定义时既可以无参数,也可以有一个或多个参数;宏调用时实参的形式也非常灵活,可以是常数、变量、存储单元、指令操作码或它们的一部分,也可以是表达式;只要宏展开后符合汇编语言的语法规则即可;解:宏:仅是源程序级的简化:宏调用在汇编时进行程序语句的展开,不需要返回;不减小目标程序,执行速度没有改变通过形参、实参结合实现参数传递,简捷直观、灵活多变子程序:还是目标程序级的简化:子程序调用在执行时由CALL指令转向、RET指令返回;形成的目标代码较短,执行速度减慢需要利用寄存器、存储单元或堆栈等传递参数选择:宏与子程序具有各自的特点,程序员应该根据具体问题选择使用那种方法;通常,当程序段较短或要求较快执行时,应选用宏;当程序段较长或为减小目标代码时,要选用子程序编写一个宏指令move doprnd,soprnd,它实现任意寻址方式的字量源操作数soprnd送到目的操作数doprnd,包括存储单元到存储单元的传送功能;答:move macro doprnd,soprndmov ax,soprndmov doprnd,axendm定义一个宏logical,用它代表4条逻辑运算指令:and/or/xor/test;注意需要利用3个形式参数,并给出一个宏调用以及对应宏展开的例子;答:logical macro lcode,dopd,sopdlcode dopd,sopdendm例如,如果使用“and ax,bx”指令,可以利用该宏定义,写出宏指令如下:logical and,ax,bx解:utol macrolocal nextcmp al,’A’;小于“A”不转换jb nextcmp al,’Z’;大于“A”不转换ja nextadd al,20h ;是大写字母则转换为小写字母next:endm定义一个宏movestr strn,dstr,sstr,它将strn个字符从一个字符区sstr传送到另一个字符区dstr解:假设它们都在数据段movestr macro strn,dstr,sstrmov cx,dsmov es,cxmov cx,strnmov di,offset dstrmov si,offset sstrcldrep movsb ;;重复传送ES:DI←DS:SIendm第五章解:主存的作用:保存正在使用的、处于活动状态的程序和数据;辅存的作用:长期保存程序文件和数据文件,在需要时将这些文件调入RAM内存并激活使用;cache的作用:提高对存储器的访问速度;虚拟存储:由容量较小的主存和容量较大的辅存构成,其目标是扩大程序员眼中的主存容量;区别:通过存储器访问指令用户可对主存进行随机访问;用户利用操作系统提供的用户命令和功能调用对辅存进行访问;在半导体存储器中,RAM指的是随机存取存储器 ,他可读可写,但断电后信息一般会丢失;而ROM指的是只读存储器 ,正常工作时只能从中读取信息,但断电后信息不会丢失 ;以EPROM芯片2764为例,其存储容量为8K×8位,共有 8 条数据线和 13 条地址线;用它组成64KB的ROM存储区共需 8 片2764芯片; 解:双译码方式使得地址译码器的输出线的数目大为减少,使得芯片设计得时候复杂度就低了;地址线A9~A4根数据线I/O4~I/O1片选CS读写WE解:假想的RAM有12根地址线、4根数据线片选端CS或CE:有效时,可以对该芯片进行读写操作,通过对系统高位地址线的译码来选中各个存储芯片输出OE:控制读操作;有效时,芯片内数据输出,该控制端对应系统的读控制线MEMRMRDC写WE:控制写操作;有效时,数据进入芯片中,该控制端对应系统的写控制线MEMWMWTC解:位片结构:每个存储单元具有一个唯一的地址,可存储1位;4116字片结构:每个存储单元具有一个唯一的地址,可存储多位;2114解:组成单元速度集成度应用SRAM 触发器快低小容量系统DRAM 极间电容慢高大容量系统NVRAM 带微型电池慢低小容量非易失掩膜ROM:信息制作在芯片中,不可更改PROM:允许一次编程,此后不可更改EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程EEPROME2PROM:采用加电方法在线进行擦除和编程,也可多次擦写Flash Memory闪存:能够快速擦写的EEPROM,但只能按块Block擦除解:位扩充——存储器芯片数据位数小于主机数据线数时,利用多个存储器芯片在数据“位”方向的扩充;地址扩充字扩充——当一个存储器芯片不能满足系统存储容量时,利用多个存储器芯片在“地址”方向的扩充组成32KB存储空间,用SRAM 21141K×4需要64个芯片;组成32KB存储空间,用DRAM 411616K×1需要16个芯片;它们都需要进行位扩充和地址扩充解:片选信号说明该存储器芯片是否被选中正常工作,设置它可以比较方便地实现多个存储器芯片组成大容量的存储空间存储器片选信号通常与CPU地址总线的高位地址线相关联,可以采用“全译码”、“部分译码”、“线选译码”方式采用全译码方式可以避免地址重复采用部分或线选译码可以节省译码硬件解:24=16解:解:解:解:解:动态随机存取存储器 DRAM 的存储单元电路动态存储单元是由 MOS 管的栅极电容 C 和门控管组成的;数据以电荷的形式存储在栅极电容上,电容上的电压高表示存储数据 1 ;电容没有储存电荷,电压为 0 ,表明存储数据 0 ;因存在漏电,使电容存储的信息不能长久保持,为防止信息丢失,就必须定时地给电容补充电荷,这种操作称为“ 刷新” 由于要不断地刷新,所以称为动态存储;方法:采用“仅行地址有效”方法刷新;刷新周期:15μs刷新次数:128解:4 256KB A19-A16 4解:访问的局部性原理:在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内;指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次;因此,对这些地址的访问就自然地具有时间上集中分布的倾向;数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中;这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性;cache的作用:提高对存储器的访问速度;虚拟存储:其目标是扩大程序员眼中的主存容量;第七章解:总线:指可以由多个信息处理单元所共享的信息通道;使用特点:⑴在某一时刻,只能由一个主设备控制总线,其他主设备此时可作为从设备出现⑵在某一时刻,只能有一个设备向总线上发送数据,但可以有多个设备从总线上接收数据在各种微机总线中,根据总线连接对象的不同可将它们分为以下几类,它们是:片内总线、芯片总线、板级总线、设备总线和互连总线_;例如,ISA总线属于板级总线,USB总线属于设备总线,I2C总线属于芯片总线;总线中除电源和地线外的信号线,也可按传输信息的不同分为以下3类,即:数据总线、地址总线、控制总线 ;解:分时复用就是一个引脚在不同的时刻具有两个甚至多个作用总线复用的目的是为了减少对外引脚个数在访问存储器或外设的总线操作周期中,这些引脚在第一个时钟周期输出存储器或I/O端口的低8位地址A7 ~ A0,其他时间用于传送8位数据D7 ~ D0 解:并行总线:多维数据通过多根信号线同时进行传递;并行同步传输、并行异步传输见P174;解:见P174.解:总线的性能指标包括:总线宽度、标准传输、时钟同步/异步、总线复用、信号线数、总线控制方式总线宽度:它是指数据总线的根数, 用bit位表示,如8位、16位、32位、64位;解:D0~D7:8位双向数据总线A0~A19:20位输出地址总线ALE:地址锁存允许,每个CPU 总线周期有效IOR:I/O读,输出IOW:I/O写,输出IO CH RDY:I/O通道准备好,输入第九章解:软件延时、不可编程的硬件定时、可编程的硬件定时解:CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号下降沿,计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束计数值减为0,OUT引脚上将产生一个输出信号解:8253每个通道有 6 种工作方式可供选择;若设定某通道为方式0后,其输出引脚为低电平;当写入计数初值并进入减1计数器后通道开始计数, CLK 信号端每来一个脉冲减1计数器就减1;当计数器减为0 ,则输出引脚输出高电平,表示计数结束;8253的CLK0接的时钟,欲使OUT0产生频率为300KHz的方波信号,则8253的计数值应为 5=÷300KHz ,应选用的工作方式是 3解:1 mov al,50hmov dx,207hout dx,almov al,128 ;80hmov dx,205hout dx,al2 mov al,33hmov dx,207hout dx,almov ax,3000h ;不是3000mov dx,204hout dx,almov al,ahout dx,al3 mov al,0b4hmov dx,207hout dx,almov al,02f0hmov dx,206hout dx,almov al,ahout dx,al解:mov al,33hout 0fbh,al ;写入计数器0地址:0fbhmov al,80h ;out 0f8h,al ;写入低字节计数初值mov al,50hout 0f8h,al ;写入高字节计数初值作用:计数器0的计数初值为5080h解计数器0——每隔55ms产生一个IRQ0中断请求计数器1——每隔15μs产生一个DRAM刷新请求计数器2——控制扬声器音调解101个下降沿,还可以采用方式4GATE0接外部启动计数器的控制信号,可以选用方式1或方式5 mov dx,203hmov al,12h ;方式5为1ahout dx,almov dx,200hmov al,64hout dx,al解:计数器0的计数值:5M/1K=5000=1388H方式控制字:00100101=25H、2DH、35H、3DH十进制计数00100100=24H、2CH、34H、3CH二进制计数计数器1的计数值:1000方式控制字:01101001=69H、79H十进制计数 01101000=68H、78H二进制计数MOV DX,0FFF3HMOV AL,25H ;通道0,只写高字节,方式2,十进制OUT DX,ALMOV DX, 0FFF0HMOV AL,50H ;计数初值5000OUT DX,ALMOV DX,0FFF3HMOV AL,69H ;通道1,方式4OUT DX,ALMOV DX, 0FFF1HMOV AL,10H ;计数初值1000OUT DX,AL解:stack segment stackdw 1024 dupstack endsdata segmentfreq dw 8,,,,,,,,data endscode segment 'code'assume cs:code, ds:data,ss:stack start: mov ax,datamov ds,axagain:mov ah,01hin 21hcmp al,1BHjz nextcmp al,31Hjb next1cmp al,38Hja next1and al,0fhmov ah,00hmov si,axmov bx,offset freqmov ax,BX+SIcall speakercall speakonjmp againnext1: call speakoffjmp againnext: mov ax,4c00hint 21hspeaker procpush axmov al,0b6hout 43h,alpop axout 42h,almov al,ahout 42h,alretspeaker endp speakon procpush axin al,61hor al,03hout 61h,alpop axretspeakon endp speakoff procpush axin al,61hand al,0fchout 61h,alpop axretspeakoff endpcode endsend starts 解:1 f 1162f。
上海工程技术大学微机原理与接口技术复习题5 程序控制转移指令
(如上)
IRET
写在中断处理程序最后一条指令
9
返回主程序 RET
(写在子程序的最后一条指令)
·返回断点: 当子程序执行 RET 指令时,会将栈顶的内容弹出,放到 IP 和/或 CS 寄存器中,以保证调用过程和返回过程的正 确性
RET
n
带参数的返回指令
(n 为在 0000H~FFFFH 内的 如何一个偶数)
同上外 在根据 n 修改堆栈指针:SP+n,,即跳过堆栈的 n 个单元空间,为 便于调用程序在用 CALL 前, 把子程序所需要的参数入棧 (为 n/2 个参数)以便子程序运行时使用这些参数
7
3.4.5 程序控制转移指令
第三章 8086 的指令系统
2014-6-25
有 关 中 断 概 念
中断 (计算机暂停现行程序的执行,转而执行一组专门的例行程序) || 中断服务子程序 内部中断=软件中断=通过软件调用的非屏蔽型中断 区 别 包括处理除数为 0、在程序中为做某些处理而设置的中断指令。 外部中断 由外部设备 向 CPU 提出 请, 。处理 I/O 设 备 与 CPU 之间的 通信
CX≠0 · · · · · · (下一指令)
⑵
LOOPZ/LOOPE 目标地址
类上。 若 CX≠0 且 ZF=1,则继续循环, 即 IP←IP+8 位位移量(带符号扩展到 16) 但 CS 不变 否则(当 CX=0 或 ZF=0)结束循环执行该指令的下一指令
5
3.4.5 程序控制转移指令
第三章 8086 的指令系统
⑴ 调 用 指 令
① 段内直接调用 CALL NEAR 目标地址 段 内
子程序 在现行 代码段 区域中
调用子程序 ·保护断点: 将 CALL 指令的下一条指令所在的内存地址推入堆栈
上海工程技术大学微机原理与接口技术复习题8086的寻址方式详解
3.2 8086的寻址方式
(二)8086的寻址方式介绍(仅以数据传送指令MOV为例)
4
寄存器间接寻址特点:参加操作数(源操作数或目的操作数)在内存单元器中。
·在指令中,操作数所在单元的逻辑偏移地址
·逻辑偏移地址
放在基址寄存器BX,或变址寄存器SI, DI 基址指针寄存器BP或堆栈指针寄存器SP中
DS 隐含SS 隐含
一般不用AX, CX. DX
MOV DX,
数据寄存器
DX。
H 。
H
√[ SI ]
||
源变址寄存器
存放着逻辑偏移地址
假设SI里存放着61A8H
数据段
(DS) 10H+ 61A8H
·····
ⅹⅹH
ⅹⅹH
·····
5.
基址/ 变址寻址
统称特点:参加操作数(源操作数或目的操作数)在内存单元器中
·操作数所在单元的有效地址EA是
基址寄存器BX,或基址指针BP与一个相对位移量之和。
(称为基址寻址)
||
隐含DS 隐含SS 一个带符号的16进制数
基址寄存器SI,或基址寄存器DI与一个相对位移量之和。
(称为变址寻址)
||
隐含DS 隐含DS 一个带符号的16进制数。
《微机原理与接口技术》期末复习题及参考答案
《微机原理与接口技术》期末复习题一、选择题1. 在微机中,用来表示信息的最小单位是()。
A. 位B. 字节C. 字D. 双字2. 机器字长为8位,十进制数125转换成十六进制数是()。
A. 125HB. 7DHC. 0FFHD. 0D7H3. 8253的三个计数器中每一个都有三条信号线,其中CLK是指()。
A.定时计数脉冲输入B.输出信号C.选通输入D.门控制输入4. 高速I/O设备或成组交换数据时,可以采用()方式传送数据。
A. 查询B. 中断C. DMAD. 同步5. 堆栈操作时,段基址由()寄存器指出,段内偏移量由SP寄存器指出。
A. CSB. DSC. SSD. ES6. 8255A的“端口C按位置1/置0控制字”应写入()。
A. A口B. B口C. C口D. 控制口7. 采用条件传送时,必须要有()。
A. 中断逻辑B. 类型号请求信号C. 状态端口D. 请求信号8. 中断服务程序入口地址是()A 中断向量表的指针B 中断向量C 中断向量表D 中断号9. 8086/8088CPU在执行IN AL,DX指令时,DX寄存器的内容输出到()上。
A. 地址总线B. 数据总线C. 存储器D. 寄存器10. 一般地,将计算机指令的集合称为()。
A. 指令系统B. 汇编语言C. 模拟语言D. 仿真语言11. 8086处理器最小工作方式和最大工作方式的主要差别是()。
A. 内存容量不同B. I/O端口数不同C. 数据总线位数不同D. 单处理器和多处理器的不同12. 将寄存器AX的内容求反的正确操作是()A. NEG AXB. XOR AX,0FFFFHC. OR AXD. CMP AX,AX13. 用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,存放该指令的存储单元的物理地址是()A. 3EC00HB. 2F80HC. 12380HD. 2F800H14.汇编程序是一种()A. 汇编语言程序B. 编辑程序C. 翻译程序D. 将高级语言程序转换成汇编语言程序的程序15. 在查询方式下输入/输出时,在I/O接口中设有(),通过它来确定I/O设备是否准备好。
上海工程技术大学微机原理与接口技术复习题附:指令分类表
1
SAR
目,
CL
⑸不带进位循环左移指令
ROL
目,
1
ROL
目,
CL
⑹不带进位循环右移指令
ROR
目,
1
ROR
目,
CL
⑺带进位循环左移指令
RCL
目,
1
RCL
目,
CL
⑻带进位循环右移指令
RCR
目,
1
RCL
目
,CL
第四类
串处理类
1
串传送指令
MOVSB
ES:DI
DS:SI
13
MOVSW
ES:DI
DS:SI
2串比较指令
NOT
目的操作数
5
⑵指令
AND
目的操作数,
源操作数
⑶指令
OR
目的操作数,
源操作数
⑷指令
XOR
目的操作数,
源操作数
⑸指令
TEST
目的操作数,
源操作数
2.
逻辑移位
⑴逻辑左移指令
SHL
目,
1
8
SHL
目,
CL
⑵算术左移指令
SAL
目,
1
SAL
目,
CL
⑶逻辑右移指令
SHR
目,
1
SHR
目,
CL
⑷算术右移指令
SAR
CMPSB
ES:DI(隐含)
DS:SI(隐含)
CMPSW
ES:DI(隐含)
DS:SI(隐含)
3串搜索指令
SCASB
ES:DI(隐含)
SCASW
ES:DI(隐含)
微机原理与接口技术期末考试复习题
微机原理与接口技术1 .8088/8086CPU中程序计数器PC中存放的是指令地址2 .汇编语言中,经过定义的每个变量均有3个属性,地卅属性不属于变量的属性。
3 .设(SS)=2000H,(SP)=OlOOH,(AX)=2107H,则执行指令PUSHAX后,存放数据21H的物理地址是2∞FFH<>4 .堆栈段寄存器是SS。
5 .串操作时,地址的修改往往与方向标志DF有关,当DF=I时,Sl和Dl作自动减芮修改。
6 .假设Vl和V2是用DW定义的变量,正确的是MoV VI,20Ho7 .十进制小数转换成十六进制小数可采用金16取格法。
8 .字符串指令有许多参数是隐含约定的,目的字符串的起始地址为ES I DI9 .若BL=87H,BH=0E6H,贝UBX=OE687H。
10 .8086和8088的引脚信号中,ALE为地址锁存允许信号引脚。
11 .采用十六进制书写二进制数,位数可以减少到原来的1/4O12 .CPU响应INTR引脚上来的中断请求的条件是IF=I013 .采用2的补码形式时,一个字节能表达的带符号整数范围为[-128,+127]。
14 .在存储体系中,辅存的作用是均E的缺陷。
15 .MOVDX,100OH是正确的,16 .8086在存储器读写时,遇到READY无效后可以插入等待周期的个数可不受限制。
17 .一个最基本的微处理器由三部分组成,不包括卜钟振荡器。
18 .正数的反码与原码相等19 .8086/8088系统中把IM存储空间分成16个逻辑段(0~15),每个逻辑段的容量是≤64KBO20 .中断触发的方式有电平触发和边沿触发触发两种21 .微机系统的I/O端口的寻址方式有存储器映像的I/O寻址、I/O映像的I/O寻址两种方式。
22 .80X6CPU标志寄存器的标志位中,属于状态标志位的是OF,AF,CF23 .在半导体存储器中,RAM指的是随机存取存储器,可读可写,但断电后信息一般会丢失。
微机原理与接口技术填空
微机原理与接口技术填空计算机基础知识1.系统总线由地址总线数据总线控制总线三类传输线组成。
2.微型计算机由中央处理器存储器输入/输出接口和系统总线组成。
3.计算机的硬件结构通常由五大部分组成。
即运算器控制器存储器输入设备和输出设备组成。
4.一个完整的微机系统应包括硬件系统和软件系统两大功能部分5.微处理器由运算器控制器和少量寄存器组成。
6.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。
7.8位二进制整数,其补码所能表示的范围为-128—127,-1的补码为OFFH 。
8.一带符号数的8位补码为11110111B,它所表示的真值为-9D。
9.将二进制数101101.101转换为十进制数为45.625。
10.8位二进制补码10110110代表的十进制负数是-74D。
11.将压缩BCD码01111001转换成二进制数为01001111B。
12.将压缩BCD码01111001转换成十进制数为79D。
13.X、Y的字长均为12位,已知[X]反=A3CH,原码为0DC3H,[Y]反=03CH,则X-Y的补码为0A01H。
14.带符号数在机器中以补码表示,十进制数-78表示为FFB2H。
15.已知X的补码是11101011B,Y的补码是01001010B,则X-Y的补码是10100001B。
16.ASCII码由 7 位二进制数码构成,可为 128 个字符编码。
17.在计算机中,用二进制表示实数的方法有两种,分别是定点法浮点法18.将二进制数1011011.1转换为十六进制数为__5B.8H_____。
19.将十进制数199转换为二进制数为____ 11000111____B。
20.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD码。
21.十进制数36.875转换成二进制是___100100.111____________。
微机原理与接口技术复习题(含答案)
微机原理与接口技术复习题(含答案)微机原理与接口技术复习题库一、单项选择题1、在计算机内部,一切信息的存取、处理和传送都是以()形式进行的。
A.8421BCD码 B. ASCII码 C. 十六进制编码 D. 二进制编码2、十进制数255转换成十六进制数是()。
A. FFHB. 79HC. 59HD. EFH3、八制数23.4Q转换成十进制数是()。
A . 13.5 B. 19.5 C. 21.5 D. 17.54、十六进制数ABCDE转换成二进制数是()。
A. 10101011110011011111B. 11101011110011011110C. 10101011110011011110D. 101010111110110111105、10101010B+01011101B的算术运算结果为()。
A. 100000111B. 100100111C. 100001111D. 1000101116、十进制数125转换成十六进制数是()。
A. 7DHB. 79HC. 59HD. 1EH7、二进制数1010.101转换成十进制数是()。
A. 17.256B. 10.625C. 13.25D. 17.58、十六进制数56.78转换成二进制数是()。
A. 1000101.11001B. 1110101.11101C. 1010110.01111D. 1100101.110119、十进制正数38的八位二进制补码()。
A. 00110101B. 00100110C. 10110101D. 1010101110、十进数2006的压缩8421BCD码为()。
A. 0010000000000010B. 0100000000000010C. 0010000000000110D. 001000000000010011、按诺依曼结构理论,下面哪个不是计算机组成部分()。
A. 运算器B. 控制器C. 打印机D. 存储器12、微机中控制总线传送的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
则转移到目标地址
0
被减数 减数
(比较两无符号数是否相
JNE/JNZ 目标地址
等)
零标志位 ZF=1 时,
即结果为零时。
若先 CMP 则 被减数− 减数=0 即 等) 被减数=减数 (比较两无符号数是否相
则执行下一指令
符号标志位 SF=1 时, 即 运算结果的最高位 为 1,也就是运算结果 是负数时。 JS 目标地址 符号标志位 SF=0 时, 即 运算结果的最高位 为 0,也就是运算结果 是正数时。
⑴ 调 用 指 令
① 段内直接调用 CALL NEAR 目标地址 段 内
子程序 在现行 代码段 区域中
调用子程序 ·保护断点: 将 CALL 指令的下一条指令所在的内存地址推入堆栈
② 段内间接调用 例 CALL WORD PTR [SI]
目标地址在内存中
例 CALL BX
目标地址在寄存器中
段 ①段间直接调用 间 CALL FAR 目标地址
第三章 8086 的指令系统 (比较两无符号数是否相
2014-6-25
JE/JZ 目标地址
等)
零标志位 ZF=0 时,
即结果不为零时。
若先 CMP 则 被减数− 减数 即 等)
则执行下一指令
0
被减数 减数
(比较两无符号数是否相
零标志位 ZF=0 时,
即结果不为零时。
若先 CMP 则 被减数− 减数 即
003FH
· · · · · ·
8
3.4.5 程序控制转移指令
第三章 8086 的指令系统
2014-6-25
5 中 断 指 令 和 中 断 返 回
⑴ 中 断 指 令 ⑵ 溢 出 指 令 ⑶ 中 断 返 回 指 令
INT n (0---255)
启动一个有中断类型号所给定的中断例行程序.(如上)
INTO
CX≠0 · · · · · · (下一指令)
⑵
LOOPZ/E 目标地址
类上。 若 CX≠0 且 ZF=1,则继续循环, 即 IP←IP+8 位位移量(带符号扩展到 16) 但 CS 不变 否则(当 CX=0 或 ZF=0)结束循环执行该指令的下一指令
5
3.4.5 程序控制转移指令
第三章 8086 的指令系统
除法出错中 断 指 令 依 据 中断指令: INT 0 没有此指令 (CPU 自动产 生该中断) 类型号 n=0
单步中断 中断指令: INT 1 当 TF=1
非屏蔽型中断 中断指令: INT 2 当 CPU 外部引 脚 NMI 上有引 入 类型号 n=2
断点中断 中断指令: INT 3 当在汇编 语言程序 调试时可 设断点 类型号 n=3
3.4.5 程序控制转移指令
第三章 8086 的指令系统
2014-6-25
2 条 件 转 移 指 令
都 是 短 距 离 的
⑴ 单 条 件 即 可 视 为 无 无 符 号 数 也 可 视 为 带 无 符 号 数 JC 目标地址
进位标志位 CF=1 时, 即有进位时或有借位。
若先执行两无符号数的比 较(cmp) ,则 被 减 数 < 减 数 (比较两无符号数的大小)
1
JMP NEAR PTR 目标地址
(符号形式)
JMP SHORT 目标地址
(符号形式)
② JMP WORD PTR[BX] 给出内存单元
⑶ 段 间 直 接 转 移 ⑷ 段 间 间 接 转 移
JMP FAR PTR 目标地址
(符号形式)
给出符号地址
JMP WORD PIR [BX][SI] 给出内存中的连续 4 个 单元的地址
执行下一指令
溢出标志位 OF=1 时, 即表示本次运算结果产 生溢出(对编程者,仅 对带符号数有意义) JO 目标地址 溢出标志位 OF=0 时, 即表示本次运算结果不 产生溢出(对编程者, 仅对带符号数有意义) 溢出标志位 OF=0 时, 即表示本次运算结果不 产生溢出(对编程者, 仅对带符号数有意义) JNO 目标地址 溢出标志位 OF=1 时, 即表示本次运算结果产 生溢出(对编程者,仅 对带符号数有意义) 奇偶标志位 PF=1 时, 即运算结果有偶数个 1 奇偶标志位 PF =0 时 即运算结果有奇数个 1 奇偶标志位 PF =0 时 即运算结果有奇数个 1 JNP/JPO/ 目标地址 奇偶标志位 PF=1 时, 即运算结果有偶数个 1
返回主程序 RET
(写在子程序的最后一条指令)
·返回断点: 当子程序执行 RET 指令时,会将栈顶的内容弹出,放到 IP 和/或 CS 寄存器中,以保证调用过程和返回过程的正 确性
RET
n
带参数的返回指令
(n 为在 0000H~FFFFH 内的 如何一个偶数)
同上外 在根据 n 修改堆栈指针:SP+n,,即跳过堆栈的 n 个单元空间,为 便于调用程序在用 CALL 前, 把子程序所需要的参数入棧 (为 n/2 个参数)以便子程序运行时使用这些参数
入
口
1ⅹ4
中断处理程序的 入口地址的偏移量 中断处理程序的 入口地址的段基址
地
单 步 中 断 非屏蔽 型中断
当 TF=1
2ⅹ4
中断处理程序的 入口地址的偏移量 中断处理程序的 入口地址的段基址
址
当 CPU 的 外 部 引 脚 NMI 上有中断引入
表
3ⅹ4
· · · · · · · · · · · ·
2014-6-25
⑶
LOOPNZ/LOOPNE 目标地址
类上。 若 CX≠0 且 ZF=0,则继续循环, 即 IP←IP+8 位位移量(带符号扩展到 16) 但 CS 不变 否则(当 CX=0 或 ZF=1)结束循环执行该指令的下一指令 略
⑷
JCXZ
标号
4 子 程 序 或 过 程 的 调 用 和 返 回
3.4.5 程序控制转移指令
第三章 8086 的指令系统
2014-6-25
3.4.5 程序控制转移指令 格式 1 无 条 件 转 移 指 令 ⑴ 段 内 直 接 转 移 ① 近转移 如何给出目标地址 (=转向地址) 功能 转移到目标地址处,去执行该处指令) 注意: · IP←IP + 相对位移量 || 位移量=16 位带符号数 · CS 不变 给出符号地址 ② 短转移 允许范围: 32KB 字节 注意: · IP←IP + 相对位移量 || 位移量=8 位带符号数 · CS 不变 允许范围: 127 字节 ⑵ 段 内 间 接 转 移 ① JMP CX 给出 16 位寄存器 注意: · 由一个 16 位寄存器 CX 的内容给出 有效地址 IP←EA, ·CS 不变 注意: ·寄存器 BX 存放着内存单元地址,该 单元里存放着有效地址 EA 即 IP←(EA) ·CS 不变 注意: 符号地址中给出了目标地址的段基址 和目标地址的段内偏移量,即给出新 的指令代码段和新的段内偏移量 ·IP←目标地址的段内偏移量 ·CS←目标地址的段基址 给出新的指令代码段和新的段内偏移 量,即给出一个内存单元地址,在连 续 4 个单元,低字节两个单元的内容 里存代替 IP,高字节两个单元的内容 CS。 (DS)*16+(BX)+( SI) I P D S
溢出中断 溢出中断指令: INTO 当带符号数的 加,减法运算, 且 OF=1 时 类型号 n=4
号 功 能
类型号 n=1
启动一个有中断类型号 n 规定的中断过程 (转到相应的中断服务子程序,执行完毕后,返回 INT 指令的下一条指令继 续) 入口地址表=中断向量表=中断矢量表 中 断 向 量 区 || 在 内 存 中 1 0 2 4 个 字 节 地址 0000H 256 个 类型号 内存圖示
JA/JNBE 目标地址 JNA/JBE 目标地址 JB/JNAE 目标地址 JNB/JAE 目标地址 JG/JNLE JGE/JNL JL/JNGE JLE/JNG LOOP 目标地址 目标地址 目标地址 目标地址 目标地址 常用 于两 带符 号数 的比 较 “大 小”
高于/不低于等于时 即 CF∨ZF=0 不高于/低于等于时 即 CF∨ZF=1 低于 / 不高于等于时即 CF=1 不低于 / 高于等于时即 CF=0 大于 / 不小于等于时即 (SF∨OF)∨ZF=0 大于等于 / 不小于时即 (SF∨OF)=0 小于 / 不大于等于时即 (SF∨OF)=1 小于等于 / 不大于时即 (SF∨OF)∨ZF=1
(如上)
IRET
写在中断处理程序最后一条指令
9
则转移到目标地址
进位标志位 CF=0 时, 即无进位或无借位时。
若先执行两无符号数的比 较(cmp) ,则 被减数 > 减数 (比较两无符号数的大小)
则执行下一指令
进位标志位 CF=0 时, 即无进位过无借位时。
若先执行两无符号数的比 较(cmp) ,则 被减数 > 减数
则转移到目标地址
JNC
目标地址
则转移到目标地址
则执行下一指令
则转移到目标地址
则执行下一指令
则转移到目标地址 则执行下一指令 则转移到目标地址,否则执行下一指令
JP/JPE 目标地址
则执行下一指令
4
3.4.5 程序控制转移指令
第三章 8086 的指令系统
2014-6-25
⑵ 无 符 号 数 的 条 件 ⑶ 带 符 号 数 的 条 件 3 循 环 控 制 指 令 ⑴
7
3.4.5 程序控制转移指令
第三章 8086 的指令系统
2014-6-25
有 关 中 断 概 念
中断 (计算机暂停现行程序的执行,转而执行一组专门的例行程序) || 中断服务子程序 内部中断=软件中断=通过软件调用的非屏蔽型中断 区 别 包括处理除数为 0、在程序中为做某些处理而设置的中断指令。 外部中断 由外部设备 向 CPU 提出 请, 。处理 I/O 设 备 与 CPU 之间的 通信