IBMPC汇编语言程序设计试题及答案.docx
- 文档编号:1416036
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:9
- 大小:19.66KB
IBMPC汇编语言程序设计试题及答案.docx
《IBMPC汇编语言程序设计试题及答案.docx》由会员分享,可在线阅读,更多相关《IBMPC汇编语言程序设计试题及答案.docx(9页珍藏版)》请在冰豆网上搜索。
IBMPC汇编语言程序设计试题及答案
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面的数值表示中,和127相等的是哪一个(D)
(A)11111111B(B)127H
(C)80H(D)7FH
2.如果(AL)=35H,执行ANDAL,0FFH指令后,CF=(A)
(A)0(B)1
(C)2(D)和执行ANDAL,0指令前的取值保持一致
3.如果(SP)=30H,执行PUSHBX指令后,(SP)=(B)
(A)28H(B)2EH
(C)32H(D)31H
4.如果(AL)=01111111B,执行INCAL指令后,CF=(D)
(A)1(B)0
(C)2(D)和执行INCAL指令之前的取值保持一致
5.LOOP指令隐含使用并用作循环记数器的是哪一个寄存器(A)
(A)CX(B)BX(C)ALD)SI
6.在DEBUG中,T命令的功能是(C)
(A)观察某内存单元的当前内容(B)连续运行被调试的程序
(C)单步执行下一条指令(D)修改指定寄存器的内容
7.如果当前(BL)=57H,执行指令ADDBL,0F0H后,OF标志位的取值为(B)
(A)1(B)0
(C)不确定(D)与执行该指令前的取值保持一致
(注:
若两个操作数的符号相同,而结果的符号与之相反时OF=1,其他情况OF=0)
8.如果(AL)=01100011B,(AH)=00100010B,执行ADDAL,AH指令后,
正确的结果为(B)
(A)(AL)=01100011B,CF=0
(B)(AL)=10000101B,CF=0
(C)(AL)=00100101B,CF=1
(D)(AL)=10000101B,CF=1
9.条件转移指令的最大转移范围为(B)
(A)没有转移范围的限制(B)-128到127个字节
(C)-32768到32767个字节(D)0到255个字节
10.如果(AL)=0DH,执行SUBAL,80H指令后,正确的结果为哪一个(A)
(A)(AL)=8DH,OF=1(B)(AL)=0DH,OF=0
(C)(AL)=8DH,OF=0(D)(AL)=0D1H,OF=1
(注:
若减数大与被减数,此时有借位,CF=1;否则CF=0;
若减数与被减数的符号相反,而结果的符号与减数相同,则OF=1;否则OF=0。
)
11.如果(SP)=80H,执行指令CALLFARPTRPR1后(SP)=(C)
(A)80H(B)84H
(C)7CH(D)7EH
12.如果数据段中一个内存单元对应的物理地址为2F724H,(DS)=2F00H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元(C)
(A)0024H(B)0F724H
(C)0724H(D)2724H
13.如果要读取80H号端口的内容,下面的指令哪一个能够实现该功能(D)
(A)INBL,80H(B)MOVAL,[80H]
(C)INT80H(D)INAL,128
14.以下描述正确的是(C)
(A)偏移量与位移量是同一个概念(B)段基值与段基址是同一个概念
(C)SHL与SAL指令没有任何区别(D)SHR与SAR指令没有任何区别
15.如果(AL)=66H,执行如下程序片段后,正确的执行结果为(B)
STC
ORAL,1
ADCAL,82H
(A)(AL)=0E9H,CF=1(B)(AL)=0E9H,CF=0
(C)(AL)=0EAH,CF=0(D)(AL)=0EAH,CF=1
16.以下串操作指令中,哪一条指令会影响标志位?
(C)
(A)LODS(B)STOS(C)CMPS(D)MOVS
17.如果(AL)=03H,(BL)=05H,执行如下程序片段后,正确的执行结果为以下哪一个(C)
SUBAL,BL
AAS
(A)(AL)=0FEH,CF=1(B)(AL)=0F8H,CF=1
(C)(AL)=08H,CF=1(D)(AL)=08H,CF=0
18.若当前(DL)=48H,执行指令ANDDL,0F0H后,(DL)=(C)
(A)04H(B)08H(C)40H(D)84H
19.如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDSSI,[SI]以后,正确的执行结果为(C)
(A)(DS)=5570H,(SI)=0088H(B)(DS)=0235H,(SI)=0E60H
(C)(DS)=0E60H,(SI)=0235H(D)(DS)=0088H,(SI)=5570H
(P56页;该指令的作用:
1.(REG)←(REG);2.把(SEG+2)中的16为数装入指令指定的段寄从器中)
20.下列条件转移指令中,哪一个是针对带符号数比较的(B)
(A)JB(B)JL(C)JAE(D)JC
二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选、少选或未选均无分。
1.对于各个寄存器的特殊用途,下列描述正确的为(ABCDE)
(A)执行DAA指令时,被调整的加法结果只能存放在AL中
(B)LOOP指令隐含使用CX作为计数器
(C)串操作指令中的目的变址寄存器只能与ES段寄存器搭配使用(P30页)
(D)对于SAR指令,如果移位次数大于1,那么移位次数只能用CL来存放
(E)POPF指令隐含使用标志寄存器作为目的操作数
2.以下存储器寻址方式中,哪些可以由BX寄存器提供偏移量或基址分量(BCD)
(A)立即数寻址(B)基址寻址(C)基址变址寻址
(D)寄存器间接寻址(E)直接寻址
3.对于END伪指令,下列功能描述正确的为(ACD)
(A)用于结束整个汇编语言源程序
(B)用于结束一个逻辑段的定义
(C)通常在该伪指令后面需要给出一个标号,用于指出程序中第一条被执行指令的逻辑地址
(D)汇编工具软件MASM.EXE不会处理END伪指令后面的语句
(E)可用于结束子程序定义、宏定义
4.对于以下关键字搭配,正确的有哪些?
(ABD)
(A)SEGMENTENDS(B)MACROENDM
(C)REPTENDS(D)PROCENDP
(E)PROCENDS
5.若当前(DS)=0600H,(BX)=0064H,内存字单元(06064H)=0018H,(06066H)=0700H,
(06018H)=0026H,(0601AH)=0800H,并且有如下程序片段:
LEASI,[BX]
MOVBX,[BX]
LDSBX,[BX]
执行该程序片段后,对于执行结果,下列描述正确的有哪些?
(BC)
(A)(SI)=0018H(B)(BX)=0026H(C)(SI)=0064H
(D)(BX)=0018H(E)(DS)=0700H
三、判断分析题(本大题共5小题,每小题3分,共15分)每小题列出的语句在语法上可能是正确的,也可能是错误的,请判断各小题所给语句在语法上是否正确,如果是错误的,则需要分析其错误原因。
对于所给语句正确的小题,只要做出正确判断即给3分,如果做出错误判断则无分;对于所给语句错误的小题,做出正确判断给1分,做出正确的错误分析再给2分,如果做出错误判断则无分。
1.MOVES,0F98H
错误,不能传递立即数给DS寄存器
2.POPAH
错误,POP指令的操作数必须为16位
3.NOP
正确
4.SHLAX,BL
错误,移位次数必须使用CL寄存器给出
5.MULCL,DL
错误,MUL指令为单操作数指令
四、名词解释题(本大题共3小题,每小题4分,共12分),解释每小题所给名词的含义,若解释正确则给分,若解释错误则无分,若解释不准确或不全面,则酌情扣分。
1.段基值:
逻辑地址的一部分,用于指示一个逻辑段的起始地址
2.有效地址即偏移量,:
用于指示被访问内存单元距离短期地址的字节距离
3.BCD码:
在计算机系统内使用二进制表示的一种十进制编码,用于使用二进制运算指令实现十进制运算。
1.段基值:
逻辑地址的一部分,用于指示一个逻辑段的起始地址
2.有效地址:
即偏移量,用于指示被访问内存单元距离段起始地址的字节距离
3.BCD码:
在计算机系统内使用二进制表示的一种十进制编码,用于使用二进制运算指令实现十进制运算。
五、程序分析题(本大题共3小题,每小题7分,共21分),每小题给出了一个程序片段,这些程序片段在语法和逻辑上都是正确的,请按照各小题给出的分析要求,分析程序片段的执行结果或总结程序片段的功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,如果分析错误则该空不得分。
1.阅读下面的程序片段,并分析执行结果。
(共7分)
MOVAX,723AH
MOVBX,0C86BH
SUBAL,BL
SBBAH,BH
XORAL,01H
ADCAX,0
执行该程序片段后:
(AX)=0A9CEH(3分)
CF=0(2分)
OF=0(2分)
2.阅读下面的程序片段,并分析执行结果。
(共7分)
MOVAL,55H
MOVCL,2
ROLAL,CL
ORAL,1
RCLAL,CL
执行该程序片段后:
(AL)=54H(3分)
CF=1(2分)
(CL)=2(2分)
3.阅读下面的程序片段,并分析执行结果。
(共7分)
DATASEGMENT
STR1DB‘AABBCCDDEEFF’
LENEQU$-STR1
DATAENDS
……
CODESEGMENT
……
MOVBX,OFFSETSTR1
MOVCX,LEN
L1:
CMP[BX],‘A’
LAHF
INCBX
SAHF
LOOPEL1
……
CODEENDS
……
执行上面程序片段后,执行结果为:
(BX)=2(3分)
ZF=0(2分)
(CX)=9(2分)
六、程序设计题(本大题共2小题,第1小题10分,第2小题12分,共22分),每小题给出了一个程序设计要求,请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。
1.请设计一个子程序,其功能如下:
(1)主程序向它提供一个字节类型的待处理数据,并指明要处理的二进制数位
(2)该子程序将待处理数据的指定二进制位变反,并将处理结果返回给主程序。
例:
如果主程序要求将11001001B的第3位变反,则处理后结果为11000001B
仅要求写出与子程序相关的源程序代码,并用文字说明参数传递方式。
(10分)
1)入口参数:
主程序将待处理数据传递到AL寄存器,待处理的位编号传递到CL寄存器
2)出口参数:
子程序将处理后的数据传递到AL寄存器返回到主程序
BITPROCPROC;子程序定义2分
PUSHBX;现场保护与恢复2分
MOVBL,1
SHLBL,CL;变反模板定义1分
XORAL,BL;位变反2分
POPBX
RE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IBMPC 汇编语言 程序设计 试题 答案