微型计算机原理考试题答案Word格式.docx
《微型计算机原理考试题答案Word格式.docx》由会员分享,可在线阅读,更多相关《微型计算机原理考试题答案Word格式.docx(55页珍藏版)》请在冰豆网上搜索。
RCRAX,1
LOOPD1
五读下列程序,回答后面的问题
(1)该程序用来将存放在DATA1和DATA2开始的单元中的两个多字节数据相加,并将结果存放在SUM开始的连续单元中。
(2)不可以,因为ADD指令影响进位标志CF的状态
(3)MOVSI,OFFSETDATA1
(4)清进位,以便在数据最低字节相加时,可以用ADC指令。
六程序设计题
DataSegment
XDW?
Array_headDW3,5,15,23,37,49,52,65,78,99
Array_endDW105
NDW55
DataEnds
Prognamsegment
Mainprocfar
Assumecs:
prognem,ds:
Data
Start:
pushds
Subax,ax
Pushax
Movax,Data
Movds,ax
Movax,N
MovArray_head-2,0FFFFH
Movsi,0
Compare:
cmpArray_end[si],ax
Jleinsert
Movbx,Array_end[si]
MovArray_end[si+2],bx
Subsi,2
Jmpshortcompare
Insert:
movArray_end[si+2],ax
Ret
Mainendp
Prognamends
Endstart
====《汇编语言程序设计》模拟试卷02参考答案====
一填空(每空1分,共30分)
1.11100001B,E1H
2.10100101B
3.-43
4.CS,IP
5.20480,2000h,0480H
6.内存储器,外存储器
7.Edit,Masm,Link
8.0,0,0,1,1
9.MOVBX,30
MOVSI,1
MOVCX,100
MOVCX,200
10.字节,字,偶
11.统一编址,独立编址,64K
二选择题(每小题2分,共20分)
BABDBCDDBC
三改正下列程序中的错误(直接在程序中改正)(12分)
1.第8行去掉OFFSET
第11行改为:
RORAL,CL
2.第9行改为:
MOVAL,BYTEPTR[SI]
第10行改为:
MOVBL,10
MULBL
三程序分析(12分)
1
(1)完成0~100之间所有偶数求和的功能
(2)(AX)=(2250)
2
(1)从一组数中找出最小数送RESULT中
(2)31
五、填语句(12分)。
01,JBE,07,AL
六、程序设计(14)
DATA SEGMENT
BLOCK DB –7,1,12,-90,-70,34,-1,56,45,-12
DB –3,-4,23,0,12,11,-9,-8,67,-56
CN EQU $-BLOCK
COUNT DB ?
DATA ENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVDL,0
LEASI,BLOCK
MOVCX,CN
LP:
MOVAL,[SI]
TESTAL,80H
JZNEXT
INCDL
NEXT:
INCSI
LOOPLP
MOVCOUNT,DL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
====《汇编语言程序设计》模拟试卷03参考答案====
一填空题(每空1分,共20分)
1.硬件系统,软件系统
2.计算机,程序员,机器语言,汇编语言,高级语言
3.11100.101B,34.5Q,1C.AH
4.16,准16,32
5.MODXORGE
6.字节,字,偶
7.-43
二选择题(每题2分,共20分)
BCAABCDCDDB
三判断题,若错误,请说明原因或改正(20分,)
1.(X)表示-128
2.(X)被置为1
3.(X)只有CS可以
4.(X)AX不能为地址计数器
5.(X)两操作数不能同时为存储单元
6.(√)
7.(X)OUT中不能用BX,可以用DX
8.(X)CX不能为目的操作数
9.(√)
10.(√)
四程序分析(10分)
1.
(1)L1
(2)L1
(3)L2
(4)L5
(5)L5
五宏定义如下,试展开下面的宏调用。
(每题5分,共10分)
1.1Mess1DB‘HelloMR.Assembly’,0DH,0AH,O
2.1DB‘Thisismyscore>
90’,0DH,0AH,O
1DB‘13’,0DH,0AH,O
六写出下面的程序片段。
(5分)
MOVDL,AL
NOTDL
TESTDL,00000100B
JEEXIT
XORAL,00101000B
EXIT:
七程序设计(15分)
已知两个无符号字数据X、Y分别存放在ADRX和ADRY单元,编制程序,若X是Y的倍数,则在显示器上显示0,否则显示1。
DATASEGMENT
ADRXDW144
ADRYDW12
DATAENDS
ASSUMECS;
CODE,DS:
DATA
MOVAX,ADRX
MOVDX,0
DIVADRY
CMPDX,0
JZEXT
MOVDL,’1’
JMPEXIT
MOVDL,’0’
MOVAH,02H
====《汇编语言程序设计》模拟试卷04参考答案====
1.运算器,控制器,存储器,输入设备,输出设备
2.1110111B,77H
3.10100100B,10100101B
4.01000101
5.执行指令
6.CS,IP
7.200480H,2000H,0480H
8.汇编
9.1,0,0,0,0
10.立即数,2450H
直接寻址,1999H
寄存器间接寻址,2000H
基址加变址寻址,2001H
二选择题(每题2分,共30分)
BCBEABBEECBCDCCC
三改错题(16分)
第3行改为CNT DW 7
第8行改为FMAX:
MOV AX,DSEG
第15行改为AGAIN:
CMP AX,[SI]
第16行改为 JAE SMALL
第17行改为 MOVAX,[SI]
第20行去掉
第22行改为MOVMAX,AX
第26行改为ENDFMAX
四程序分析(9分)
1.
(1)该程序的功能是计算0~100之间偶数之和
(2)程序执行完成后,(AX)=(2550)。
2.执行完程序后,回答指定的问题。
SI=(510),
BX=(230)。
五程序设计(15分)
DATASEGMENT
XDB-16
YDB?
DATAENDS
CODESEGMENT
START:
MOVAL,X
JZEXIT
NEGAL
EXIT:
MOVY,AL
====《汇编语言程序设计》模拟试卷05参考答案====
一、单项选择题(每小题2分,共20分)
ABBBABADDA
二、填空题(每空1分,共20分)
三、判断下列指令是否正确,若错误,请说明原因。
(20分)
1.(√)
2.(√)
3.(×
)类型不匹配
4.(√)
5.(×
6.(×
)相对基址变址寻址方式形成的值在汇编指令时是未知的
7.(×
)AX不能为地址计数器
8.(√)
9.(×
)立即数不能为目的操作数
10.(×
)CX不能为目的操作数
四、计算题(每题2分,共20分)
1.
(AX)=3200,(SF,ZF,OF,CF)=(0,0,0,0)
2.
(AX)=0E00H,(SF,ZF,OF,CF)=(0,0,0,0)MOV[BX],AX
3.
(31200H)=2000H,不影响条件码
4.
(3FFFEH)=2000H,(SP)=0FFFEH,不影响条件码
5.
(31200H)=4FH,(SF,ZF,OF,CF)=(0,0,0,/)
6.
(31200H)=0FDB0H,(SF,ZF,OF,CF)=(1,0,0,1)
7.
(31202H)=0FBH,(SF,ZF,OF,CF)=(1,0,0,1)
8.
(31203H)=21H,(SF,ZF,OF,CF)=(/,/,1,1)
9.
(DX)=121EH,(AX)=0E000H,(OF,CF)=(1,1)
10.
(AL)=38H,(AH)=80H,条件码无定义
五、程序分析题(5分)
AL=79H
BL=06H
CL=7FH
六、编制程序题(15分)
试编写程序,对BUF字节存储区的3个数进行比较,并按比较结果显示如下信息:
如果3个数都不相等则显示0
如果3个数中有两个相等则显示1
如果3个数都相等则显示2
BUFDB50,50,50
ASSUMECS:
XORDX,DX
MOVAL,BUF
CMPAL,BUF+1
JZDISP2
CMPAL,BUF+2
JZDISP1
MOVAL,BUF1
CMPAL,BUF2
MOVDL,30H
DISP1:
MOVDL,31H
DISP2:
JNZDISP1
MOVDL,32H
EXIT:
CODEENDS
====《汇编语言程序设计》模拟试卷06参考答案====
一、填空(每空1分,总共40分)
2.0000000001110101B,0075H,1000000001110101B,0FF8BH
3.8888H,2001H,8A881H
4.22636H,2263AH
5.字节,字,偶
6.1,0,0,0,0
7.立即寻址2450H
直接寻址2003H
寄存器间接寻址2002H
基址+变址相对寻址2001H
寄存器相对寻址2001H
8.执行下列指令,写出每条指令执行后右边所示的内容:
90,0,1,96
二.判断下列指令是否正确,若错误,请说明原因。
)类型不匹配
)AX不能为地址计数器
)立即数不能为目的操作数
8.(×
)CX不能为目的操作数
)存储单元之间不能直接传送
10.(√)
三.画出下面所定义的各变量在存储器中的存储情况,并将变量标注到存储单元的右边的。
12
3C
00
42
41
四.写出下面的程序片段(每小题5分,共10分)
1.MOVCX,20
LEASI,string1
CLD
MOVSB
2.MOVCX,M
LEASI,ARRAY
MOVAX,0
START:
ADDAX,[SI]
ADDSI,2
LOOPSTART
MOVTOTAL,AX
五.宏定义如下,试展开下面的宏调用。
六.程序设计(15分)
BUFDB48,50,10
====《汇编语言程序设计》模拟试卷07参考答案====
一、单项选择题(每小题2分,共20分)
ADDBACBDCA
二、填空(每空1分,总共30分)
1.CPU,存储器,I/O设备
2.1999,2008,1B998
3.22636,2263C
4.字,字节,偶
5.1,0,0,0,0
6.立即寻址2450H
直接寻址1260H
寄存器间接寻址1270H
基址+变址相对寻址1280H
寄存器相对寻址1280H
7.90,0,1,96
三.判断下列指令是否正确,若错误,请说明原因。
)存储单元之间不能直接传送
4.(×
)BX和BP不能同时出现在地址计数器中
)少PTR
)IP不能为操作数
四.宏定义如下,试展开下面的宏调用。
1.1Mess1DB‘HelloMR.Xiaozhang’,0DH,0AH,O
2.1DB‘myscore>
1DB‘16’,0DH,0AH,O
五.程序分析(10分)
1.
(1)完成0~100之间所有偶数求和的功能
2.SI=510
BX=230
六.程序设计题(15分)
DSEGSEGMENT
MESSAGEDB‘Hello!
Welcomelearnassemblylanguage.’,0DH,0AH,0
DSEGENDS
CSEGSEGMENT
ASSUMECS:
CSEG,DS:
DSEG
BEGIN:
MOVAX,DSEG
MOVDS,AX
MOVDX,OFFSETMESSAGE
MOVAH,9
INT21H
MOVAH,4CH
CSEGENDS
BEGIN
====《汇编语言程序设计》模拟试卷08参考答案====
一、填空(每空1分,总共30分)
运算器,控制器。
2.0000000001110101B,0075H,1000000001110101B,0FF8BH3.2000,2008,22008。
4.22636,2263A
6.0,0,0,1,1
直接寻址1000H
寄存器间接寻址1280H
基址+变址相对寻址2008H
寄存器相对寻址2008H
8.执行下列指令,写出每条指令执行后右边所示的内容:
C1,0,1,27
二.单项选择题(每小题2分,共20分)
B,B,B,D,B,A,A,C,B,C
三.判断下列指令的正误,若错误,请说明原因或改正。
(每小题2分,共20分)
1.(√)
2.(√)
3.(×
4.(√)
5.(×
7.(×
8.(×
)CS不能为目的操作数
9.(×
)存储单元之间不能直接进行传送
10.(×
四.画出下面所定义的各变量在存储器中的存储情况,并将变量标注到存储单元的右边的
五.写出下面的程序片段((每小题5分,共10分)
1.MOVDL,AL
TESTDL,01000000B
XORAL,00011000B
ADDAX,[SI]
ARRAYDW3,5,0,23,-37,49,-52,65,78,0,105
NDW11
MOVDS,AX
MOVCX,N
MOVBX,0
MOVDI,0
MOVSI,0
AGAIN:
CMPARRAY[BX],0
JLELESS-OR-EQ
INCDI
JMPSHORTNEXT
LESS-OR-EQ:
JLNEXT
INCSI
ADDBX,2
DECCX
JNZAGAIN
MOVAX,N
SUBAX,DI
SUBAX,SI
====《汇编语言程序设计》模拟试卷09参考答案====
9.立即寻址2450H
直接寻址2000H
寄存器间接寻址2001H
基址+变址相对寻址2002H
寄存器相对寻址2002H
二、选择题(每题2分,共20分)
BCDCBDCCDC
三.判断下列指令是否正确,若错误,请说明原因。
6.(√)
)