汇编复习资料123 下载本文

内容发布更新时间 : 2024/5/29 20:51:39星期一 下面是文章的全部内容请认真阅读。

汇编语言自测试题(3)

一. 单选题 (每小题 1 分,共10分)

在四个备选的答案中,选出一个正确答案,请将其序号填在题中的括号内 1. 能被计算机直接识别的语言是( )

A.C语言 B.汇编语言 C.机器语言 D.面向对象语言 2. 唯一代表存储空间中每个字节单元地址的是( ) A.段地址 B.偏移地址 C.有效地址 D.物理地址

3.在8086中,存储器是分段组织,每段最大长度是( ) A.16KB B.32KB C.64KB D.128KB

4.下列四组寄存器中,属于通用寄存器的是( ) A.AX,BX,CX,DX B.SP,BP,IP C.SI,DI,FLAGS D.上属三者都是

5.VAR是数据段中定义的变量,指令 MOV AX,VAR 源操作数的寻址方式是( ) A.立即寻址 B.直接寻址 C.相对寻址 D.寄存器寻址 6.下列指令执行后,不影响标志位的指令是( )

A.PUSH AX B.ADD DX,CX C.XOR AX,AX D.CMP AX,5 7.下列指令执行后,一定能使 CF=0的指令是( )

A.NOT AX B.OR AX,AX C.SUB BX,SI D.ROL AX,1

8.设(DS)= 8260H (DI)= 3500H ,指令 DEC WORD PTR [DI] 操作数的物理地址是( ) A.11760H B.85B00H C.86100H D.以上都不时 9.循环指令 LOOP AGAIN 终止循环的条件是( ) A.(AX)=0 B.(BX)=0 C.(CX)=0 D.(DX)=0 10.对寄存器AX 中的值除以 2 正确的指令序列是( ) A.MOV AX,-51 B.MOV AX,-51 SHR AX,1 ROR AX,1

C.MOV AX,-51 D.以上都不是 SAR AX,1

二.填空题 (每空格 1 分,共 15 分)

1. 在 8086/8088 系统中,存储器是分段组织的,存储器物理地址计算公式是 ⑴ 。

2. 在程序执行过程中,指令的段地址存放在 ⑵ 寄存器中,偏移地址存放在 ⑶ 寄存器中。 3. 下列六条指令语句正确的是 ⑷ ⑸ 二句。 A. PUSH CS B. ADD CX,[SI+DI] C. AND AX,0FH D. MOV CL,256 E. .MOV AX,[BL] F. ADD DS,AX

4. 已知 (DS)= 2F00H (ES)= 3F00H (SS)= 1A80H (BX)= 0800H (SI)= 0010H (DI)= 0A00H (BP)=0040H 计算下列指令源操作数的物理地 址,指出寻址方式

(1) MOV AX,[BP+6] 物理地址 ⑹ 寻址方式 ⑺ (2) ADD AX,ES:[BX] 物理地址 ⑻ 寻址方式 ⑼

5.。加减运算中,一字节有符号数能表达的数值范围是 ⑽ , 运算结果超出 范围称为 ⑾ , 此时标志位 ⑿ 。

6.乘法指令 IMUL BX 一个乘数在 BX 中,另一个乘数一定在 ⒀ 中,乘积在 ⒁ 中。. 7. 与 LEA BX,VAR指令完全等效的指令是 ⒂ 。 三.简答题 (每题 8 分,共 24 分)

1. 按题意写出合适的指令语句,每小题写一条指令

(1)把 DX 寄存器和CX 寄存器的内容相减,结果存入 DX 寄存器中。

(2)用 BX 和 SI的基址变址寻址,将存储器中的一个字传送到CX 寄存器中。

(3)取 数组 ARRAY的起始地址到BX 寄存器中。 (4)将 DX 寄存器的高四位置 1

2. 执行下列指令语句,把执行结果填在空格中

(1) 已知(AL)=0FFH, (BL)=10H,执行 MUL BL 则(AH)= ⑴ (AL)= ⑵ (2)已知(DS)=2500H (SI)=00A0H (250A0H)=01H (250A1H)=96H

