《汇编语言》试题(试题库02)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言程序设计》考试试卷

班级姓名学号

一、填空题(每空1分,共20分)

1.8088 CPU从功能划分上由________和________两部分组成。

2.用于控制字符操作地址增量方向的标志寄存器是________,表示加法结果溢出的标志寄存

器是________,允许产生中断时,IF=_______。

3.80386有3种存储器地址空间,即_________、________和_______。

4.设SS=2000H,SP=100H,执行PUSH AX后,则SP的值变为____________,栈顶的物理

地址为____________。

5.用于表示无符号数大于或等于的条件转移指令是________;用于表示带符号数大于或等于

的条件转移指令是________。

6.设CF=1,AX=1000H,执行RCL AL,1后,AX=_________,CF=_________。

7.取消表达式赋值或宏定义的伪指令是_________。

8.中断类型号为5的中断服务程序的入口地址在中断向量表中的指针为_________,而中断

类型号为200的指针为_________。

9.DEBUG是为汇编语言设计的一种调试工具,它的命令有多种,命令D和命令U分别表

示_________、_________,而表示执行并显示系统环境命令是_________。

二、判断题,正确的打“√”,错误的打“×”,并说明理由(每题1分,共10分)

1.MOV [DX],AX ()

2.MOV BYTE PTR [BX],1234H ()

3.SUB AL,CL ()

4.ADD [DI],[SI] ()

5.DIV 12H ()

6.POP CS ()

7.RCL CX,4 ()

8.LEA BX,OFFSET BUF ()

9.MOV 3456H,CX ()

10.AND AH,01H ()

三、程序分析题(共20分)

1.已知数据段和程序:

DATA SEGMENT

STR1 DW -32

STR2 DB 2 DUP(‘A’,1),35H,21H

COUNT EQU $-STR2

STR3 DW STR1

DATA ENDS

(1)画出该数据段的存储形式(6分);

(2)指出下列指令源操作数据的寻址方式,并给出目的(寄存器或存储器地址)及目的操作数的数值(6分)

①MOV DI,OFFSET STR2

②MOV CX,COUNT

③ADD CX,WORD PTR [DI+2]

2.分别指出下面两程序段的含义(各4分,共8分)。

(1)程序段1:

MOV CH,AH

SUB AL,BL

DAS

XCHG AL,CH

SBB AL,BH

DAS

MOV AH,AL

MOV AL,CH

RET

(2)程序段2:

NUM1=0

REPT 9

NUM1=NUM1+1

NUM2=0

REPT 9

NUM2=NUM2+1

DB NUM2×NUM1

ENDM

ENDM

四、读程序填空题(每空2分,共16分)

以下程序实现冒泡法排序,在空格处补上落下的指令或部分指令及操作数。

DA TA SEGMENT

N EQU 16

A ______(1)__________ ;定义长度为N的字数组

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE1, DS:DA TAX

START: ____(2)________

______(3)______ ;初始化DS

MOV CX,N

DEC CX

L1: ______(4)_________

MOV CX,N-1

MOV BX,0

L2: MOV AX,A[BX]

CMP AX,A[BX+2]

______(5)_________, L3

______(6)_________

MOV A[BX+2],AX

L3: ADD BX,2

LOOP L2

______(7)_________

LOOP L1

MOV AX,____ (8)_______

INT 21H ;返回DOS

CODE ENDS

END START

五、编程题(共34分)

1.编写子程序GetString,从键盘上输入一个长度为N的字符串,该子程序的入口条件(已预

置好)为:CX=N,DS:SI=接收此串的首地址。(8分)

2.编写一个宏,把DX、AX双字数据的内容逻辑右移4位。(8分)

3.设在BUF单元中存放一个-9~+9的字节数据,在TAB数据区中存放了0~9的平方值,

请用直接查表法编写一个子程序,在TAB中查找处BUF单元中数据对应的平方值送SQR

单元,并写出主程序的调用方式。(9分)

数据段如下:

DATA SEGMENT

BUF DB XXH

TAB DB 0,1,4,9,16,25,36,49,64,81

SQR DB ?

DATA ENDS

4.设平面上有一点P,其直角坐标为(X,Y),试编程完成以下操作的程序:

(1)若P点落在第I象限,则K单元的值赋值I(I=1,2,3,4)

(2)若P点落在坐标轴上,则K单元的值赋值0。(9分)

相关文档
最新文档