当前位置:首页 > 汇编语言程序第二次作业
一、单项选择题(只有一个选项正确,共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 (B) 把地址2000H (C) 把地址2000H (D) 把地址2000H
送SI
字单元的内容送SI
字单元内容送SI,把2002H字单元内容送DS 字单元内容送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
共分享92篇相关文档