《汇编语言》综合复习资料.docx

上传人:b****0 文档编号:9926584 上传时间:2023-05-22 格式:DOCX 页数:27 大小:27.12KB
下载 相关 举报
《汇编语言》综合复习资料.docx_第1页
第1页 / 共27页
《汇编语言》综合复习资料.docx_第2页
第2页 / 共27页
《汇编语言》综合复习资料.docx_第3页
第3页 / 共27页
《汇编语言》综合复习资料.docx_第4页
第4页 / 共27页
《汇编语言》综合复习资料.docx_第5页
第5页 / 共27页
《汇编语言》综合复习资料.docx_第6页
第6页 / 共27页
《汇编语言》综合复习资料.docx_第7页
第7页 / 共27页
《汇编语言》综合复习资料.docx_第8页
第8页 / 共27页
《汇编语言》综合复习资料.docx_第9页
第9页 / 共27页
《汇编语言》综合复习资料.docx_第10页
第10页 / 共27页
《汇编语言》综合复习资料.docx_第11页
第11页 / 共27页
《汇编语言》综合复习资料.docx_第12页
第12页 / 共27页
《汇编语言》综合复习资料.docx_第13页
第13页 / 共27页
《汇编语言》综合复习资料.docx_第14页
第14页 / 共27页
《汇编语言》综合复习资料.docx_第15页
第15页 / 共27页
《汇编语言》综合复习资料.docx_第16页
第16页 / 共27页
《汇编语言》综合复习资料.docx_第17页
第17页 / 共27页
《汇编语言》综合复习资料.docx_第18页
第18页 / 共27页
《汇编语言》综合复习资料.docx_第19页
第19页 / 共27页
《汇编语言》综合复习资料.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《汇编语言》综合复习资料.docx

《《汇编语言》综合复习资料.docx》由会员分享,可在线阅读,更多相关《《汇编语言》综合复习资料.docx(27页珍藏版)》请在冰点文库上搜索。

《汇编语言》综合复习资料.docx

《汇编语言》综合复习资料

《汇编语言》综合复习资料

 

一、单项选择题

在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题后的括号内:

1.十六进制数 88H,可表示成下面几种形式,请找出错误的表示()。

(A)  无符号十进制数 136(B)  带符号十进制数 -120

(C)  压缩型 BCD 码十进制数 88(D)  8 位二进制数 -8 的补码表示

2.  指令指针寄存器是()。

(A)  IP(B)  SP(C)  BP(D)  BX

3.  若 AX=3500H,CX=56B8H,当 AND AX,CX 指令执行后,AX=()

(A) 1400H(B) 77F8H(C) 0000H(D) 0FFFFH

4.  完成将累加器 AL 清零,并使进位标志 CF 清零,下面错误的指令是()。

(A)  MOV AL,00H(B)  AND AL,00H

(C)  XOR AL,AL(D)  SUB AL,AL

5.  下列指令执行后总是使 CF=0,OF=0 的是()。

(A)  AND(B)  NEG(C)  NOT(D)  INC

6.  在下列语句中,BUFFER 称为()

BUFFER DB 01H,0AH

(A) 符号(B) 变量(C) 助记符(D) 标号

7.DATASEGMENT

TA1DW 0102H,0304H,0506H

TA2DB 02H,03H,04H

MOV BX,DS:

[0006H]

AND BX,0FFH

OR  BH,[BX]

上述指令序列运行后,BX 的内容是()。

(A)0605H(B)  0402H(C)  0606H(D)  0204H

8.当一个带符号数大于 0FBH 时程序转移, 需选用的条件转移指令是()。

(A)JLE(B)  JNL(C)  JNLE(D)  JL

9.下面指令序列测试 BH 中的数是否为奇数, 若为奇数则转移至 K1 处,横线处的指令应为 ()

TEST BH,01H

_____K1

(A)JNE(B)  JZ(C)  JS(D)  JC

10. 测试 BL 寄存器内容是否与数据 4FH 相等, 若相等则转 NEXT 处执行,可实现的方法是()。

(A) TEST BL,4FH

JZ NEXT

(B) XOR BL,4FH

JZ NEXT

(C) AND BL,4FH

JZ NEXT

(D) OR BL,4FH

JZ NEXT

11. 在汇编语言程序中,对 END 语句的叙述正确的是()。

