汇编试题答案
汇编语言程序设计答案
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题2分,共40分)
1.十六进制数88H,可表示成下面几种形式,请找出错误的表示(②)。
①无符号十进制数136
②带符号十进制数-120
③压缩型BCD码十进制数88
④8位二进制数-8的补码表示
2.某存储单元的物理地址是12345H,可以作为它的段地址有(④)
①2345H②12345H
③12340H④1234H
3.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(①)。
①MOV AL,00H
②AND AL,00H
③XOR AL,AL
④SUB AL,AL
4.在汇编语言程序中,对END语句的叙述正确的是(②)。
①END语句是一可执行语句
②END语句表示程序执行到此结束
③END语句表示源程序到此结束
④END语句在汇编后要产生机器码
5.下面的数据传送指令中,错误的操作是(④)。
①MOV SS:[BX+DI],1000H
②MOV DX,1000H
③MOV WORD PTR[BX],1000H
④MOV DS,2000H
6.下面指令执行后,变量DAB中的内容是(③)。
DAW DW 2A05H
DAB DB 0FAH
MOV AL,BYTE PRT DAW
SUB DAB,AL
①0DAH
②0FAH
③0F5H
④0D0H
7.执行下列指令后,正确的结果是(②)。
MOV AL,100
MOV BL,-2
①AL=100H
BL=02H
②AL=64H
BL=0FEH
③AL=64H
BL=82H
④AL=100H
BL=0FEH
8.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是(③)。
①JLE
②JNL
③JNLE
④JL
9.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是(②)。
①TEST BL,4FH
JZ NEXT
②XOR BL,4FH
JZ NEXT
③AND BL,4FH
JZ NEXT
④OR BL,4FH
JZ NEXT
10.在执行下列指令时,需要使用段寄存器DS的指令是(①)
①STOSW②ADD AL,CL
③NEG BX④INC DA[BX]
11.设AL=0AH,下列指令执行后能使AL=05H的是(③)
①NOT AL②AND AL,0FH
③XOR AL,0FH④OR AL,0FH
12.在下列串操作指令中,同时使用源串和目的串地址指针的指令是(④)
①STOSW②LODSW
③SCASW④CMPSW
13.设SP初值为2000H,执行指令“PUSHAX”后,SP的值是(④)
①1FFFH②1998H
③2002H④1FFEH
14.汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效
名字是(②)
①Variable②First&ld
③0FFFFH ④‘Memphis’
https://www.360docs.net/doc/8e18089118.html,0030H
DA1DB0,‘0’,30H
DWDA1
数据为3000H字存储单元的偏移地址是(①)
①0030H②0031H③0032H④0033H
16.要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选用
的语句是(①)
①DA1DB‘AB’②DA1DW‘AB’
③DA1DB0ABH④DA1DW0ABH
17.为在一连续的存储单元中,依次存放数据41H ,42H ,43H ,44H ,45H ,46H ,
可选用的数据定义语句是(④)
① DB 41 ,42 ,43 ,44 ,45 ,46
② DW 4142H ,4344H ,4546H
③DW ‘AB’,‘CD’,‘EF’
④DW ‘BA’,‘DC’,‘FE’
18如某存储器分段时,表示偏移地址是18 位二进制代码,那么一个段最多的存储单元数是(③)
① 32K 字节② 32K 字
③64K 字节④ 64K 字
19 .把BL 中的数据输出到端口8CH 中正确指令是(③)
① OUT 8CH ,BL ② IN 8CH ,BL
③ MOV AL ,BL ④MOV AL ,BL
OUT 8CH ,AL IN 8CH ,AL
20 .设SP 初值为3050H ,执行指令PUSH BX 后,SP 的值是(①)
① 304FH ② 304EH
③3048H ④ 3049H
二、简答题(按要求完成下列各题,共35分)
21.已知堆栈寄存器SS的内容是0F0A0H,堆栈指示器SP的内容是00BOH,先执行两条把8057H和0F79BH分别入栈的PUSH指令,然后执行一条POP指令,试画出示意图说明堆栈及SP内容的变化过程。(4分)
答:F0A0H:00B0H→F0A0H:00AEH→F0A0H:00ACH→F0A0H:00AEH(每个一分)
22.写出分配给中断类型号在4AH在中断向量表中的物理地址以及相应的中断服务程序的入口地址。已知
0:4AH=0F0H,0:4BH=88H,0:4CH=90H,0:4DH=10H,0:128H=06H,0:129H=18H,0:12A=00H,0:12B=0F0 H (4分)
物理地址:1280H,中断服务程序的入口地址:F000H:1806H
23.设置中断向量,中断类型号为N,其中中断服务程序入口地址为FFF0:1230H,写出指令序列实现该功能(6分)
mov ah,25h
Mov al,N (2分)
Mov dx,1230H
Mov bx,FFF0h(4分)
Mov ds,bx
Int 21H
24.下面的程序段有错吗若有,请指出错误并改正(15分)
改正错误的每个1分,指出错误的1分
CARY PROC
PUSH AX
PUSH BX
ADD [AX],[BX] ;ADD AX,[BX]
MUL 5 ;MUL AX
MOV AH,BX ;MOV AH,BL
MOV CS,AX ;MOV DS,AX
MOV BX,OFFSET MYDAT[SI];MOV BX,OFFSET MYDAT
POP AX ;POP BX
POP BX ;POP AX
25.已知(IP)=2BC0H,(CS)=0200H,位移量
D=5119H,(BX)=1200H,(DS)=212AH,(224A0H)=0600H,(275B9H)=098AH,
试为以下的转移指令找出转移的偏移地址。(1)段内直接寻址(2)使用BX及寄存器间接寻址方式的段内间接寻址(3)使用BX及寄存器相对寻址方式的段内间接寻址(6分)1:5119H 2:098AH 3:0060H
26.在下列程序的括号中分别填入如下指令(1)LOOP L20 (2)LOOPE L20 (3)LOOPNE L20
试说明在三种情况下,当程序执行完后,AX,BX,CX,DX四个寄存器的内容分别是什么(12分)
CODE SEGMENT
ASSUME CS:CODE,DS:CODE,SS:CODE
ORG 100H
BEGIN:MOV AX,01
MOV BX,02
MOV DX,03
MOV CX,04
L20:
INC AX
ADD BX,AX
SHR DX,1
()
RET
CODE ENDS
END BEGIN
AX=5,BX=10,CX=0,DX=0
AX=2,BX=4,CX=3,DX=1
AX=3,BX=7,CX=2,DX=0
27.编写程序实现对数组ARRY[5]={6,1,7,9,0}按从小到大的顺序排序(13分)
mov ah,25h
Mov al,N (5分)
Mov dx,1230H
Mov bx,FFF0h(5分)Mov ds,bx Int 21H