微机原理练习六--读程序并回答问题
微机原理试题附参考答案

一、填空题(每空1分,共15分,答案写在答题纸上)1、微型计算机由CPU、(_______)、总线、接口电路及输入输出设备等构成。
2、在微机系统中,端口编址方式一般有(_______)和(______)两种编址方式3、微机系统与输入/输出设备的信息交换有无条件传送方式、查询方式、(_______)和(_______)。
4、二进制数01100101.11的十进制表示为(_______)。
5、实模式下,已知逻辑地址为4010H:2000H,则物理地址为(_______)。
6、有一个8位机器数为10010111,若此数表示原码,则相应的十进制数的真值为(_______),若此数表示反码,则相应的十进制数的真值为(_______),若此数表示补码,则相应的十进制数的真值为(_______),若此数表示的是压缩(或组合)BCD码,则相应的十进制数的真值为(_______)。
7、设(DS)=1000H, (ES)=2000H, (SS)=3000H, (BX)=5000H, (BP)=6000H, (DI)=0001H ,内存单元中,(21000H)=1234H, (36000H)=9ABCH,(16000H)=9657H, (41002H)=789AH 。
则MOV AX, ES:[1000H] 执行时操作数的物理地址为(_______);MOV AX, [BP]执行后(AX)= (_______);MOV AX,[BX+DI] 执行时操作数的物理地址为(_______)。
8、已知(BX)=1234H, (DS)=1000H, (SI)=200H, (10221H)=3247H, 指令LEA BX, [SI+21H]执行后BX 寄存器的值为(_______)。
二、单项选择题(每题1分,共15分,答案写在答题纸上)1.以下各个指令中正确的是()。
A. MOV CS, 1000B. OUT DX, AXC. MOV BL, BPD. MOV AH, DX2. 在外部中断源的中断服务程序结束时,一般应向8259发送中断结束命令是让()的相应位清零。
微型计算机原理练习附答案

复习提纲1.两个4字节的无符号数分别存放在从2000H和2010H开始的存储单元中,编写程序完成它们的相加操作,并将所求的和放在从2000H开始的内存单元中。
2.设在2000H开始的内存单元中,存放50个无符号字节数,编程找出其中的最大值,并把它存放到DL寄存器中。
3.将AL中的两个组合BCD数分别转换成对应的ASCII码,并存放在CX中(高位BCD数的转换结果放在CH中,低位BCD数的转换结果放在CL中)。
4.已知在BUF为首地址的单元中,存放了10个ASCII码数据,编程将它们转换为BCD码后,存放在BUF+10为首地址的单元中。
编一个程序段。
数据段有100个无符号字节数据块BUF,试找出其中数值为0的数据个数并放入ZERO单元中5.在数据段BUF开始的连续10个单元中存放有10个无符号数,编程求出它们的和并放入SUM单元中。
6.在数据段BUF开始的连续10个单元中存放有10个无符号数,编程找出其中的最大值放入MAX单元中。
7.如图1所示,8255A的A口PA0、PA1、PA2引脚分别接3个开关K0、K1、K2,B口PB0、PB1、PB2通过驱动电路分别接到3个发光二极管的阳极。
开关的状态通过A口输入到8255A,然后将其送到B口输出,控制发光二极管的亮与灭。
(1)通过译码电路分析确定8255A的端口地址:(假定未使用的引脚均为低电平“0”)A口地址:B口地址:C口地址:控制口地址=(2)编程:根据读入A口开关状态,去控制发光二极管的程序。
(要求说明8255A控制字的设置过程)8.已知8255A的A口PA0~PA5接6只共阴数码管LED0~LED5的段码,B口PB0~PB5分别接LED0~LED5的位码,A、B口工作于方式0,8255A的工作方式控制字如图所示。
要求:a.简单画出8255A的A、B口与LED的接线图;b.已知8255A的端口地址为:380H~383H,写出能在LED0和LED1上同时显示“66”的程序。
(完整版)微机原理课后习题参考答案

