汇编语言程序第二次作业讲述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档