(A)END 语句是一可执行语句(B)  END 语句表示程序执行到此结束

(C)END 语句表示源程序到此结束(D)  END 语句在汇编后要产生机器码

12. 下面的数据传送指令中,错误的操作是()。

(A)MOV SS:

[BX+DI],1000H(B)  MOV DX,1000H

(C)MOV WORD PTR[BX],1000H(D)  MOV DS,2000H

13. 下面指令执行后,变量 DAB 中的内容是()。

DAWDW 2A05H

DABDB 0FAH

MOV AL,BYTE PRT DAW

SUB DAB,AL

(A)0DAH(B)  0FAH(C)  0F5H(D)  0D0H

14. 串操作指令中,目标串操作数的段地址一定在()寄存器中。

(A) CS(B) SS(C) DS(D) ES

15. 设数据段中已有:

 DA1 DB 12H,34H

DA2 DW 56H,78H

下面有语法错误的句是()

(A)ADR1 DW DA1(B)  MOV DA1+1,AX

(C)MOV BYTE PTR DA2+1,AL(D)  MOV WORD PTR DA1+1,AX

16. DEC  BYTE  PTR[BX]指令中的操作数的数据类型是()

(A) 字(B) 双字(C) 字节(D)四字

17. 把若干个模块连接起来成为可执行文件的系统程序称为()。

(A) 连接程序(B) 汇编程序(C) 编译程序(D) 目标程序

18. 操作数直接存放在指令中,则它的寻址方式是()。

(A) 直接寻址(B) 寄存器寻址(C) 寄存器间接寻址(D) 立即寻址

19. 在程序状态字寄存器中,当方向标志 DF 位为 0 时,每次操作后使变址寄存器 SI 和 DI()。

(A) 减量(B) 增量(C) 保持不变(D) 地址减 1

20. 八位二进制补码整数的最小值是( )。

(A) -126D(B) -127D(C) -128D(D) -129D

21.在微机系统中分析并控制指令执行的部件是()

A. 寄存器B. 数据寄存器C. CPUD. EU

22. 能被计算机直接识别的语言是()

A.C 语言B.汇编语言C.机器语言D.面向对象语言

23. MOV AX,ES:

COUNT[DI] 源操作数的寻址方式是()

A. 基址寻址 B. 立即寻址   

C. 变址寻址   D. 基址变址寻址

24. 指令 MOV BX,MASK[BP],若 MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为()

A. 17500H      B. 16500H    

C. 14500H      D. 13500H

25. 在标志寄存器中表示溢出的标志()

A. AFB.CF

C. OFD.SF

26. 当执行指令 ADDAX,BX 后,若 AX 的内容为 2BA0H,设置的奇偶标志位 PF=1,下面的叙述正确的是(

)。

(A) 表示结果中含 1 的个数为偶数(B) 表示结果中含 1 的个数为奇数

(C) 表示该数为偶数(D) 表示结果中低八位含 1 的个数为偶数

27. 汇编语言指令中唯一不可缺少的域是()

A. 标号名字域      B. 助记符域   

C. 操作数域    D. 注释域

28. 已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H,

指令 MOV  AX,DS:

[BP] 源操作数的物理地址是()。

A.25040HB. 30040HC.25100HD. 55040H

29. 下列传送指令中,有语法错误的指令是()。

A.MOV  CS,AXB. MOV  DS,AXC. MOV  ES,AXD. MOV SS,AX

30. 指令 ADD ES:

[DI],AX 和存放在()。

A.寄存器B. 附加段C. 堆栈段D. 代码段

二、简答题

1.在某子程序的开始处要保护 AX,BX,CX 三个寄存器信息,在子程序结束时要恢复这三个寄存器信息。

设恢复现场的指令序列如下,试写出保护现场的指令序列。

POPAX

POPBX

POPCX

2.下面的程序段有错吗?

若有,请指出错误。

CRAY PROC

PUSH AX

ADD AX,BX

RET

ENDP CRAY

3.试根据以下要求,分别写出相应的汇编语言指令。

(1) 把 AX 寄存器和 BX 寄存器的内容相加,结果存入 AX 中。

(2) 用 BX 和 SI 的基址变址寻址方式,把存储器中的一个字节与 DL 的内容相加,并把结果送回 DL 中。