第一章2、完成下列数制之间的转换。
(1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。
答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。
组合型:254=(001001010100)BCD非组合型:254=(00000010 00000101 00000100)BCD7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。
+32767~ -32768。
9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。
(1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确[X-Y]补=10111001B=00010010+10100111=(-71D)补正确(2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确(3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确[X-Y]补=00010010+00001111=00100001B=(33D)补正确(4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。
微机原理练习题..

例1:8088属于多少位微处理器?数据线和地址线根数分别是多少?寻址空间多大?答:1.8088属于准16位微处理器;有8根数据线,20根地址线;寻址空间为220B,即1MB)。
例2:在8086/8088 CPU中,物理地址和逻辑地址是指什么?已知逻辑地址为1F86:38A5H,如何计算出其对应的物理地址?答:物理地址是 CPU访问存储器所用的地址。
逻辑地址是段地址和偏移地址形式的地址,即汇编语言程序中使用的存储器地址。
若已知逻辑地址为1F00:38A0H,则对应的物理地址=1F00H x 16+38A0H=228A0H。
例3:设(BL)=1100 1011B,变量V AR的内容为0011 0010B,求下列指令单独执行后BL的内容:(1)XOR BX,VAR;(2)AND BX,V AR;(3)OR BX,V AR;(4)XOR BX,11110000B;(5)AND BX,00001111B;解:(1)F9H (2)2H(3)0FBH(4)3BH(5)0BH例4:分析下列指令,对正确指令写出源操作数的寻址方式,对错误指令写出原因(设V AR为字变量)。
(1)MOV BX,V AR[SI](2)MOV BP,AL(3)MOV CS,AX(4)MOV DS,0100H (5)MOV AX,BX解:(1) ,寄存器相对寻址(2) ,类型不一致(3) ,CS不能作为目的操作数(4) ,当DS、ES、SS作为目的操作数时,源操作数不能是立即数(5) ,寄存器寻址例5.已知中断向量表中,001C4H中存放着2200H,001C6H中存放着3040H,则其中断类型码是____H,中断服务程序的入口地址的物理地址和逻辑地址分别是_____H和______H:_________.答:71H,32600H和3040H:2200H例6.8086CPU响应外部中断请求是在_ __A.一条指令执行结束B.一个机器周期结束C.立即响应D.根据中断类型决定例7.硬件中断可分为_ __和_____(答案:非屏蔽中断和可屏蔽中断)例8.下面是某8086微机内存中的部分数据,则中断类型号为11H的中断服务程序的入口地址存放在___A.0000H:0011HB. 0000H:0022HC. 0000H:0033HD. 0000H:0044H例9.当有如下中断请求时,微处理器执行完当前指令后,优先级别最底的响应是_ __A.INT0B.NMIC.INTRD.单步中断例10.在计算机系统中,微处理器对存储器单元和I/O端口的编址方法有统一编址和独立编址两种方法,8086/8088 CPU对I/O端口编址采用的是方法,当8088 CPU工作在最小方式时,用于区分访问存储器或I/O端口的控制信号(即引脚)为。
微机原理综合练习

综合练习一、填空:1.如果8088CPU执行了REPNZ SCASB指令后,使CX=0;ZF=0,那么,这个结果说明了。
2.8088CPU内部结构从功能上分成了执行部件EU 、总线接口部3.已知:DS=3000H,ES=2500H,SI=500H,DI=67A0H,则指令MOV AL,[SI]的源操作对应的物理地址为。
4.计算机中所用的数制为二进制,为了解决__应用__问题,引入了码制,其中,它又可分为八进制、十进制和十六进制,而二进制是计算机内部进行运算所常用的一种码制。
若字长取8位,其该码制所能表示的真值范围为0-127 。
5.指令MOV BYTE PTR [BX+DI],AL中源操作数为寻址,目的操作数为寻址。
7.在使用串搜索指令SCAS时,应将待搜索的字符事先置于AL 寄存器中;若重复操作,其重复的次数事先置于 CX 。
8.十进制数17.6875的二进制数表示为10001.1011 B。
十六进制数表示为 11.B H。
9.已知 [x]补=01100010B,[y]补=10110110B,则[x-y]补= 10101100 ;[x-y]原= 01010100 B;[x-y]反= 10101011 。
10.堆栈是一种按照先进后出的原则组织的一段存贮区域。
8086/8088指令系统中,堆栈操作的指令有PUSH、POP11.一个有16个字的数据区,它的起始地址为70A0:DDF6,那么这个数据区的最后一个字单元的物理地址为70A0:DE14 H。
12、在串行通信过程中,微机又称为数据终端设备, Modem 又称为数据通信设备。
13、按总线在微机结构中所处的位置,总线可分为片内总线、芯片总线、系统总线和外部总线。
14、根据传输线路不同,串行通信可分为单工传输方式、半双工传输方式和全双工传输方式三种方式。
15.8086/8088CPU内部设置指令流队列的目的在于指令缓冲。
16.假设某机器的字长为N位:用原码表示,其表示的真值范围为;用反码表示,其表示的真值范围为;用补码表示,其表示的真值范围为。
微机原理习题解答

微机原理习题解答第1章汇编语言基础知识习题解答1.1 什么是汇编语言?汇编语言的特点是什么?;答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。
汇编语言是汇编指令集、伪指令集和使用它们规则的统称。
汇编语言的特点是:(1)执行速度快。
(2)程序短小。
(3)可以直接控制硬件。
(4)可以方便地编译。
(5)辅助计算机工作者掌握计算机体系结构。
(6)程序编制耗时,可读性差。
(7)程序可移植性差。
1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 127 ② 1021 ③ 0.875 ④ 6.25答:① 1111111B;177Q;7FH ② 1111111101;1775Q;3FDH③ 0.111 B;0.7Q;0.EH ④ 110.01B;6.2Q;6.4H1.3把下列二进制数转换成十进制数。
① 1001.11 ② 101011.10011 ③ 111.011 ④ 1011.1答:① 9.75D ② 43.59375D ③ 7.375D ④ 11.5D1.4 把下列八进制数转换成十进制数。
① 573.06 ② 75.23 ③ 431.7 ④ 123.45答:① 379.09375D ② 61.296875D ③ 281.875 ④ 83.5781251.5 把下列十六进制数转换成十进制数。
① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D答:① 213.953125D ② 2234.484375 ③ 2862.2265625 ④ 1772.175781251.6 把下列英文单词转换成ASCII编码的字符串。
① Upper ② Blow ③ Computer ④ What答:① 55H,70H,70H,65H,72H ② 53H,6CH,6FH,77H③ 43H,6FH,6DH,70H,75H,74H,65H,72H ④ 57H,68H,61H,74H1.7求下列带符号十进制数的8位基2码补码。
完整版微机原理课后习题参考答案.doc

完整版微机原理课后习题参考答案.doc2篇微机原理课后习题参考答案(一)微机原理课后习题是帮助学生巩固所学知识,提高学习效果的一种重要方式。
通过解答习题,学生可以检验自己的理解程度和掌握技能,同时也能发现知识的不足之处,以便及时调整学习方法和加强练习。
以下是微机原理课后习题的参考答案,供学生参考:1. 请简述微机的基本组成部分。
答:微机的基本组成部分包括中央处理器(CPU)、内存、输入输出设备和总线。
其中,中央处理器是微机的控制中心,负责数据的处理和指令的执行;内存是用于存储数据和程序的地方,包括随机访问存储器(RAM)和只读存储器(ROM);输入输出设备用于与外部设备进行信息交换,包括键盘、显示器、打印机等;总线是连接中央处理器、内存和输入输出设备的通道,用于数据传输和控制信号传递。
2. 什么是存储器的地址空间?答:存储器的地址空间是计算机可寻址的存储单元的集合。
每个存储单元都有一个唯一的地址,用于在存储器中定位该存储单元。
地址空间的大小决定了计算机可以寻址的最大存储容量。
常见的存储器地址空间包括物理地址空间和逻辑地址空间。
物理地址空间是实际存在的存储单元的集合,由硬件决定;逻辑地址空间是程序员或操作系统所见到的地址空间,它可以比物理地址空间大或小,具体取决于使用的地址转换机制。
3. 简述中央处理器的主要功能。
答:中央处理器的主要功能包括指令的执行和数据的处理。
指令的执行是指根据程序中的指令,按照特定的指令集进行操作,包括数据传输、算术运算、逻辑运算等。
数据的处理是指对输入的数据进行处理,可以进行各种运算和逻辑操作,生成相应的结果。
除了执行指令和处理数据外,中央处理器还负责控制系统的运行,包括控制信号的发出和时序的控制,以确保各个组成部分协调工作。
4. 什么是总线?答:总线是微机中各个组成部分之间进行数据传输和控制信号传递的通道。
它可以看作是计算机内部各个部分之间进行信息交换的公共通道。
总线通常分为数据总线、地址总线和控制总线三种类型。
微机原理重点复习题及参考答案

1.微型计算机是指以微处理器为核心,配上存储器、输入输出接口电路及系统总线所组成的计算机。
2.微处理器是由一片或几片大规模集成电路组成的具有运算器和控制器功能的部件。
3.8086CPU从功能上讲,其内部结构分为_执行单元_和_总线接口单元_两大部分。
4.1KB= 1024 字节,1MB= 1024 KB,1GB= 1024 MB。
5.带符号数有原码、反码和补码三种表示方法,目前计算机中带符号数都采用补码形式表示。
6.(101110.11)2=( 46.75)10=( 2E.C)167.已知[ X]补=81H,则X= -127 。
(已知补码如何求真值?)8.假设二进制数A=10000110,试回答下列问题:1)若将A看成无符号数则相应的十进制数是_134_。
2)若将A看成有符号数则相应的十进制数是_-122_。
(带符号数都采用补码形式表示,已知补码如何求真值?。
)3)若将A看成BCD码则相应的十进制数是_86_。
9.从_奇_地址开始的字称为“非规则字”,访问“非规则字”需_两_个总线周期。
10.8086CPU数据总线是_16_位,对规则字的存取可在一个总线周期完成,11.8086CPU的地址总线有 20 位,可直接寻址 1M B的存储空间。
12.若DS=6100H,则当前数据段的起始地址为 61000H ,末地址为 70FFFH 。
13.动态存储器是靠电容来存储信息的,所以对存储器中所存储的信息必须每隔几毫秒刷新一次。
14.8086 CPU复位后,执行的第一条指令的物理地址是 FFFF0H 。
15.8086CPU系统的逻辑地址由段地址和偏移地址组成,物理地址的求法是段地址左移4位+偏移地址。
16.堆栈是以_先进后出_的原则存取信息的一个特定存贮区。
8086的堆栈可在1MB 存贮空间内设定,由堆栈段寄存器 SS 和堆栈指针 SP 来定位。
堆栈操作是以字为单位。
17.转移指令分为条件转移指令和无条件转移指令,条件转移指令的转移目的地址只能是短标号,即转移范围不能超过_-128——+127_字节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理练习六读程序并回答问题
1. 已知,(DS)=2000H,(BX)=100H,(SI)=0002H,从物理地址20100H单元开始,依次存放数据12H、34H、56H、78H;
而从物理地址21200H单元开始,依次存放数据2AH、4CH、8BH、98H。
试说明下列各条指令单独执行后AX寄存器的内容。
① MOV AX,3600H (AX)=
② MOV AX,[1200H] (AX)= ③ MOV AX,BX (AX)=
④ MOV AX,[BX] (AX)=
2. 以下语句汇编后,变量CON1、CON2、CON3和CON4的内容分别是多少?
N1=10
N2=5
N3=3
CON1 DB NOT N1
CON2 DB (N1 AND N2 OR N3)GE 0FH
CON3 DW (N2 AND N1 XOR N3)LE 0FH
CON4 DB (N1 AND N3 OR N2)LT 0FH
3. 读下列程序,并在空白处填入合适指令,使该程序段能完成将100H个字节数据从2000H处搬到1000H处的操作。
MOV SI,2000H
MOV CX,100H
CLD
4 指出下面指令序列的执行结果。
MOV DX,2000H
MOV BX,1000H
XCHG BX,DX
则:BX= DX=
5 设初值AX=6264H,CX=0001H,在执行下列程序段后,AX=?CX=?
AND AX,AX
JZ DONE
SHL CX,1
ROR AX,CL
DONE:OR AX,1234H
则:AX= CX=
6有数据定义如下,与之等同功能的指令是什么?
DAT DW 100 DUP(?)
:
MOV CX,LENGTH DAT
ADD AX,TYPE DAT 7. 指出下面指令序列的执行结果。
MOV AX,1234H
PUSH AX
POP BX
则:BX=
AX=
8. 对于给定的数据定义,变量R1和R2的值分别是多少?
①A1 DB 1,2,3,‘ABC’
A2 DB 0
R1 EQU A2-A1
则R1=
②K1 DW ?
K2 DB 6 DUP(?) R2 EQU $-K1
则R2=
9. 选用最少的指令,实现下述要求的功能。
①AH的高4位清0,其余位不变。
②AL的高4位取反,其余位不变。
③AL的高4位移到低4位,高4位清0。
④AL的低4位移到高4位,低4位清0。
10. 下面一段程序完成对某一缓冲区置全“1”操作。
设缓冲区长度为20个字节,缓冲区首址DI=0200H,并设(ES)
=3000H,试填空。
CLD
MOV AX,3000H MOV DI,0200H MOV AL,0FFH REP STOSB
11. 下列伪指令在存储区中分别为各变量分配多少字节?
VR1 DW 10
VR2 DW 6DUP(?),66,88
VR3 DD 10DUP(?)
VR4 DB ‘HOW ARE YOU’
12. 写出下列程序段执行后的结果,并说出完成的是什么功能?
MOV CL,4
MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL
OR DL,30H
则(AL)= (DL)= 实现的功能为13. 分析程序段,并填入适当的内容。
MOV AL,0FH
MOV BL,0FEH
XOR AL,BL
则有:(AL)= (BL)= 14. 读下列指令,回答问题:
X EQU 10
Y DB 20
:
MOV AL,X
MOV AH,Y
①完成什么操作?②X和Y的含义有什么不同?
15. 读程序并写出程序所完成的功能。
VARX DB A1 VARY DB A2 RES DB ?
:
MOV DX,VARX ADD DX,VARY MOV CL,3 SAL DX,CL SUB DX,VARX SAR DX,1 MOV RES,DX RET
程序功能为:(请用数学公式表示)16. 读下列指令,回答问题:
SUB AX,AX
AND DX,AX
MOV AX,1234
则:(DX)= (AX)=
17. 分析程序段,并填入适当的内容。
MOV AL,0AH MOV AH,0 ADD AX,AX MOV BX,AX ADD AX,AX ADD AX,AX ADD AX,AX
ADD AX,BX
则有:(AX)= 该程序完成的功能:18. 读程序并写出程序所完成的功能。
VAR DB 18,32,0,5,51,19
:
MOV BX,OFFSET VAR
MOV AL,[BX]
MOV CX,5 NEXT:INC BX
ADD AL,[BX]
LOOP NEXT
程序功能为:程序运行后,(AL)=
19. 已知(BL)=0F8H,(AL)=46H,写出下列每条指令单独执行后的结果。
①AND AL,BL (AL)=
②OR BL,AL (BL)= ③XOR BL,AL (BL)=
④NOT AL (AL)=
20. 已知DA1变量单元中存放数据134,问执行下面程序段后的结果。
DA1 DB 134
:
MOV AL,DA1
MOV AH,0
MOV CX,3 MOV BX,AX LOP:PUSH BX
DEC BX
LOOP LOP
问:程序执行后,堆栈中压了个数,压入的最后一个数值是。
21. 读下列程序,并在空白处填入合适指令,使该程序段能完成对某一缓冲区清零的操作。
假设缓冲区长度为100个
字节,缓冲区首址DI=0200H,(ES)=3000H。
CLD
MOV AX,3000H MOV DI,0200H MOV AL,00H REP STOSB
22. 已知(AL)=0C4H,DATA单元中的内容为5AH,写出下列每条指令单独执行后的结果。
①AND DATA,AL (DATA)=
②OR AL,01H (AL)=
③XOR DATA,AL (DATA)=
④NOT AL
(AL)=
23. 分析下列程序,回答指定问题。
MOV AX,5C8FH
MOV BX,238FH
XOR AX,BX ADD AX,BX
问:(AX)= ,(BX)=
24. 下面程序完成将存储单元A1中2个压缩型BCD码拆成两个非压缩型BCD码,高位BCD码转换为ASCII码后存入A3
单元,低位BCD码转换为ASCII码后存入A2单元,请在每个空白处填上一条指令。
STRT:MOV AL,A1
MOV CL,4
OR AL,30H MOV A3,AL MOV AL,A1
OR AL,30H MOV A2,AL
参考答案
1.①3600H;②4C2AH;③0100H;④3412H;
2.(CON1)=0F5H或者(CON1)=F5H;(CON2)=00H;(CON3)=0000H;
(CON4)=0FFH或者(CON4)=FFH;
3.MOV DI,1000H; REP MOVSB;
4.(BX)=2000H;(DX)=1000H;
5.(AX)=1ABDH;(CX)=0002H;
6.MOV CX,0064H; ADD AX,2;
7.(BX)=1234H;(AX)=1234H;
8. R1=6; R2=8;
9.① AND AH,0FH;②XOR AL,0F0H;③MOV CL,4;SHR AL,CL;④MOV CL,4;SHL AL,CL;
10.MOV ES,AX; MOV CX,20;
11.VR1:2个; VR2:16个; VR3:40个; VR4:11个;
12.(AL)=37H;(DL)=38H;实现的功能:将AL中的两个组合BCD数分别转换为ASCII码;
13.(AL)=0F1H或者F1H;(BL)=0FEH或者FEH;
14.完成的操作是:将X的值传送至AL,将Y的值传送至AH; X是符号名;(1分)Y是变量;15.[(A1+A2)X 8-A1]/2;
16.(DX)=0;(AX)=1234;
17.(AX)=00B4H ;完成的功能:将AX寄存器中的内容扩大18倍;
18.程序的功能:18+32+0+5+51+19; 7DH;
19.①(AL)=40H;②(BL)=0FEH或者FEH;③(BL)=0BEH或者BEH;④(AL)=0B9H或者B9H;
20. 3; 0084H;
21.MOV ES,AX; MOV CX,100;
22.①(DATA)=40H;②(AL)=0C5H或C5H;③(DATA)=9EH;④(AL)=3BH;
23.(AX)=0A28FH或A28FH;(BX)=238FH;
24.SHR AL,CL; AND AL,0FH;。