执行 ROL WORD PTR[SI] , 1 则(250A0H)= ⑶ ,(250A1H)= ⑷ ,CF= ⑸ (3)已知(SS)=3000H (SP)=200H (AX)=785AH (BX)=1234H,

先执行 PUSH AX ,再执行 PUSH BX, 此时(SS)= ⑹ (SP)= ⑺ 数12H存放的物理地址是 ⑻ . 3. 已知数据段定义如下: DATA SEGMENT VA DB 10H VB DW 3*20

MSG DB ‘HELLO!’ COUNT EQU 15

BUF DW COUNT DUP(5,3 DUP(1,2),0) DATA ENDS

问题: (1)执行 MOV BX , 0FFSET VA后, (BX)=

(2)执行 MOV CX , TYPE BUF后, (CX)= (3)用一条指令将字母 ’O’ 取到AL中. (4)经汇编后, BUF占有的存储空间是 字节 四. 程序分析题 (每题7分,共21分) 1. MOV AX , 0

MOV BX , 1 MOV CX , 5

LOP:ADD AX,BX ADD BX , 2 LOOP LOP HLT

问题: (1) 程序的功能是什么(可用算式表示)?

(2) 运行后, (AX)= .

2.已知 (AX)=3200H, (DX)=0A000H,执行下列程序段:

NOT AX NOT DX ADD AX , 1 ADC DX , 0 HLT

问题: (1) 程序执行后,(AX)= (DX)= .

(2) 程序功能是什么? 3.执行下列程序:

MOV AX,9B47H MOV BX,0B568H ADD AX,BX JNO L1 JNC L2

SUB AX,BX JNC L3

JNO L4

JMP SHORT L5 问:程序执行后,(AX)= ,程序转向 五.程序填空 (每题5分,共10分)

1.下列程序段将AX中值乘以9,请将程序填写完整 ⑴__________ MOV CL,3

⑵____________ POP BX

ADD AX,BX

2.设AX,BX。CX中的数是数带符号,下列程序求 AX、BX、CX中的最小值, 结果在AX中.请将程序填写完整。 CMP AX,BX

⑴_________________ XCHG AX,BX

NEXT: CMP CX,AX ⑵___________________ XCHG AX,CX EXIT:

六.按要求编程(每题10分,共20分)

1. 测试AL寄存器的D5和D0位,若同时为0,程序转向ZERO,执行AX 减去 BX;否则将AL清0,同时清 CF和OF标志。写出程序段.

2. 设 X、Y、Z、W为十六位有符号数编程计算: W ← ((X + Y * Z)/8)-Y 除法余数丢弃 若ZF=1 ,程序转EQ;否则转NOT_EQ。 汇编语言自测试题(3)标准答案

一.单选题 (每小题1分,共10分) 1. C 2. D 3. C 4. A 5. B 6. A 7. B 8. B 9. C 10 C.

二.填空题(每空格1分,共15分)

(1) 段地址*16+偏移地址 (2) CS (3) IP (4)(5) A ,C (次序无关)(6) 1A846H (7) 寄存器相对寻址 (8) 3F800H (9)寄存器间接寻址(10)-128~+127 (11) 溢出 (12) OF=1(13)AX (14) DX , AX (15) MOV BX,OFFSET VAR 三.简答题 (每题8分,共24分)

1.(1) SUB DX , CX (2) MOV CX , [BX+SI]

(3) LEA BX , ARRAY或 MOV BX , OFFSET ARRAY (4) OR DX , 0F000H

2.(1) 0FH (2) 0F0H (3) 03H (4) 2CH (5) 1 (6) 3000H (7) 1FCH (8) 1FDH 3.(1) 0 (2) 2 (3) MOV AL , MSG+4 (4) 240 四.程序分析题(每小题7分,共21分) 1.(1) 1+3+5+7+9 (2) 25 2.(1) 0CE00H 5FFFH

(2) 双字长数DX , AX求补 3.(1) 9B47H (2) L5

五.程序填空(每小题5分,共10分) 1. (1) PUSH AX (2) SHL AX,CL 2. (1) JLE NEXT (2) JGE EXIT