微机原理习题.docx
《微机原理习题.docx》由会员分享,可在线阅读,更多相关《微机原理习题.docx(21页珍藏版)》请在冰点文库上搜索。
微机原理习题
一、填空题
1、十进制数25转换为二进制数是,转换为八进制数是,转换为十六进制数是。
2、十进制数-68的原码是,反码是,补码是。
(用八位二进制编码表示)。
3、十进制数208.625转换成16进制数为。
4、十进制负数-38原码是,反码是,补码是。
(用八位二进制编码表示)。
5、十进制数42.625转换为二进制数是,转换为八进制数是,转换为十六进制数是。
6、计算机存储信息的最小单位是,1个字节等于个二进制位,1KB等于个字节。
7、三态输出电路可以有3种工作状态,即、和。
8、程序计数器用于存储,可以从0开始计数(每次加1或加一个固定的数),以支持程序的执行;也可以将外部数据装入其中,以支持程序操作。
9、CPU的控制器通常由三个部分组成,即、和。
10、8086CPU的数据总线是位的,8088CPU的数据总线是位的。
11、8086CPU的指令队列为个字节,8088CPU的指令队列为个字节。
12、8086CPU的4个段地址寄存器分别是、、、。
13、8086CPU从功能上可分为两部分,即和。
14、8086/8088CPU设有__个状态标志位,_个控制标志位;当执行比较指令时,如果运算结果为零,则标志位__置1;如果运算结果的最高位为1,则标志位__置1。
15、存储器是计算机中用于存储和的装置。
16、n位地址码可以表示个地址。
17、8086/8088系统中存储器按编址,可寻址的存储器空间为。
8086/8088系统把存储空间分成若干个逻辑段,每个逻辑段容量≤。
个字节的存储空间称为1节。
18、8086的地址有20位,那么它的可寻址空间为K,其中每个段的最大长度为K。
19、m个存储单元、每个存储单元n位的存储器通常表示为m×n的存储器。
例如:
16×8存储器表示有个存储单元,每个存储单元位,它有条地址线,条数据线。
20、逻辑地址为5678h:
2345h,其物理地址是。
21、8086系统中,一个总线周期至少包括____个时钟周期。
22、8086/8088CPU有和两种工作模式。
23、8086复位后如下寄存器的内容为:
(CS)=H,(IP)=H。
24、8086/8088中,从产生中断的方法来分,中断可以分为两类:
一类是,另一类是。
25、8086/8088的硬件中断可以分为两类:
一类叫,另一类叫。
26、中断向量是的入口地址,每一个中断向量占个存储单元其中前两个单元存放中断子程序入口地址的偏移量(IP),后两个单元存放中断子程序入口地址的_。
27、8086CPU的中断类型码与中断向量存放地址之间的关系为:
中断向量的段地址(CS)=0000H,中断向量的偏移量(IP)=。
28、8086微机系统中的一个中断向量占4个存储单元,假定某中断对应的中断向量存放在0000:
002CH;那么该中断向量对应的中断类型号为H,若该向量对应的中断处理子程序放在0080:
0402H开始的内存区域中,则按照地址由低到高的顺序写出从内存0002C处起始的存储单元的内容为、、、。
29、是让计算机完成某种操作的命令,称作指令系统。
30、8086寻址方式中,指令MOVAX,[BP]和指令MOVAX,[BX]的源操作数寻址方式中,源操作数默认使用的段寄存器分别为和。
31、DEBUG调试程序中,用于显示当前寄存器内容的指令是__。
32、系统功能调用分以下三个步骤:
(1);
(2);(3)。
33、在微机系统中,可采用的输入/输出控制方式一般有4种:
、、、。
34、8255A芯片内部包含3个位的输入/输出端口。
各端口可有种基本工作方式。
35、可编程并行接口芯片8255A有两种类型的控制字,分别为和。
二、选择题
1、与十进制数56等值的二进制数是。
A)111000B)111001C)101111D)110110
2、十进制数36.875转换成二进制数是。
A)110100.01B)100100.111C)100110.11D)100101.101
3、十进制数59转换成八进制数是。
A)73QB)37QC)59QD)112Q
4、将十进制小数0.6875转换成八进制小数是。
A)0.045QB)0.054QC)0.54QD)0.45Q
5、与十进制数86.25等值的十六进制数是。
A)56.CHB)56.4HC)68.4HD)126.CH
6、二进制数10101转换成十进制数是。
A)25B)23C)21D)22
7、十进制负数-61的八位二进制原码是。
A)10101111B)10111101C)10101011D)00110101
8、十进制正数38的八位二进制补码是。
A)00011001B)10100110C)10011001D)00100110
9、十进制负数-38的八位二进制补码是。
A)01011011B)10100110C)10011001D)11011010
10、有一个八位二进制数补码是11111100,其相应的十进制数是。
A)-5B)-4C)506D)252
11、补码01010101表示的真值为
(A)93(B)43(C)42(D)85
12、补码10000000表示的真值为。
(A)+0(B)-0(C)-128(D)+128
13、8位二进制补码表示的整数数据范围是。
(A)-128~127(B)-127~127(C)-128~128(D)-127~128
14、8位二进制原码表示的整数数据范围是。
(A)-128~+127(B)-127~+127(C)-128~+128(D)-127~+128
15、CPU指的是。
(A)控制器(B)运算器和控制器(C)运算器、控制器和主存(D)运算器
16、环形计数器是组成的一部分。
(A)总线接口单元(B)控制部件(C)算术逻辑单元(D)运算器
17、8086的工作方式为。
(A)实地址方式(B)保护地址方式(C)虚拟8086方式(D)实地址和保护地址方式
18、8086的第25引脚ALE的作用是。
(A)最小工作模式下地址锁存允许(B)最大工作模式下地址锁存允许
(C)最小工作模式下数据允许输出(D)最大工作模式下数据允许输出
19、标志寄存器中的奇偶标志PF=1表示的是。
(A)运算结果低8位中所含1的个数为偶数(B)运算结果低8位中所含1的个数为奇数
(C)运算结果16位中所含1的个数为偶数(D)运算结果16位中所含1的个数为奇数
20、8086CPU的总线周期中,在T3状态的结束时会检测_____信号,如果该信号无效,会在T3状态之后插入等待状态Tw。
A.HLDAB.HOLDC.INTRD.READY
21、指令MOVAL,16H中,源操作数采用的寻址方式是:
。
A)立即数寻址B)寄存器寻址C)直接寻址D)寄存器间接寻址
22、指令MOVAL,BL中,源操作数采用的寻址方式是:
。
A)立即数寻址B)寄存器寻址C)直接寻址D)寄存器间接寻址
23、指令MOVAX,[1070H]中,源操作数采用的寻址方式是:
。
A)立即数寻址B)寄存器寻址C)直接寻址D)寄存器间接寻址
24、指令MOVAX,[BX]中,源操作数采用的寻址方式是:
。
A)立即数寻址B)寄存器寻址C)直接寻址D)寄存器间接寻址
25、设DS=2000H,则指令MOVAX,[1050H]的源操作数的物理地址是。
(A)21050H(B)2000H(C)1050H(D)3050H
26、使用直接寻址方式中,操作数在中。
A.通用寄存器B.堆栈C.存储器D.段寄存器
27、寄存器间接寻址方式中,操作数在中。
(A)通用寄存器(B)堆栈(C)主存单元(D)段寄存器
28、MOVAX,[BX+SI]的源操作数的物理地址是。
(A)16×(DS)+(BX)+(SI)(B)16×(ES)+(BX)+(SI)
(C)16×(SS)+(BX)+(SI)(D)16×(CS)+(BX)+(SI)
29、直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为。
(A)直接、立即、间接(B)直接、间接、立即
(C)立即、直接、间接(D)不一定
30、用汇编语言编写的程序需要经过翻译成机器语言后,才能在计算机中执行。
(A)编译程序(B)解释程序(C)操作系统(D)汇编程序
31、假定DS=1000H,AX=2000H,[1234H]=30H,[1235H]=40H当执行完MOVAX,[1234H]指令后,AX的值为。
(A)4030H(B)3040H(C)1234H(D)2000H
32、假定DS=1000H,AX=2000H,[1234H]=3000H,当执行完LEAAX,[1234H]指令后,AX的值为,执行MOVAX,[1234H]后,AX的值为。
(A)1000H(B)2000H(C)3000H(D)1234H
33、当执行完下列指令序列后,标志位CF和SF的值为。
MOVAL,0B9H
ADDAL,24H
(A)0,0(B)0,1(C)1,0(D)1,1
34、堆栈的工作方式是。
A.先进后出B.后进后出C.先进先出D.无要求
35、8086/8088CPU的I/O指令采用间接寻址时,可用的间址寄存器是。
(A)BX(B)DX(C)SI(D)DI
36、INC指令执行后,不变化的标志位是:
____。
A.ZFB.CFC.OFD.PF
37、某条指令可以完成对指令中给出的操作数取补码的功能,这条指令为。
(A)NEG(B)XCHG(C)XLAT(D)TEST
38、ROR指令的意义是。
(A)不带CF的循环右移(B)带CF的循环右移(C)算术右移(D)逻辑右移
39、逻辑移位指令SHL用于。
(A)带符号数乘以2(B)带符号数除以2
(C)无符号数乘以2(D)无符号数除以2
40、当A>B时转移的条件转移指令为(A、B为无符号数)。
(A)JA(B)JAE(C)JG(D)JGE
41、IRET指令的功能为。
(A)中断返回(B)有符号数小于时转移
(C)溢出时中断(D)过程返回
42、调试程序DEBUG中的指令U的含义是。
(A)从指定地址显示内容(B)从指定地址执行程序(C)读并显示输入的字节(D)反汇编
43、下列伪指令中,定义字节变量的是。
A.DBB.DWC.DDD.DT
44、使用DOS功能调用时,功能号应放在寄存器中。
A.AHB.BLC.AXD.DL
45、8255A是一个芯片。
(A)可编程并行通信接口(B)ALU(C)可编程串行通信接口(D)中断控制
三、简答题
1、写出半加器的真值表,求出逻辑表达式并画出其电路图。
2、写出全加器的真值表,求出逻辑表达式并画出其电路图。
3、简述8086/8088CPU的6个状态标志位SF、ZF、PF、CF、AF、OF的含义。
4、8086系统最大模式与最小模式有何区别?
简述8086最小工作模式下的典型配置,画出8086最小工作模式的总线形成电路图。
5、简述8086CPU总线接口部件BIU的功能和组成。
6、简述8086CPU执行部件EU的功能和组成。
7、什么叫寻址方式?
8086指令系统有哪几种寻址方式?
8、何谓寄存器寻址方式?
何谓寄存器间接寻址方式?
二者的区别是什么?
9、简述汇编语言指令的语句格式并解释各部分意义。
10、什么叫循环程序?
它有什么优点?
简述循环程序的结构。
11、简述用汇编语言进行程序设计的步骤。
12、简述汇编语言源程序的基本格式。
13、什么是I/O接口?
为什么设置I/O接口?
四程序分析题
1、依次执行下述指令序列,请在空白处填上当左边指令执行完时该寄存器的值。
MOVAL,0C5H
MOVBH,5CH
MOVCH,29H
ANDAL,BH;(AL)=44H
ORBH,CH;(BH)=7DH
XORAL,AL;(AL)=00H
ANDCH,0FH;(CH)=09H
MOVCL,03
MOVAL,0B7H
MOVBL,,AL
SHLAL,CL;(AL)=0B8H
ROLBL,CL;(BL)=0BDH
2、当下列程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
CSEG,SS:
CSEG
ORG100H
BEGIN:
MOVAX,01
MOVBX,02
MOVDX,03
MOVCX,04
L20:
INCAX
ADDBX,AX
SHRDX,1
LOOPL20
RET
CSEGENDS
ENDBEGIN
答:
(AX)=0005H,(BX)=0010H,(CX)=0000H,(DX)=0000H
3、阅读下面的程序,指出该程序完成的功能。
DATASEGMENT
STR1DB‘THISISASTRING1’
STR2DB‘THISISASTRING2’
COUNTDWSTR2-STR1
RESULTDB?
DATAENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
LEASI,STR1
LEADI,STR2
MOVCX,COUNT
CLD
REPZCMPSB
JNZUNMAT
MOVAL,0
JMPOUTPT
UNMAT:
MOVAL,0FFH
OUTPT:
MOVRESULT,AL
HLT
CSEGENDS
ENDSTART
答:
该程序用来比较两个数据串STR1和STR2是否相等,若相等,则将RESULT单元清0,否则置全1。
4、分析下面的程序段所实现的功能:
SAL AL,1;将AL中数左移1位,得2X
MOV BL,AL ;2X保存在BL中
MOV CL,2 ;移位次数置入CL中
SHL AL,CL ;2X左移2位,得8X
ADD AL,BL ;2X加上8X,所以AL中为10X
解:
将保存在AL中的数乘以10。
5、分析下面的程序段所实现的功能:
MOVCL,4;将计数值送CL
SHLBL,CL;BL左移4位
ANDAL,0FH;清零AL高4位
ORAL,BL;将两个字节的低4位合并为一个新字节。
解:
将两个字节的低4位合并为一个新字节。
6、分析下面的程序段所实现的功能:
MOVCX,8
MOVSI,1000H
L1:
INCBYTEPTR[SI]
INCSI
LOOPL1
解:
将有效地址为[1000H]~[1007H]的8个内存单元的内容,逐个加1,结果仍然存放在原来的地址。
7、当下列程序执行完后,AL、BX、DI、DS四个寄存器的内容分别是什么?
假定存储器从2000H开始的内容分别为:
[2000H]=04H,[2001H]=02H,[2003H]=06H,
[2004H]=01H,[2005H]=08H,[2006H]=07H
MOVBX,2000H
MOVAL,03H
XLAT
LDSDI,[2000H]
(AL)=06H(BX)=2000H(DI)=0204H(DS)=0106H
8、阅读下面的程序,指出该程序完成的功能。
START:
INAL,71H
CLC
CMPAL,10
JCLP1
CMPAL,20
JCLP2
MOVBL,0FFH
LP3:
OUT73H,BL
HLT
LP1:
MOVBL,00
JMPLP3
LP2:
MOVBL,88H
JMPLP3
完成功能如下:
从外设71H中取一个数,判断其值是否在10~20之间,如果是则送88H给外设73H,如果小于10则送00给外设73H,如果大于20,则送0FFH给外设73H。
9、有两个4字节的无符号数相加,这两个数分别存放在2000H和3000H开始的存储单元中,低位在前,高位在后,要求进行运算后,得到的和存储在2000H开始的单元内,请完成以下程序段:
CLC
MOVSI,2000H;取第一个数的首地址
MOVAX,[SI];将第一个数的低16位取道AX
MOVDI,3000H;取第二个数的首地址
_______________;第一个数和第二个数的低16位相加
MOV[SI],AX;低16位相加的结果送到2000H和2001H单元
MOVAX,[SI+2];取第一个数的高16位
_______________;两个数的高16位连同进位位相加
_______________;高16位相加的结果送到2002H和2003H
10、试完成程序序列,把AL的高4位与其低4位进行交换。
11、已知堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,现连续执行下列3条指令,
PUSHAX
PUSHBX
POPAX
执行后,(SP)=__________,(AX)=__________,(BX)=___________。
12、设有指令序列
DATA_B12H,34H
DATA_WDW‘AB’,‘CD’,‘EF’,‘GH’
┇
MOVBX,DA_B+3
执行上述指令后,(BX)=__________
13、某程序数据段中有两个数据字3344H和5A6BH,若已知DS=5AA0H,其偏移地址分别为245AH和3245H,试画出它们在储存器中的存放情况,并标出各单元的逻辑地址。
14、已知(DS)=3000H,(BX)=1000H,(SI)=0020H,内存分配如图所示
LEADI,[BX+SI+0300H]
MOVAX,[DI]
LDSSI,[BX+DI]
SUBAX,1234H
连续执行上述指令后,(DS)=_①__,(SI)=②,(BX)=③,
(DI)=_④,(AX)=⑤__
15、阅读下面的程序,分析该程序的功能是什么?
MOVBX,5
L1:
MOVCX,BX
L2:
MOVDL,’*’
MOVAH,2
INT21H
LOOPl2
MOVDL,0DH
MOVAH,2
INT21H
MOVDL,0AH
MOVAH,2
INT21H
DECBX
JNZl1
16、设(AX)=9ABCH,(DX)=8765H
PUSHAX
PUSHDX
POPAX
POPDX
上述4条指令执行后,(AX)=_________,(DX)=_________。
五、应用题
假定8255A的A端口、B端口、C端口和控制端口的地址依次为0180H、0181H、0182H、0183H。
8255A芯片的外部引脚图如下:
其中:
D7~D0是8位数据线,PA0~PA7是A端口的8位数据,PB0~PB7是B端口的8位数据,PC0~PC7是C端口的8位数据,CE是8255A的片选使能信号,WR是8255A的写控制信号,RD是8255A的读控制信号,A1A0是最低两位地址信号。
微机原理实验箱可以提供的其它资源为:
总线接口模块输出的写控制信号IOWR、读控制信号IORD,总线接口模块的数据线(IOD0~IOD7)、地址线(IOA0~IOA1),总线接口模块输出的片选使能信号IOY0,8个发光二极管L1~L8(假定驱动电平为0时发光二极管亮)。
8255A工作方式控制字格式:
1
D6
D5
D4
D3
D2
D1
D0
特
征
位
A组方式
00=方式0
01=方式1
1X=方式2
A口
0=输出
1=输入
C口高4位
0=输出
1=输入
B组方式
0=方式0
1=方式1
B口
0=输出
1=输入
C口低4位
0=输出
1=输入
1、设计实验方案,实现下列功能:
利用微机原理实验箱上的8255A芯片,实现8个发光二极管的流水灯功能,每次只有2个灯亮,切换时间为1秒,共轮换32遍(即每个灯亮32次)。
要求说明硬件的连线方法并给出相应的汇编语言源程序。
假定已经有子程序DELAY用于延时1秒。
解:
(1)实验连线:
Ø将8255A芯片的WR、RD分别连到总线接口模块的IOWR、IORD。
Ø将8255A芯片的数据线(D0~D7)、地址线(A0~A1)分别连到总线接口模块的数据线(IOD0~IOD7)、地址线(IOA0~IOA1)。
Ø将8255A芯片的选通线CE连到总线接口模块的IOY0。
Ø将8255A芯片的PA0~PA7连到发光二极管的L1~L8。
(2)汇编源程序:
P8255_AEQU0180H
P8255_MODEEQU0183H
MY_STACKSEGMENTPARA'STACK'
DB100DUP(?
)
MY_STACKENDS
MY_DATASEGMENTPARA'DATA'
MY_DATAENDS
MY_CODESEGMENTPARA'CODE'
MY_PROCPROCFAR
ASSUMECS:
MY_CODE,DS:
MY_DATA,SS:
MY_STACK
MAIN:
MOVAX,MY_DATA
MOVDS,AX
MOVDX,P8255_MODE
MOVAL,80H
OUTDX,AL
MOVDX,P8255_A
MOVAL,3FH
MOVCX,20H
B:
MOVBX,4
A:
OUTDX,AL
CALLDELAY
PUSHCX
MOVCL,2
RORAL,CL
POPCX
DECBX
JNZA
LOOPB
MOVAH,4CH
INT21H
MY_PROCENDP
MY_CODEENDS
ENDMAIN
2、利用微机原理实验箱上的8255A芯片,控制8个发光二极管的显示功能,要求如下:
通过端口B的读入开关1的状态,若开关闭合,通过端口A点亮1、2、3、4灯,若开关断开,通过端口A点亮5、6、7、8灯。
2、开关和灯的排列方式都为:
12345678(对应端口数据线