(3) 把数 5EH 与 AH 内容相加,结果送回 AH 中。

4.对于下面的数据定义,三条 MOV 指令分别汇编成什么?

TAB1  DW  10  DUP(?

TAB2  DB  10  DUP(?

TAB3  DB  ‘1234’

MOV  AX,LENGTH  TAB1

MOV  BL,LENGTH  TAB2

MOV  CL,LENGTH  TAB3

5.完成下列操作,分别选用什么指令:

(1)将 AX 的内容,减去 0520H,和上次运算的借位;

(2)将变量名 TABL 的段地址送 AX;

(3)将变量名 TABL 的偏移地址送 AX。

6.假设有如下伪指令:

D1  DB 20H DUP(?

D2  DW D1

请写出用一条指令实现“取 D1 的偏移地址=>SI”中的三种方法。

7.已知数据段定义如下:

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)经汇编后, BUF 占有的存储空间是 字节

8.在指令系统中,段内. 段间返回均为 RET 指令。

试回答:

(1)执行段内返回 RET 指令时,执行的操作是:

(2)执行段间返回 RET 指令时,执行的操作是:

9.下面的程序段有错吗?

若有,请指出错误。

(5 分)

CRAYPROC

PUSH  AX

ADD  AX,BX

RET

ENDPCRAY

三、程序分析(读程序)题

1.ADW 6666H

BDW 8888H

………

PUSH B

PUSH A

POP B

POP A

试回答:

(1) 上述程序段执行后,以十六进制表示,

(A)=_____H,(B)=_____H

(2) 设执行前 SP=100H,执行后,以十六进制表示,

SP=_____H

2. 现有下列程序段

MOV AX,6540H

MOV DX,3210H

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

试问上述程序段运行后,以十六进制表示,

(AX)=_____H

(BL)=_____H

(DX)=_____H

3.分析下面程序段:

MOVAX,3456

XCHGAX,BX

MOVAX,3456

SUBAX,BX

JEDONE

KK:

 ADDAX,BX

DONE:

请问该程序段执行完 JE DONE 语句后,以十六进制表示,

(AX)=_____H,(ZF)=_____H

4.程序段如下:

BLK1DB  46,84,34,-5,20,122,73

………

MOV CX,7

LEA SI,BLK1

NEXT:

MOV AL,[SI]

INC SI

TEST AL,81H

LOOPZ NEXT

MOV BL,[SI]

请回答程序段运行后, 以十六进制表示,

(AL)=______H,  (BL)=______H

5.分析下面程序段:

MOV AL,200

SAR AL,1

MOV BL,AL

MOV CL,2

SAR AL,CL

ADD AL,BL

试问程序段执行后,以十六进制表示,

(BL)=_____H,(AL)=_____H

6.有下列程序段:

ADDAL,BL

JEL1

RCLAL,1

JEL2

RCRAL,1

INCAL

JEL3

上述程序运行后,试回答(以十进制表示):

(1)当(AL)=__________时,程序转向 L1

(2)当(AL)=__________时,程序转向 L2

(3)当(AL)=__________时,程序转向 L3

7.有下列程序段

MOV  BX,00FFH

AND  BX,0FFFH

ORBX,0F0FH

XOR  BX,00FFH

试问上述程序段运行后,以十六进制表示,

(AL)=____________ H

8. 执行下列指令后,AX 寄存器中的内容是什么?

STARTDW  10H,20H,30H,40H,50H

EE1DW  3

MOV  BX,OFFSET  START

ADD  BX,EE1

MOV  AX,[BX]

执行后,以十六进制表示,

(AX)=____________ H

9.有下列程序段:

MOVSI,10H

MOVAX,1234H

MOV[SI+12H],AX

LEABX,[SI]

MOV[SI+14H],BX

LESBX,DWORD PTR [SI+12H]

MOVAX,ES

DECAX

执行上述程序段后,AX 和 BX 寄存器的内容, 以十六进制表示,

(AX)= ____________ H

(BX)= ____________ H

10.有下列程序段

MOVCX,1AH

MOVDL,'z'

LAB1:

PUSHDX

MOVAH,02H

INT21H

POPDX

DECDX

LOOPLAB1

执行后,屏幕输出结果为:

____________________

11.  设 ( SP )=80H , ( BX ) = 0FFH ; ( AX )=1

PUSH  BX

ADDBX , AX

XORBX , AX

PUSH  BX

POPCX

上 述 程 序 段 运 行 后 ,(SP )= ______H( CX )=_______H

12.  有如下程序段

MOV AX , 0

MOV BX , 1

MOV CX , 5

LOP:

ADD AX,BX

ADD BX , 2

LOOP LOP

问题:

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

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

13.已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)

=0A1H,(50103H)=14H

先执行 MOVAX,[100H], (AX)=;

再执行 ADD  AX,[BX+DI],(AX)=,CF=,OF=。

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

NOT AX

NOT DX

ADD AX , 1

ADC DX , 0

问题:

(1) 程序执行后,(AX)=?

 (DX)= ?

(2) 程序功能是什么?

15. 有下列程序段

MOVAX,10

ADDAX,AX

MOVBX,AX

MOVCL,2

SHLAX,CL

ADDAX,BX

上述程序段执行后(AX)=,(BX)=

16. 有下列程序段

MOV AX,9B47H

MOV BX,0B568H

ADD AX,BX

JNO L1

JNC L2

SUB AX,BX

JNC L3

JNO L4

JMP SHORT L5

问:

(1) 程序执行后,(AX)= _______________H

(2) 程序转向哪个标号?

17. 行下列程序:

MOVAX,0C100H

MOV BX,8FC0H

SUBAX,BX

JNCL1

JNOL2

JMPSHORT  L3

程序执行后,(AX)=,程序转向

18. 有下列程序段

MOV  AL,0FH

MOV  BL,10H

CALL  SUB1

INC  AL

DEC  BL

SUB1  PROC

ADD  AL,BL

XCHG  AL,BL

RET

SUB1  ENDP

上述程序段运行后,(AL)=__________H,(BL)=____________H

19.ADW  1234H

BDW  5678H

………

PUSHA

PUSHB

POPA

POPB

试回答:

(1) 上述程序段执行后,以十六进制表示,

(A)=_____H

(B)=_____H

(2) 设执行前 SP=200H,执行后,以十六进制表示,

(SP)=_____H

 

四、程序填空题

下列各小题中,一个空只能填一条指令。

1. 下面程序段用来判断寄存器 AH 和 AL 中第 3 位是否相同,如果相同,AH 置 0,否则 AH 置全 1。

试把空白处

填上适当指令。

_____________________

ANDAH,08H

_____________________

MOVAH,OFFH

JMPNEXT

ZERO:

  MOVAH,0

NEXT:

  ……

2. 以 BUF 为首址的字节单元中,存放了 COUNT 个无符号数,下面程序段是找出其中最大数并送入 MAX 单元中。

BUFDB5,6,7,58H,62,45H,127,……

COUNTEQU$-BUF

MAXDB?

MOVBX,OFFSET BUF

MOVCX,COUNT-1

MOVAL,[BX]

INCBX

LOP1:

  _____________________

JAENEXT

MOVAL,[BX]

NEXT:

  INCBX

_____________________

MOVMAX,AL

3.设 AX,BX 中的数一个为正数,一个为负数,下面程序段完成将正数送到 PLW 单元中存放,请将程序中所

缺指令语句补上。

TEST AX,8000H

(1) ___________

MOV PLW,BX

JMP DONE

K1:

  

(2) ________

DONE:

4.在下面程序段的每一空框中填入一个语句(不得修改其它语句),以实现下述功能:

求:

z=|x-y|,设 x,y,z

分别为字数据的无符号变量名称。

MOV AX,X

CMP AX,Y

JB  NEXT

SUB AX,Y

(1) ______________________

NEXT:

  MOV AX,Y

SUB AX,X

DONE:

  

(2) ______________________

5. 下列程序段将 AX 中值乘以 9,请将程序填写完整

⑴__________

MOV CL,3

⑵____________

POP BX

ADD AX,BX

答:

(1) PUSH AX

(2) SHL AX,CL

6.下列程序段求数组 ARRAY 的累加和。

请将程序填写完整。

ARYDW 45H,68H,………….,0ABC1H,9600H;共 10 项

COUNTDW 10

⑴__________

MOVCX,COUNT

XORAX,AX

AGAIN:

ADD  AX,[SI]

ADDSI,2

⑵____________

五、编制程序(段)题

1.编程序段 (10 分)

编制将 ES 段中名为 DATA 的字存储区清零的程序段。

假定 DATA 存储区定义为:

DATADW  20

DUP(?

要求用循环指令编写,循环控制采用计数寄存器自动控制。

(此题勿需书写完整的源程序格式,只需把试题

要求的有关指令序列书写出来。

2.编程序段 (10 分)

设 X,Y,Z,W 存放 16 位带符号数,编程计算 X*Y-Z 的值并送到 W

(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。

3.编程序段 (10 分)

测试 AL 寄存器的 D5 和 D0 位,若同时为 0,程序转向 ZERO,执行 AX减去BX;否则将 AL 清 0,同时清

CF 和 OF 标志。

写出程序段。

(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。

4. 编写完整程序:

(13 分)

设在 DAT 单元存放一个-9~+9 的字节数据,在 SQRTAB 数据区中存放了 0~9 的平方值,请用直接查表法

编写一个子程序,在 SQRTAB 中查找出 DAT 单元中数据对应的平方值送 SQR 单元。

要求子程序开始时必须利用

堆栈保护用到的各寄存器,并在返回前恢复;主程序结构要书写完整(包括子程序的调用方式)结果不必输

出)。

其中数据段如下:

DATASEGMENT

DATDB  -6

SQRTABDB  0,1,4,9,16,25,36,49,64,81

SQRDB  ?

DATAENDS

5. 编写完整程序:

(13 分)

将一正数 N 插入一个已排好序的数组的正确位置。

该数组的首地址和末地址分别为 AHEAD 与 AEND,其中

所有数均为正数,而且按递增顺序排序 (结果不必输出) 。

数据段如下:

DATASEGMENT

XDW ?

AHEADDW 2,5,7,89,100,200

AENDDW 288

NDW 35

DATAENDS

6. 编写完整程序:

(13 分)

在 BUF1 和 BUF2 两个数据区中,各定义有 10 个带符号字数据,试编制一完整的源程序,求它们对应

项的绝对值之和,并将和数存入以 SUM 为首址的数据区中。

DATA SEGMENT

BUF1 DW -56,24,54,-1,89,-8,----

BUF2 DW 45,-23,124,345,-265,----

SUM  DW 10 DUP(0)

DATA ENDS

7. 编写完整程序:

(13 分)

在给定个数的数中寻找最大值,放至指定的存储单元。

假设数据段如下:

DATASEGMENT

BUFFERDB2,4,3,6,1,5

COUNTDW6

MAXDB?

DATAENDS

 

部分参考答案及评分标准

一、 单选题(每小题 2 分,共 60 分)

1.D2.A3. A4.A5.A

6.B7.B8. C9.A10.B

11.C12.D  13.C  14.D15.B

16.C17.A  18.D  19.B20.C

21. C22. C  23. C  24. B25. C

26.D27.B  28.B  29.A30.B

二、 简答题(每小题 3 分,共 27 分)

1. PUSHCX(1 分)

PUSHBX(1 分)

PUSHAX(1 分)

2. 程序最后一行有错,应写成:

CRAYENDP(3 分)

3.

(1)  ADD  AX,BX (1 分)

(2)  ADD  DL,[BX][SI] (1 分)

(3)  ADD  AH,5EH (1 分)

4. MOV AX,10(1 分)

MOV BL,10 (1 分)

MOV CL,1 (1 分)

5.

(1)  SBB AX,0520H(1 分)

(2)MOV AX,SEG TABL(1 分)

(3)MOV AX,OFFSET TABL(1 分)

6.三种方法,对 1 个得 1 分,无先后顺序。

(1)  LEA SI,D1

(2) MOV SI,OFFSET D1

(3) MOV SI,D2

7.

(1) 0(1 分)

(2) 2(1 分)

(3)240(1 分)

8. 执行段内返回:

栈顶内容→IP,SP+2→SP (2 分)

执行段间返回:

栈顶内容→IP,SP+2→SP (2 分)

栈顶内容→CS,SP+2→SP (2 分)

9. 程序最后一行有错,应写成:

CRAYENDP(6 分)

五、编制程序题

1. 程序段:

(10 分)

DATADW  20  DUP(?

MOV A

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2