汇编语言程序第二次作业讲述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题(只有一个选项正确,共10道小题)
1. 若PORT_VAL<5,则执行指令MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL GE 5) AND 30)后BX的内容是:()。
(A) 20
(B) 30
(C) 5
(D) 10
正确答案:A
解答参考:
2. 假设(AL)=10010010,
MOV CL,4
SHL AL,CL
执行上述指令后CF和AL的内容是()。
(A) AF=1,(AL)=00001001
(B) AF=0,(AL)=00001001
(C) AF=1,(AL)=00100000
(D) AF=0,(AL)=00100000
正确答案:C
解答参考:
3. 下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。
TEST BH,01H
_____K1
(A) JNE
(B) JZ
(C) JS
(D) JC
正确答案:A
解答参考:
4. 已知标号NEXT与指令MOV AX,TYPE NEXT在同一个段内,则AX的值为()。
(A) 0
(B) 1
(C) 2
(D) -1
正确答案:B
解答参考:
5. DATA SEGMENT
BUF DB 1,2,3,4,5
COUNT EQU -BUF
DATA ENDS
在以上数据段中COUNT的值为( )
(A) 3
(B) 5
(C) 4
(D) 6
正确答案:B
解答参考:
6. 下列是8位二进制数的补码,其中真值最大的是()。
(A) 10001000
(B) 11111111
(C) 00000000
(D) 00000001
正确答案:D
解答参考:
7. 16位有符号数的补码所表示的十进制数的范围是()。
(A) -32767~+32768
(B) -32768~+32767
(C) -65535~+65536
(D) 0~65535
正确答案:B
解答参考:
8. 下面的XCHG指令中,语法正确的是( )。
(A) XCHG AL,DS
(B) XCHG BL,[BX]
(C) XCHG AL,0FH
(D) XCHG BUF1,BUF2
正确答案:B
解答参考:
9. LDS SI,ES:[2000H]指令的全部功能是( )。
(A) 把地址2000H送SI
(B) 把地址2000H字单元的内容送SI
(C) 把地址2000H字单元内容送SI,把2002H字单元内容送DS
(D) 把地址2000H字单元内容送DS,把2002H字单元内容送SI
正确答案:C
解答参考:
10. 数据定义如下:
BUF1 DB 10
BUF2 DW 20 DUP(?)
实现将BUF1单元的内容与BUF2开始的第三个字节单元内容相比较的指令是()。
(A) CMP BUF1,BYTE PTR BUF2+3
(B) MOV AL,BUF1
CMP AL,BYTE PTR BUF2+2
(C) MOV AL,BUF1
CMP AL,BUF2+2
(D) MOV AL,BUF1
CMP AL BUF2+3
正确答案:B
解答参考:
(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。在线只需提交客
观题答案。)
二、主观题(共15道小题)
11.假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?
(1) MOV BP, AL ;
(2) MOV WORD_OP [BX+4*3][DI], SP
(3) MOV WORD_OP1, WORD_OP2 ;
(4) MOV AX, WORD_OP1[DX] ;
(5) MOV SAVE_WORD, DS
(6) MOV SP, SS:DATA_WORD [BX][SI]
(7) MOV [BX][SI], 2 ;
(8) MOV AX, WORD_OP1+WORD_OP2
(9) MOV AX, WORD_OP1-WORD_OP2+100
(10) MOV WORD_OP1, WORD_OP1-WORD_OP2
参考答案:
假设下列指令中的所有标识符均为类型属性为字的变量,请指出下列哪些指令是非法的?它们的错误是什么?
(1) MOV BP, AL ;错,寄存器类型不匹配
(2) MOV WORD_OP [BX+4*3][DI], SP
(3) MOV WORD_OP1, WORD_OP2 ;错,不能都是存储器操作数
(4) MOV AX, WORD_OP1[DX] ;错,DX不能用于存储器寻址
(5) MOV SAVE_WORD, DS
(6) MOV SP, SS:DATA_WORD [BX][SI]
(7) MOV [BX][SI], 2 ;错,[BX][SI]未指出数据类型
(8) MOV AX, WORD_OP1+WORD_OP2
(9) MOV AX, WORD_OP1-WORD_OP2+100
(10) MOV WORD_OP1, WORD_OP1-WORD_OP2
12.假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:
(1) ADD VAR1, VAR2 ;
(2) SUB AL, VAR1 ;
(3) JMP LAB [SI] ;
(4) JNZ VAR1 ;
(5) JMP NEAR LAB ;
参考答案:
假设VAR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处:
(1) ADD VAR1, VAR2 ;不能都是存储器操作数
(2) SUB AL, VAR1 ;数据类型不匹配
(3) JMP LAB [SI] ;LAB是标号而不是变量名,后面不能加[SI]
(4) JNZ VAR1 ;VAR1是变量而不是标号
(5) JMP NEAR LAB ;应使用NEAR PTR
13.有符号定义语句如下:
BUFF DB 1, 2, 3, ‘123’
EBUFF DB 0