IBMPC汇编语言程序设计试题及答案Word文档格式.docx
- 文档编号:16270046
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:9
- 大小:18.68KB
IBMPC汇编语言程序设计试题及答案Word文档格式.docx
《IBMPC汇编语言程序设计试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《IBMPC汇编语言程序设计试题及答案Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
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
SBBAH,BH
XORAL,01H
ADCAX,0
执行该程序片段后:
(AX)=0A9CEH(3分)
CF=0(2分)
OF=0(2分)
2.阅读下面的程序片段,并分析执行结果。
MOVAL,55H
MOVCL,2
ROLAL,CL
RCLAL,CL
(AL)=54H(3分)
CF=1(2分)
(CL)=2(2分)
3.阅读下面的程序片段,并分析执行结果。
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
RET;
返回1分
BITPROCENDP
2.请设计一个完整程序,该程序的功能如下:
(1)从键盘接收一个字符串输入,把接收到的字符串存放于一个缓冲区中,最大允许输入20个字符,输入字符数不够20个时可以回车键结束字符串的输入。
(2)将所输入字符串中的小写字母转换为大写字母
(3)在新的一行上显示处理后的字符串。
例如:
输入aBcD,则在新的一行输出ABCD
要求写出完整的源程序代码。
(12分)
DATASEGMENT;
数据段及变量定义,2分
MAXLENDB20
ACTLENDB?
STR1DB21DUP(?
CODESEGMENT;
代码段定义,1分
ASSUMECS:
CODE,DS:
DATA;
ASSUME,1分
BEGIN:
MOVAX,DATA;
DS初始化,1分
MOVDS,AX
MOVDX,OFFSETMAXLEN;
字符串输入,1分
MOVAH,0AH
INT21H
MOVDL,0DH;
回车换行显示,1分
MOVAH,02H
MOVDL,0AH
LEABX,STR1;
添加字符串结束标志,1分
PUSHBX
MOVCL,STR1+1
XORCH,CH
ADDBX,CX
MOV[BX],‘$’
POPBX
LOP1:
CMP[BX],‘a’;
循环主体,2分
JBL1
CMP[BX],‘z’
JAL1
SUB[BX],20H
INCBX
LOOPLOP1
字符串显示,1分
MOVAH,09H
MOVAH,4CH;
程序框架,1分
ENDBEGIN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IBMPC 汇编语言 程序设计 试题 答案