广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx

上传人:b****6 文档编号:19123201 上传时间:2023-01-04 格式:DOCX 页数:15 大小:43.93KB
下载 相关 举报
广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx_第1页
第1页 / 共15页
广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx_第2页
第2页 / 共15页
广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx_第3页
第3页 / 共15页
广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx_第4页
第4页 / 共15页
广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx

《广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

广东海洋大学汇编语言复习题目答案Word文档下载推荐.docx

地址计数器:

重复:

DUP 

结束:

END 

属性操作符:

 

PTR

8、算术指令的执行影响标志寄存器中的条件标志位(CF、OF)

9、循环与分支程序结构

10、子程序结构

11、宏指令定义

12、中断源、中断向量表与中断向量的关系

13、用IN和OUT指令直接控制硬件

14、键盘、CMOS时钟、显示器的工作原理

15、常用DOS中断(INT21H的1、2、9、10号功能调用)

16、常用的BIOS中断(INT16H的0号功能,INT 

10H的2、3、6、7、9号功能)

重点掌握的程序:

二、十、十六进制相互转换的程序

BCD码转换为十进制的程序

发声程序

大小写字母相互转换的程序

进行累加求和的程序

例题5.1 

5.3 

5.4 

5.5 

习题 

5.21 

5.26

例题6.3 

6.4 

6.9 

6.5 

6.7 

例题7.1 

7.1

例题8.1 

8.5 

8.1 

8.3 

8.9 

8.11

例题9.5 

9.7 

9.11 

9.14 

习题9.3 

9.4 

9.5 

9.6 

9.10

汇编语言复习题

一、选择题

