微计算机原理第二版潘名莲题及答案.docx
《微计算机原理第二版潘名莲题及答案.docx》由会员分享,可在线阅读,更多相关《微计算机原理第二版潘名莲题及答案.docx(25页珍藏版)》请在冰豆网上搜索。
微计算机原理第二版潘名莲题及答案
一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分)
1.指令MOVDX,[BX]的寻址方式是。
(A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址
2.若AL的内容为3FH,执行SHLAL,1指令后,AL的内容为。
(A)7EH(B)1FH(C)9FH(D)7FH
3.属于在工作中需定时刷新的存储器的芯片是。
(A)SRAM(B)DRAM(C)EEPROM(D)EPROM
4.某EPROM芯片上有19条地址线A0~A18,它的容量为。
(A)128K(B)256K(C)512K(D)1024K
5.8086/8088CPU的SP寄存器是多少位的寄存器。
(A)8位(B)16位(C)24位(D)32位
6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址,该寄存器是。
(A)SP(B)BX(C)SI(D)DI
7.8255工作在方式0时,下面哪种说法不正确。
(A)A口输入无锁存能力(B)A、B口输出有锁存能力
(C)C口输入有锁存能力(D)A、B、C三个口输出均有锁存能力
8.采用DMA方式来实现输入输出是因为它。
(A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应
9.工作在最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是。
(A)DT/R(B)DEN(C)ALE(D)AEN
10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存器。
(A)AX(B)BX(C)CX(D)DX
二、填空题(每小题2分,共10分)
1.两个无符号数相等,该两数相减后ZF标志=。
2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF=。
3.DMA控制器8237共有个相互独立的DMA通道。
4.8086/8088断点中断的向量码是。
5.利用8253产生对称的方波,应用其工作方式。
三、判断题(认为正确的在题后打“√”号,错误的打“×”号。
并写出正确的内容,每题2分,共10分)
1.8086/8088CPU复位启动地址为0FFFFH。
2.+128的16位补码是1111111100000000B
反码是1111111011111111。
3.程序段开始执行之前,(CS)=97F0H,(IP)=1B40H,该程序段启动执行指令的实际地址是99A40H。
4.异步串行通信在传送每一个数据时,传送出的第一位一定是一个低电平的传送位。
5.8086/8088CPU响应中断时,CPU的硬件只保护CS和IP,其余内部寄存器应由程序员编程保护。
四、简单回答题(每小题4分,共16分)
1.说明8086/8088CPU如何判别两个无符号数的大小。
2.8250芯片上有3条地址线A0~A2,试问该芯片占用多少个接口地址?
3.试叙述REPMOVSB的执行过程。
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两个数据块的内容。
2.下述程序段执行后,寄存器CX,SI的内容是多少?
ARRYDW20HDUP(5)
┆
XORAX,AX
MOVCX,LENGTHARRY
MOVSI,SIZEARRY-TYPEARRY
3.MOVDATAMACROSN,DN,CN
MOVSI,OFFSETSN
MOVDI,OFFSETDN
MOVCX,CN
REPMOVSDN,SN
ENDM
叙述上述宏指令的的功能
4.已知数据段DATA的段地址从40000H开始,分析伪指令后面的各种传送指令执行后各寄存器的内容。
DATASEGMENT
V1DB2AH,3FH
V2DW2A3FH,3040H
V3DW20DUP(?
)
DATAENDS
1)MOVAX,SEGV1
MOVBX,SEGV3
2)MOVAX,OFFSETV1
3)MOVCX,TYPEV3
4)MOVAH,LENGTHV2
六、编写程序题(24分)
1.试编写一程序,把X和Y中的小者存于LIT单元,若X=Y,则把其中之一存入LIT单元。
(7分)
2.试编写一个程序段,能完成下列数学表达式的功能。
X为字节变量。
(7分)
-2(X≤-2)
X=0(-22(X≥2)
3.已知下面数据段中数据缓存区AREA可容纳1000H个字节变量,其中0~7FFH单元已经有数据,试编写一段程序,把AREA中0~7FFH单元的数据顺序传送到AREA缓存区中的200H~09FFH单元中。
(10分)
DATASEGMENT
AREADB1000HDUP(?
)
DATAENDS
参考答案
一、(20分,每小题2分)
1、D;2、A;3、B;4、C;5、B;6、D;7、C;8、A;9、C;10、C。
二、(10分,每小题2分)
1、1;2、0;3、4;4、03H;5、3。
三、(10分,每小题2分)
1、×,应为0FFFF0H;2、×,应全为0000000100000000B;3、√;4、√;5、×,应为F、CS和IP
四、(16分,每小题4分)
1、将这两个无符号数相减(或比较),若CF=0,则说明被减数大二减数小。
若
CF=1,则说明减数大而被减数小。
若ZF=1,二者相等。
2、3条地址线有23=8种编码,∴8250最多占有8个接口地址。
3、将DS:
[SI]所决定的内存一个字节传送到ES:
[DI]所决定的内存单元中,同时根据DF是0还是1,决定分别对SI、DI+1或-1。
然后CX减1,若(CX)=0退出REP,否则重复传送操作,循环至(CX)=0为止。
4、其含义就是要对动态存储器定时进行刷新。
五、(20分,每小题5分)
1、AREA1、AREA2两个数据块内容各100(共200)个字节全变为11H。
2、(CX)=20H;(SI)=40H-2=3EH。
3、清零DF后,执行本宏指令实现以SN为首址的源数据块,到以DN为首址的目的数据块的数据传送,传送的数据块长度为CN。
4、
1)(AX)=4000H;(BX)=4000H
2)(AX)=0
3)(CX)=2
4)(AH)=1
六、(24分)
1、(7分)
解:
DATASEGMENT
XDW?
YDW?
LITDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARTPROCFAR
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAX,X
CMPAX,Y
JCSTOLIT;无符号数判断,有符号数用JLE
MOVAX,Y
STOLIT:
MOVLIT,AX
RET
STARTENDP
CODEENDS
ENDSTART
2、(7分)
解:
DATASEGMENT
XDB-3
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARTPROCFAR
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,X
CMPAL,2
JGESETX2
CMPAL,-2
JLESETX_2
MOVAL,0
JMPSTOX
SETX2:
MOVAL,2
JMPSTOX
SETX_2:
MOVAL,-2
STOX:
MOVX,AL
RET
STARTENDP
CODEENDS
ENDSTART
3、(10分)
解:
DATASEGMENT
AREADB1000HDUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
STARTPROCFAR
PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVES,AX
STD
MOVSI,OFFSETAREA+7FFH
MOVDI,OFFSETAREA+9FFH
MOVCX,800H
REPMOVSB
RET
STARTENDP
CODEENDS
ENDSTART
√
√
一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分)
1.指令ADDAL,5FH的寻址方式是。
(A)寄存器,寄存器寻址(B)寄存器,立即数寻址(C)存储器,寄存器寻址(D)寄存器,存储器寻址
2.对AL寄存器的内容进行清零操作的为。
(A)INCAL(B)ANDAL,0(C)NOTAL(D)XORAL,0
3.属于光可擦除可编程的存储器的芯片是。
(A)SRAM(B)DRAM(C)EEPROM(D)EPROM
4.某RAM芯片上有10条地址线A0~A9,它的容量为。
(A)128K(B)1K(C)512(D)1024K
5.8086/8088CPU的SP寄存器是多少位的寄存器。
(A)8位(B)16位(C)24位(D)32位
6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址,该寄存器是。
(A)SP(B)BX(C)SI(D)DI
7.8255工作在方式1时,下面哪种说法不正确。
(A)A口输入有锁存能力(B)A、B口输出有锁存能力
(C)B口输入有锁存能力(D)B口输入无锁存能力
8.8086/8088CPU芯片的地址线为。
(A)16条(B)20条(C)8条(D)24条
9.在DEBUG命令中,显示DS:
0000内容的命令为。
(A)DDS:
0000(B)EDS:
0000(C)GDS:
0000(D)TDS:
0000
10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存器。
(A)AX(B)BX(C)CX(D)DX
二、填空题(每小题2分,共10分)
1.AX与BX中数值相等,CMPAX,BX指令执行后ZF标志=。
2.执行LODSW后,SI的内容较该指令执行前增加2,说明DF=。
3.8253共占用个端口地址。
4.8086/8088溢出中断的向量码是。
5.你所知道的可用于异步串行通信接口芯片是。
三、判断题(认为正确的在题后打“√”号,错误的打“×”号。
并写出正确的内容,每题2分,共10分)
1.8086/8088CPU的内存地址不能作接口地址使用。
2.十进制数50转换成二进制数是01010000B。
3.利用XOR指令可以使AX寄存器清零。
4.逻辑地址为97F0H:
1B40H的物理实际地址是99A40H。
5.01111110B的反码是10000001B。
四、简单回答题(每小题4分,共16分)
1.说明如何把由A1.ASM,A2.ASM,A3.ASM三个模块组成的汇编语言源程序,转换成与之对应的一个“*.OBJ”文件,再进一步转换成“*.EXE”文件。
2.动态存储器DRAM最重要的一个特点—动态的含义是什么?
3.简单叙述异步串行通信的数据格式(可画图表示)
4.试叙述串搜索指令REPNZSCASB的执行过程。
五、程序阅读题(每小题5分,共20分)
1.DATASEGMENT
SUMDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
MAINPROCFAR
START:
PUSHDX
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,35H;1)此时AL中内容?
ADDAL,45H;2)此时AL中内容?
DAA;3)此时AL中内容?
MOVSUM,AL
RET
MAINENDP
CODEENDS
ENDSTART
指出上述程序指令执行后,SUM字节单元的内容。
2.设BX指向数据段X1字节内存单元,X2是X1后续字节单元,BIG也是一个节数单元。
MOVAL,[BX];1)此时AL中内容?
INCBX;2)此时BX指向何字节单元?
CMPAL,[BX]
JAEBIGER
EXCH:
MOVAL,[BX];3)如执行到此时,X1与X2那个大?
BIGER:
MOVBIG,AL;
上述程序执行后BIG中是什么数?
3.已知数据段DATA的段地址从10000H开始,分析伪指令后面的各种传送指令执行后各寄存器的内容。
DATASEGMENT
V1DW2A3FH,3F40H
V2DB2AH,30H
V3DW4DUP(?
)
DATAENDS
1)MOVAX,SEGV1
MOVBX,SEGV3
2)LEAAX,V1
3)MOVCX,TYPEV3
4)MOVAH,SIZEV2
4.下述程序执行后DI,SI的内容是多少?
DATASEGMENT
X0DB20HDUP(?
)
X1DB20HDUP(?
)
DATAENDS
┋
MOVSI,OFFSETX0
LEADI,X1
六、编写程序题(24分)
1试编写一程序,完成1+2+3+…+100的运算,运算结果存储在SUM字内存单元。
(7分)
2试编写一个程序,其功能是将一个字数组ARRAY中的正数分离出来存储在PLUS开始的单元中。
(10分)
3已知下面数据段
DATASEGMENT
AREA0DB1000HDUP(?
)
AREA1DB1000HDUP(?
)
DATAENDS
编写程序,把AREA0中字节单元清零,把AREA1中的字节单元设置成34H。
(7分)
参考答案
一、(20分,每小题2分)
1、B;2、B;3、D;4、B;5、B;6、D;7、D;8、B;9、A;10、C。
二、(10分,每小题2分)
1、1;2、0;3、4;4、04H;5、8250。
三、(10分,每小题2分)
1、×,应为可以;2、×,应全为00110010B;3、√;4、√;5、×,与原码相同
四、(16分,每小题4分)
1、先用MASM对三个源文件分别汇编,形成A1.OBJ,A2.OBJ和A3.OBJ然后运行LINK命令,并对(*.OBJ)文件一栏键入A1.OBJ+A2.OBJ+A3.OBJ,生成一个*.EXE文件。
2、其含义就是要对动态存储器定时进行刷新。
3、┝─────第n个字符──────┨┝─第n+1字符
───┐┌─────────────────────────────┐┌─────
1│1│0│1/0│1/0│1/0│1/0│1/0│1/0│1/0│1/0│1111│0│1/0│1/0
└─┴───────────────────┘└─┴─────
空闲位起始信息位校验停止空闲起始信息位
4、将ES:
[DI]所决定的内存一个字节与AL中的内容比较,同时根据DF是0还是1,决定分别对DI+1或-1。
然后CX减1,若(CX)=0或ZF=1结束循环,否则重复传送搜索,循环至(CX)=0为止。
五、(20分,每小题5分)
1、1)35H,2)7AH,3)80H;只要答对SUM中为80H满分。
结果不对1)、2)、3)每步可得1分
2、1)X1,2)X2处,3)X2大,只要答对SUM中存储X1与X2中较大的数值即可满分。
结果不对1)、2)、3)每步可得1分
3、
1)(AX)=1000H;(BX)=1000H
2)(AX)=0
3)(CX)=2
4)(AH)=1
4、(SI)=0,(DI)=20H
六、(24分)
1、(7分)
解:
DATASEGMENT
SUMDW?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,0
MOVCX,100
AGAIN:
ADDAX,CX
LOOPAGAIN
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
2、(10分)
解:
DATASEGMENT
ARRAYDW8DUP(1FH,-12)
COUNTEQU$-ARRAY
PLUSDW8DUP(?
?
)
DATAENDS
;--------------------------------
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
MAINPROCFAR
START:
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVES,AX
;--------------------------------
MOVSI,OFFSETARRAY
MOVDI,OFFSETPLUS
MOVCX,COUNT
AGAIN:
LODSW
TESTAX,8000H
JNZTENDS
PLS:
STOSW
TENDS:
LOOPAGAIN
RET
MAINENDP
CODEENDS
ENDSTART
3、(7分)
DATASEGMENT
AREA0DB1000HDUP(?
)
AREA1DB1000HDUP(?
)
DATAENDS
解:
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA
MAINPROCFAR
START:
PUSHDS
XORAX,AX
PUSHAX
MOVDS,AX
MOVES,AX
;--------------------------------
MOVDI,OFFSETARRAY0
MOVCX,1000H
MOVAL,0
AGAIN:
STOSB
LOOPAGAIN
MOVAL,34H
MOVCX,1000H
AGAIN1:
STOSB
LOOPAGAIN1
RET
MAINENDP
CODEENDS
ENDSTART
一、选择题(本题共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.静态存储器芯片符号是。
(A)SRAM(B)DRAM(C)EEPROM(D)EPROM
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内容的命令为。
(A)DDS:
0000(B)EDS:
0000(C)GDS:
0000(D)TDS:
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的操作,该计数器使用寄存器。
(A)AX(B)BX(C)CX(D)DX
二、填空(本题共5小题,每小题2分,共10分)
1、AX中数值为8000HBX中数值为8001H,SUBAX,BX指令执行后CF标志=。
2、执行LODSB后,SI的内容较该指令执行前增加1,说明DF=。
3、8255共占用个端口地址。
4、8086/8088NMI的中断类型号是。
5、你所知道的可编程定时器/计数器芯片是。
三、判断题(认为正确的在题后打“√”号,错误的打“×”号。
并写出正确的内容,每题2分,共10分)
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的物理实际地址是是什么?
3.简单叙述异步串行通信的数据格式(可画图表示)
4.试