微机原理试题及答案Word格式文档下载.docx
《微机原理试题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《微机原理试题及答案Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
![微机原理试题及答案Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-2/2/e6d4908f-488d-417a-8f38-feeab7724d92/e6d4908f-488d-417a-8f38-feeab7724d921.gif)
1.两个无符号数相等,该两数相减后ZF标志=1。
zf:
全零标志位。
本次运算结果为0时,zf=1,否则zf=0。
2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF=0。
3.DMA控制器8237共有4个相互独立的DMA通道。
4.8086/8088断点中断的向量码是03H。
5.利用8253产生对称的方波,应用其工作方式3。
8253的工作方式3为方波发生器。
三、判断题(认为正确的在题后打“√”号,错误的打“×
”号。
并写出正确的内容,每题2分,共10分)
1.8086/8088CPU复位启动地址为0FFFFHX0FFFF0H。
2.+128的16位补码是1111111100000000B
反码是1111111011111111X000000010000000B。
3.程序段开始执行之前,(CS)=97F0H,(IP)=1B40H,该程序段启动执行指令的实际地址是99A40H对。
4.异步串行通信在传送每一个数据时,传送出的第一位一定是一个低电平的传送位对。
5.8086/8088CPU响应中断时,CPU的硬件只保护CS和IP,其余内部寄存器应由程序员编程保护XFCSIP。
四、简单回答题(每小题4分,共16分)
1.说明8086/8088CPU如何判别两个无符号数的大小。
将这两个无符号数相减(或比较),若CF=0,则说明被减数大二减数小。
若
CF=1,则说明减数大而被减数小。
若ZF=1,二者相等
2.8250芯片上有3条地址线A0~A2,试问该芯片占用多少个接口地址?
3条地址线有23=8种编码,∴8250最多占有8个接口地址
3.试叙述REPMOVSB的执行过程。
将DS:
[SI]所决定的内存一个字节传送到ES:
[DI]所决定的内存单元中,同时根据DF是0还是1,决定分别对SI、DI+1或-1。
然后CX减1,若(CX)=0退出REP,否则重复传送操作,循环至(CX)=0为止
4.动态存储器DRAM最重要的一个特点—动态的含义是什么?
其含义就是要对动态存储器定时进行刷新
五、程序阅读题(每小题5分,共20分)
1.DATASEGMENT
AREA1DB100DUP(11H)
AREA2DB100DUP(22H)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
MAINPROCFAR
START:
PUSHDX
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVES.AX
CLD
MOVSI,OFFSETAREA1
MOVDI,OFFSETAREA2
MOVCX,100
REPMOVSB
RET
MAINENDP
CODEENDS
ENDSTART
指出上述程序指令执行后,AREA1、AREA2两个数据块的内容。
AREA1、AREA2两个数据块内容各100(共200)个字节全变为11H
2.下述程序段执行后,寄存器CX,SI的内容是多少?
ARRYDW20HDUP(5)
┆
XORAX,AX
MOVCX,LENGTHARRY
MOVSI,SIZEARRY-TYPEARRY
答:
(CX)=20H;
(SI)=40H-2=3EH
3.MOVDATAMACROSN,DN,CN
MOVSI,OFFSETSN
MOVDI,OFFSETDN
MOVCX,CN
REPMOVSDN,SN
ENDM
叙述上述宏指令的的功能
清零DF后,执行本宏指令实现以SN为首址的源数据块,到以DN为首址的目的数据块的数据传送,传送的数据块长度为CN
4.已知数据段DATA的段地址从40000H开始,分析伪指令后面的各种传送指令执行后各寄存器的内容。
DATASEGMENT
V1DB2AH,3FH
V2DW2A3FH,3040H
V3DW20DUP(?
)
DATAENDS
1)MOVAX,SEGV1
MOVBX,SEGV3
(AX)=4000H;
(BX)=4000H
2)MOVAX,OFFSETV1
(AX)=0
3)MOVCX,TYPEV3
CX)=2
4)MOVAH,LENGTHV2
(AH)=1
六、编写程序题(24分)
1.试编写一程序,把X和Y中的小者存于LIT单元,若X=Y,则把其中之一存入LIT单元。
(7分)
解:
XDW?
YDW?
LITDW?
ASSUMECS:
STARTPROCFAR
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,X
CMPAX,Y
JCSTOLIT;
无符号数判断,有符号数用JLE
MOVAX,Y
STOLIT:
MOVLIT,AX
RET
STARTENDP
ENDSTART
2.
试编写一个程序段,能完成下列数学表达式的功能。
X为字节变量。
-2(X≤-2)
X=0(-2<
X<
2)
2(X≥2)
XDB-3
MOVAX,0
MOVAX,DATA
MOVDS,AX
MOVAL,X
CMPAL,2
JGESETX2
CMPAL,-2
JLESETX_2
MOVAL,0
JMPSTOX
SETX2:
MOVAL,2
SETX_2:
MOVAL,-2
STOX:
MOVX,AL
3.已知下面数据段中数据缓存区AREA可容纳1000H个字节变量,其中0~7FFH单元已经有数据,试编写一段程序,把AREA中0~7FFH单元的数据顺序传送到AREA缓存区中的200H~09FFH单元中。
(10分)
AREADB1000HDUP(?
3、(10分)
DATAENDS
MOVES,AX
STD
MOVSI,OFFSETAREA+7FFH
MOVDI,OFFSETAREA+9FFH
MOVCX,800H
REPMOVSB
RET
ENDSTART
2
1.指令ADDAL,5FH的寻址方式是B。
(A)寄存器,寄存器寻址(B)寄存器,立即数寻址(C)存储器,寄存器寻址(D)寄存器,存储器寻址
2.对AL寄存器的内容进行清零操作的为B。
(A)INCAL(B)ANDAL,0(C)NOTAL(D)XORAL,0
3.属于光可擦除可编程的存储器的芯片是D。
4.某RAM芯片上有10条地址线A0~A9,它的容量为B。
(A)128K(B)1K(C)512(D)1024K
7.8255工作在方式1时,下面哪种说法不正确D。
(A)A口输入有锁存能力(B)A、B口输出有锁存能力
(C)B口输入有锁存能力(D)B口输入无锁存能力
8.8086/8088CPU芯片的地址线为B。
(A)16条(B)20条(C)8条(D)24条
9.在DEBUG命令中,显示DS:
0000内容的命令为A。
(A)DDS:
0000(B)EDS:
0000(C)GDS:
0000(D)TDS:
0000
1.AX与BX中数值相等,CMPAX,BX指令执行后ZF标志=1。
2.执行LODSW后,SI的内容较该指令执行前增加2,说明DF=0。
3.8253共占用4个端口地址。
4.8086/8088溢出中断的向量码是04H。
5.你所知道的可用于异步串行通信接口芯片是8250。
1.8086/8088CPU的内存地址不能作接口地址使用。
2.十进制数50转换成二进制数是01010000B。
3.利用XOR指令可以使AX寄存器清零。
4.逻辑地址为97F0H:
1B40H的物理实际地址是99A40H。
5.01111110B的反码是10000001B。
1.说明如何把由A1.ASM,A2.ASM,A3.ASM三个模块组成的汇编语言源程序,转换成与之对应的一个“*.OBJ”文件,再进一步转换成“*.EXE”文件。
2.动态存储器DRAM最重要的一个特点—动态的含义是什么?
3.简单叙述异步串行通信的数据格式(可画图表示)
4.试叙述串搜索指令REPNZSCASB的执行过程。
SUMDB?
MOVAL,35H;
1)此时AL中内容?
ADDAL,45H;
2)此时AL中内容?
DAA;
3)此时AL中内容?
MOVSUM,AL
指出上述程序指令执行后,SUM字节单元的内容。
2.设BX指向数据段X1字节内存单元,X2是X1后续字节单元,BIG也是一个节数单元。
MOVAL,[BX];
INCBX;
2)此时BX指向何字节单元?
CMPAL,[BX]
JAEBIGER
EXCH:
MOVAL,[BX];
3)如执行到此时,X1与X2那个大?
BIGER:
MOVBIG,AL;
上述程序执行后BIG中是什么数?
3.已知数据段DATA的段地址从10000H开始,分析伪指令后面的各种传送指令执行后各寄存器的内容。
V1DW2A3FH,3F40H
V2DB2AH,30H
V3DW4DUP(?
2)LEAAX,V1
4)MOVAH,SIZEV2
4.下述程序执行后DI,SI的内容是多少?
X0DB20HDUP(?
X1DB20HDUP(?
┋
MOVSI,OFFSETX0
LEADI,X1
1试编写一程序,完成1+2+3+…+100的运算,运算结果存储在SUM字内存单元。
2试编写一个程序,其功能是将一个字数组ARRAY中的正数分离出来存储在PLUS开始的单元中。
3已知下面数据段
AREA0DB1000HDUP(?
AREA1DB1000HDUP(?
编写程序,把AREA0中字节单元清零,把AREA1中的字节单元设置成34H。
3
一、选择题(本题共10小题,每小题2分,共20分)
1.字符“A”的ASCII代码是。
(A)31H(B)0DH(C)20H(D)41H
2.对AX寄存器内容进行减1操作的指令为。
(A)DECAX(B)ORAX,0(C)XORAX,AX(D)NOTAX
3.静态存储器芯片符号是。
4.某RAM芯片上有10条地址线A0~A9,它的容量为。
(A)128K(B)1024K(C)1024(D)512
5.8086/8088CPU的DS寄存器是多少位的寄存器。
(A)16位(B)8位(C)24位(D)32位
6.在DEBUG命令中,显示DS:
0000内容的命令为。
7.关于8255工作方式,下面哪种说法不正确。
(A)A、B口均可在方式0方式下工作(B)A、B口均可在方式1方式下工作
(C)只有A口可在方式2方式下工作(D)A、B口均可在方式2方式下工作
8.在DEBUG环境中,FLAGS中的状态标志CF为1时用符号表示。
(A)NC(B)ZR(C)CY(D)PO
9.指令MOVAL,5FH的寻址方式是。
(A)寄存器,立即数寻址(B)寄存器,寄存器寻址
(C)存储器,立即数寻址(D)寄存器,存储器寻址
10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器使用寄存器。
二、填空(本题共5小题,每小题2分,共10分)
1、AX中数值为8000HBX中数值为8001H,SUBAX,BX指令执行后CF标志=。
2、执行LODSB后,SI的内容较该指令执行前增加1,说明DF=。
3、8255共占用个端口地址。
4、8086/8088NMI的中断类型号是。
5、你所知道的可编程定时器/计数器芯片是。
1.8086/8088CPU的内存地址能作接口地址使用。
2.十进制数40转换成二进制数是01000000B。
3.利用CMP类指令可以使AX寄存器清零。
4.动态存储器DRAM最重要的一个特点—动态的含义是不需要刷新。
5.01111111B的反码是10000000B。
四、简单回答题(每小题3分,共12分)
1.说明如何把由A.ASM,B.ASM二个模块组成的汇编语言源程序,转换成与之对应的一个“*.OBJ”文件,再进一步转换成“C.EXE”文件。
2.逻辑地址为97F0H:
1B40H的物理实际地址是是什么?
4.试叙述串搜索指令REPZSCASB的执行过程。
五、指令、程序阅读题(共20分)
1.已知8086中一些寄存器的内容和一些存储单元的内容如图五-1所示,试指出下列每条指令执行后,AX中的内容(即(AX)=?
)。
(8分)
(1)MOVAX,2010H
(2)MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)MOVAX,[BX+1100H]
(6)MOVAX,[BX+SI+1000H]
(7)MOVAX,SI
(8)LODSW
SUM
图五-1图五-2
2.已知存储器数据段中的数据如图五-2所示。
下列程序段的运行结果是什么?
(6分)
MOVAX,NUM1;
AX=
ADDAX,NUM2;
MOVSUM,AX;
SUM=
MOVAX,NUM1+2;
ADCAX,NUM2+2;
MOVSUM+2,AX;
[SUM+2]=
3.有如下程序段,分析“{”所括指令执行后,指令中对应寄存器内容。
NUM1DW0004H
NUM2DW5678H
NUM3DW78A5H
COUNTEQU$-NUM1
MAINPROC
MOVBX,NUM1;
BX=
LEASI,NUM1;
SI=
MOVAX,NUM2;
MOVDX,OFFSETNUM2;
DX=
MOVCX,COUNT;
CX=
MOVAX,[BX];
六、编写程序题(28分)
1.试编写程序,完成运算Y=A+B-C。
ADW2450H
BDW5421H
CDW1120H
YDW?
2.试编写一个程序段,能完成下列数学表达式的功能。
X、Y为无符号字节变量。
(9分)
46(X>
45)
Y=0(X=45)
44(X<
XDB68H
YDB?
3.试编写一程序计算求级数12+32+52+……的前几项和刚大于600的项数(11分)