1.下面关于汇编语言源程序的说法中正确的是( 

A.必须要有堆栈段 

B.一个程序可以有多个代码段

C.必须要有数据段 

D.只能有一个数据段

2.在汇编语言程序开发中,一般要按顺序经过( 

B)过程。

a.用文字编辑程序编写源程序

b.用连接程序LINK连接程序 

.ASM—>

.OBJ-->

.EXE

c.用MASM宏汇编程序,编译成目标程序

d.用DEBUG程序调试程序

A.abcd 

B.acbd 

C.adcb 

D.adbc

3.汇编语言编译程序MASM.EXE(编译器)编译的对象是(C 

)文件。

A. 

.EXE 

B. 

.OBJ 

C. 

.ASM 

 D. 

.DOC

4.汇编语言源程序经过MASM汇编后产生(C 

.EXE  B. 

  

D. 

5. 

DEBUG调试程序时查看内存单元内容的命令是( 

A)

A.D 

B.R 

C.A   

D.E

6. 

DEBUG调试程序时查看寄存器内容的命令是( 

B)

C.U   

D.A

7.8086CPU地址总线宽度为( 

C)位。

A、8 

B、16 

C、20 

D、32

8. 

8086CPU数据总线宽度为(B 

)位。

9. 

1个CPU的寻址能力为32KB,那么它的地址总线宽度为( 

)。

A、13 

B、15 

C、18 

D、32k

10.汇编语言源程序中定义段的伪指令是( 

A.REPT…ENDM 

B.PROC…ENDP 

C.MACRO…ENDM 

D.SEGMENT…ENDS 

11.汇编语言源程序中定义宏的伪指令是( 

12..对于下列程序段:

AGAIN:

MOV 

AL,[SI]

ES:

[DI],AL

INC 

SI

DI

LOOP 

AGAIN 

把[sI]中的内容传送给ES:

[DI]

也可用( 

)指令完成同样的功能。

REP 

MOVSB 

串传送 

LODSB 

从串取

C. 

STOSB 

存入串 

REPE 

SCASB 

串扫描

13.设SP初值为2000H,执行指令“PUSH 

AX”后,SP的值是( 

A.1998H 

B.1FFFH  

1FFEH 

D.2002H

14.设SP初值为2000H,执行指令“POP 

BX”后,SP的值是( 

15.执行下列指令序列后,正确的结果是(A 

MOV 

AL,81H 

al=81h

ADD 

AL,AL 

al=81h+81h=02h 

 

cf=1

ADC 

02h+02h+cf=05h

A. 

AL=05H 

AL=204H 

C.AL=04H 

AL=205H

16.下列指令被编译时会出错的是( 

)mul的操作数不能为立即数

A.MUL 

BX 

B.MUL 

CL 

C.MUL 

DAT1 

D.MUL 

56

17.与MOV 

BX,OFFSETVAR指令完全等效的指令是( 

A、MOV 

BX,VAR 

B、LEA 

BX,VAR

C、LDS 

D、MOV 

BX,SEG 

VAR

18. 

指令指针寄存器是( 

BP 

SP 

IP 

PSW

19.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( 

A.AX,BX,CX,DX 

B.BX,BP,SI,DI 

C.SP,IP,BP,DX 

D.CS,DS,ES,SS

20. 

下列数据段中:

BUF1 

DUP(0,2 

DUP(1,2),3)

COUNT 

EQU 

$-BUF1

符号COUNT等价的值是( 

A.6 

18 

16 

8

占用了18个字节,其中2 

DUP(1,2)占用了2*2=4个字节,总共占用了

3*6=18个字节

21.设数据段中已有:

DA1 

12H,34H

DA2 

56H,78H

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

AL, 

WORDPTR 

DA1,AX

DA1+1,AX 

BYTEPTR 

DA2+1,AL

22.指令MOV 

BYTE 

PTR 

[BX+SI],00H中目的操作数的寻址方式是( 

d)

A.立即寻址 

B.寄存器寻址 

C.寄存器间接寻址 

D.基址变址寻址

23.指令MOV 

ES:

[BX],AL 

中目的操作数的寻址方式是(c 

A.直接寻址 

24.条件转移指令JB产生程序转移的条件是( 

CF=1 

B.CF=0  

 

C.CF=1和ZF=1 

D.CF=1和ZF=0

25、若执行SAL 

SI,CL后能将SI的内容乘以8,则(CL)=( 

A、2 

B、3 

C、4 

D、8

26.编辑汇编语言源程序时,对于注释语句必须用英文输入法中的( 

)来标示。

:

;

 

.

27.将AL高4位清0,应执行的指令是 

( 

AND 

AL,0F0H 

AL,0FH 

AL,0FH

28.若程序中定义了26B的数据段data,那么程序载入内存,该data段实际占用的内存空间是( 

16的倍数

A、 

16B 

B、26B 

C、 

32B 

D、 

64KB

29.在8086CPU系统中一个段的容量最小为( 

A、16B 

B、64KB 

C、512KB 

D、1KB

有数据时最小为16B,没数据时最小为0

30.下列地址信息与0020H:

03EFH确定的内存地址不同的是( 

A、5EFH 

B、203H:

00EFH

C、005EH:

000FH 

D、0002H:

05CFH

ACD对应的物理地址都是5EFH

二、填空题

1、完成下列数制转换:

11101010B= 

D= 

H

2.在存储器分段管理中,物理地址需要____2_______个16位寄存器来存储。

3.对于指令FEES 

100DUP(0)

LENGTH= 

100 

,SIZE= 

200B 

4.设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少?

(1)JMP 

IP=______1256h_____________

(2)JMP 

TABLE[BX] 

IP________3280H_____________

5.设(DS)=2000H,有下列数据段,请用十六进制写出下列各字节单元的内容:

ORG 

2100H 

想知道org是什么?

XX一下

TABLE 

10,3*5,10H 

占三个字节

ADDRESS 

DD 

TABLE 

DD占四个字节,地址为2000h:

2100h

ARRAY 

DUP(3827H,?

) 

占4个字,8个字节

(1)(2100H)=____10_________ 

(2)(2103H)= 

_____00_________ 

(3)(2106H)=____20H__________ 

(4)(210CH)= 

_____38H_________ 

这里的DS=14F8H,(2106H)=14

题目DS=2000H,所以(2106H)=20

6.已知X=-38D,Y=-64D,则[X-Y]补=____1AH_______(结果用十六进制表示)

7、设(DS)=2000H,(ES)=3000H,(SS)=4000H,(BX)=1000H,(BP)=1000H,(SI)=0001H,(DI)=0002H,(21000H)=1234H,(21002H)=5678H,(31000H)=9ABCH,(31002H)=0DEF0H,(41000H)=3456H,(41002H)=789AH

计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。

(1) 

AX, 

[1000H] 

物理地址PA= 

(2) 

AX,[BP] 

物理地址PA= 

(3) 

[BX][SI]

物理地址PA= 

(AX)= 

8.计算机中8位二进制有符号数(含一位符号位)的补码表示范围是—128~127 

9.若机器进行有符号数运算,执行指令:

AL,0F0H 

AL,78H

则ADD指令执行后:

(CF)= 

,(OF)= 

想知道结果也可以调试一下看看

10.8086CPU允许有 

256 

个中断源,其中定时器中断的中断类型号为 

08H 

,在中断向量表中N类型对应中断向量的地址为 

三、判断下列指令的正误

1、MUL 

AL,BL 

(N 

)只有一个操作数

2、MOV 

CS, 

(n 

3、PUSH 

AL 

(N) 

PUSH和POP操作都是以字为单位

4、SHL 

AX,CX 

以为次数要放在cl中

5、MOV 

AH,BYTEPTR[SI][DI] 

(N)[SI][DI]两个都为变址寄存器

6、OUT 

03FCH,AX 

( 

03FCH超过了255,必须用间接寻址,这里间接寻址的寄存器要用DX,

Movdx,03fch

Outdx,ax

7、SUB 

AX,[BX] 

8、AND 

0FH 

9、MOV 

[SI],[DI] 

)两个操作数不能同时为存储器

10、MOV 

[BX], 

0FFH 

11、MUL 

0AH 

12、CALL 

FAR 

13、ADD 

DS, 

AX 

)段寄存器不可以用在算术指令中

14、ADD 

AL,100H 

)类型不一致

15、MOV 

16、INT 

1000H 

17、JMP 

SHORT 

18、0R 

0FFFH 

19、CALL 

20、IN 

03H,AX 

) 

四、程序分析题

1. 

阅读下面程序段,回答问题。

DB 

0F8H

DUP(?

LEA 

DI,B

CX,3

AL,A 

LOP:

SAR 

AL,1

[DI],AL

DI

LOP

上述程序段运行后,从B单元开始依次存放的数据是多少?

FC FE 

FF

F8H=11111000 

右移一位变为11111100=FC

再右移一位变为11111110=FE

再右移一位变为11111111=FF

调试结果:

2、分析下面程序段的功能

……

DATA 

SEGMENT

S9 

0,1,2,3,4,5,6,7,8,9

ENDS

SI,S9

DI,S9+1

CX,5

AL,[SI]

XCHG 

AL,[DI]

[SI],AL

ADD 

SI,2

DI,2

LOP

上述程序段运行后,S9开始的10个字节存储单元内容是什么?

01 

00 

03 

02 

05 

04 

07 

06 

09 

08

3、已知BUF开始的数据区中存放有10个大、小写字母,分析下面程序段完成的功能是什么?

……

CX,10

BX,BUF

  

K2:

MOV 

AL,[BX]

CMP 

AL,‘Z’

K1

AL,20H 

(20H=32,大小写字母相差32)

[BX],AL

K1:

BX

K2

实现功能:

把小写字母变为大写字母

 4.分析下面程序段完成的功能是什么?

…… 

(DX:

AX)联合存放了一个32位数据

CL,4

SHL 

DX,CL 

DL=****0000

BL,AH

AX,CL 

AL=****0000

SHR 

BL,CL 

BL即AH的内容,AH=0000****,四个星号为原来AX的高四位

OR 

DL,BL 

功能:

把ax的高四位写入到dx的低四位

5、分析下面程序段完成的功能是什么?

LOP1:

AH,1

21H

LOP1

LOP2:

POP 

DX 

AH,2

LOP2

把输入的字符逆向输出

6、以下是二进制数(bx)到十六进制数转换并显示程序的源文件BINIHEX.ASM,阅读并完成该程序。

……

START:

CH,4 

bx为16位,bx要循环4次,用ch来计次数

ROTATE:

mov 

cl,4 

BX,CL

AL,BL 

bx循环左移后,原来的高四位变为低四位,把bl的 

值送给al,以免后面的操作影响bx的值

And 

al,0fh 

与0fh相与,只保留低四位

AL,30H 

转换为ASII码 

AL,3AH 

ASII码大于3Ah则al的值大于9,若小于3Ah,直接输出

PRINTIT

Add 

al,07h 

ASII码大于3Ah,A的ASII码为41h,所以要加上7,可以输出相应的ABCD....

PRINTIT:

DL,AL

Mov 

ah,02h 

Dec 

ch 

JNZ 

ROTATE 

ch为零时跳出循环

AH,4CH

INT 

7、以下是子程序BCDIASC,请阅读程序并完成填空。

;

将十进制的两位数的BCD码转换为ASCII码并在屏幕中间显示.

参数:

(AL)=十进制的两位数的BCD码,无出口参数

BCDIASC:

AH,AL

CL,4 

shr 

ah, 

cl 

将AH的高4位移至低4位

al, 

0fh 

保留AL的低4位

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

当前位置:首页 > 医药卫生 > 预防医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1