汇编语言程序设计练习题及答案

合集下载

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案

一、单项选择题(每小题1分,共20分)

1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A)

A、85B92H

B、86192H

C、BB690H

D、12169H

2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

3、循环指令LOOPNZ终止循环的条件是(B)。

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX10,且ZF=0

D、CX10,或ZF=1

4、对寄存器AX的内容乘以4的正确指令序列是(B)。

A、SHR AX,1 /SHR AX,1

B、SHL AX,1/ SHL,AX,1

C、ROL AX,1 /ROL AX,1

D、RCR AX,1/ RCR AX,1

5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。

A、OF,AF,PF

B、OF,AF,CF

C、OF,PF,CF

D、AF,PF,CF

6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。

A、DH=10H CF=1

B、DH=0F0H CF=0

C、DH=10H CF=0

D、DH=0F0H CF=1

7、下列传送指令中有语法错误的是(A)。

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

8、下面指令执行后,改变AL寄存器内容的指令是(D)。

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,BL

D、AND AL,BL

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案[P1] 汇编语言程序设计题目以及答案

汇编语言是一种底层计算机语言,它直接使用机器指令来编写程序。本文将介绍一些汇编语言程序设计的题目,并提供相应的答案。通过

这些题目和答案的学习,读者可以更好地理解和掌握汇编语言程序设

计的基本概念和技巧。

[题目一] 计算两个数的和

要求:编写汇编程序,计算两个给定的整数的和,并将结果存储在

指定的内存位置中。

答案:

```assembly

section .data

num1 dd 10 ; 第一个整数

num2 dd 20 ; 第二个整数

result dd 0 ; 结果

section .text

global _start

_start:

mov eax, [num1] ; 将num1值存入寄存器eax

add eax, [num2] ; 将num2值与eax寄存器中的值相加

mov [result], eax ; 将结果存储到result变量

mov eax, 1 ; 准备执行系统调用

mov ebx, 1 ; 文件描述符:标准输出

mov ecx, result ; 输出的数据

mov edx, 4 ; 数据长度

int 0x80 ; 执行系统调用

mov eax, 1 ; 准备执行系统调用

xor ebx, ebx ; 正常退出

int 0x80 ; 执行系统调用

```

[题目二] 字符串反转

要求:编写汇编程序,将一个给定的字符串反转,并将结果存储在指定的内存位置中。

答案:

```assembly

section .data

str db 'Hello', 0 ; 待反转的字符串

《汇编语言程序设计》习题详解

《汇编语言程序设计》习题详解

《汇编语言程序设计》习题详解

一、 选择题

1. 机器数为10000000B, 它代表-127D,则它是(C )。

A. 补码

B. 原码

C. 反码

D. 原码或反码

2.[x1]原=10111101B, [x2]反=10111101B, [x3]补=10111101B (C )。

A. x1最小

B. x2最小

C. x3最小

D. x2=x1=x3

3.计算机的内存“溢出”是指其运算结果()。

A .为无穷大

B .超出了计算机内存储单元所能存储的数值范围

C .超出了该指令所指定的结果单元所能存储的数值范围

D .超出了一个字所能表示数的范围

4. [x1]原=11001010B, [x2]反=11001010B, [x3]补=11001010B ,那么它们的关系是()。

A. x3>x1>x2

B. x2>x3>x1

C. x3>x2>x1

D. x2>x1>x3

5. 在计算机中表示地址时使用(A )。

A 无符号数

B 原码

C 反码

D 以上都不对

6. 下面说法错误的是(D )。

A 8位二进制无符号数表示的最大十进制数是255

B 8位二进制带符号数表示的最大十进制数是127

C 计算机中无符号数最常用于表示地址

D 计算机中小数点隐含在符号位之后,占一位

7. 只有当与非门的输入变量A 、B 的值为( )时,其输出才为0。

A 0,0

B 0,1

C 1,0

D 1,1

8. 只有当或非门的输入变量A 、B 的值为( )时,其输出才为1。

A 0,0

B 0,1

C 1,0

D 1,1

9. 若逻辑运算Y=A+B, 当A=B=1时,Y 为( )。

汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计练习题

一、单项选择题

1、与100.5不相等的数据是【 C 】

A. 64.8H

B. 1100100.1B

C. 64.5H

D. 144.4O

2、指向程序代码段的段寄存器是【 A 】

A. CS

B. DS

C. SS

D. FS

3、在内存字单元(20000)中存放数1324H,即(20000)=1324H,则从字节单元20001H 中取出一个字节为【 A 】A. 13H B. 24H

C. 1324H

D. 2413H

4、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是【 A 】

A. MOV AL,00H

B. AND AL,00H

C. XOR AL,AL

D. SUB AL,AL

5、指令JMP BX转移的目标地址的偏移量为【 C 】

A. IP+BX的内容

B. IP+[BX]

C. BX的内容

D. BX所指向的内存字单元的内容

6、DA1 DW 2A05H

DA2 DB 07AH

MOV AL,BYTE PTR DA1

SUB DA2,AL

上述指令执行后,DA2中的内容是【 C 】A. 7AH B. 02AH

C. 075H

D. 050H

7、某存储单元的物理地址是12345H,可以作为它的段地址有【 d 】

A. 2345H

B. 12345H

C. 12340H

D. 1234H

8、设有数据定义X2 DW 10 DUP (0,1,2),定义了多少字节的缓冲【 C 】

A. 6

B. 30

C. 60

D. 40

9、有符号数AX除以2的指令是【 B 】

A. SHR AX,1

汇编语言程序设计试题和答案

汇编语言程序设计试题和答案

《汇编语言程序设计》试题

专业姓名成绩

一、单项选择题(每1分,共15分).

1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()

A.07FFH 3021D

B. 6FEH 1021D

C. 07FFH 2012D

D. 07FFH 2047D

2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在

指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( )

A. 127D

B.255D

C. 256D

D.128D

3. 设MYDAT是一个字变量,下列指令中,错误的是()

A.MOV BX,10100B

B.MOV DS,AX

C.ADD BX,[10100H]

D.MOV BX,MYDAT[SI]

4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,

(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()

A.5678H

B.4C2AH

C.2A4CH

D.7856H

5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节

( ),试用16进制数表示该机的地址范围()

A.1M 0~FFFFFH

B.64K 0~FFFFH

C.128K 0~FFFFH

D.128K –FFH~FFH

汇编语言程序设计习题答案

汇编语言程序设计习题答案

汇编语言程序设计习题答案

第一章. 习题

1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:

(1) 369 (2) 10000 (3) 4095 (4) 32767

答:(1) 369=1 0111 0001B=171H

(2) 10000=10 0111 0001 0000B=2710H

(3) 4095=1111 1111 1111B=FFFH

(4) 32767=111 1111 1111 1111B=7FFFH

1.2将下列二进制数转换为十六进制数和十进制数:

(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111

答:(1) 10 1101B=2DH=45

(2) 1000 0000B=80H=128

(3) 1111 1111 1111 1111B=FFFFH=65535

(4) 1111 1111B=FFH=255

1.3将下列十六进制数转换为二进制数和十进制数:

(1) FA (2) 5B (3) FFFE (4) 1234

答:(1) FAH=1111 1010B=250

(2) 5BH=101 1011B=91

(3) FFFEH=1111 1111 1111 1110B=65534

(4) 1234H=1 0010 0011 0100B=4660

1.4完成下列十六进制数的运算,并转换为十进制数进行校核:

(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F

答:(1) 3A+B7H=F1H=241

汇编语言程序设计试题参考答案

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案

A卷

一、单项选择题(本大题共8小题,每小题2分,共16分)

1.C

2.B

3.B

4.A

5.C

6.A

7.A

8.C

9.D 10.B

二、名词解释(本大题共5小题,每小题4分,共20分)

11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。

12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。

13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。

14.中断源:指能引起中断的外部设备或内部原因。

15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。

三、简答题(本大题共4小题,每小题5分,共20分)

16.微型计算机系统软件的主要特点是什么?

计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。

17.什么是逻辑地址?他由哪两部分组成?

计算机存储器中给每个逻辑段编址的地址称逻辑地址。逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。

18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什

么?

一般情况下汇编语言源程序应该由以下3个逻辑段组成:

①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,

变量等程序需要对其进行操作的数据;

②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、

汇编语言程序设计练习题及答案

汇编语言程序设计练习题及答案

汇编语⾔程序设计练习题及答案

⼀、单项选择题(在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。)

1.为在⼀连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选⽤的数据定义语句是(D)A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H

C.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’

2.DA2 DB‘AB’,‘CD’

MOV AX,WORD PTR DA2+1

上述语句执⾏后AX中的值是(D)

A.‘AD’B.‘BC’

C.‘DA’D.‘CB’

3.下列数据定义语句中可实现留空20H个字节存储单元的是(D)

A.DB 20 DUP(?) B.DW 20H DUP(?)

C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)

4.如某存储器分段时,表⽰偏移地址是17位⼆进制代码,那么⼀个段最多的存储单元数是(D)

A.32K字节B.32K字

C.64K字节D.64K字

5.下列寄存器中⽤来指⽰堆栈中任意数据区的偏移地址的是(B)A.BX B.BP

C.SI D.DI

6.下列指令中有语法错误的是(C)

A.PUSH AX B.PUSH [20H+SI+BX]

C.POP CS D.PUSH CS

7.执⾏PUSH BP指令时,⽬的操作数的物理地址表达式是(D)

A.16*SS+BP B.16*DS+BP

C.16*CS+IP D.16*SS+SP

8.把BL中的数据输出到端⼝8CH中正确指令是(C)

汇编语言程序设计习题

汇编语言程序设计习题

1.假设字节单元(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= C ,字单元(06926H)= D 。

a. 1245H

b. 4578H

c. 4512H

d. 7845H

2.逻辑运算指令都是按A进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是H。

a. 位

b. 字节

c. 字

d. BCD码

e. AND

f. OR

g. XOR

h. TEST

3.和指令AND AL,55 AND 0F0H 等效的指令是,和MOV BX,0FH EQ 1111B等效的指令是。

a. AND AL,55H

b. AND AL,0F5H

c. AND AL,50H

d. AND AL,0F0H

e. MOV BX,0000H

f. MOV BX,0FH

g. MOV BX,0FFH

h. MOV BX,0FFFFH

4.过程定义开始的伪指令是 C 。宏定义结束的伪指令是G 。

a. SEGMENT

b. MACRO

c. PROC

d. ASSUME

e. END

f. ENDS

g. ENDM

h. ENDP

5.将数据37H定义为字节变量X1的语句是 A,数据37H定义为字变量X2的语句是 D 。

a. X1 DB 37

b. X2 DB 37

c. X1 DW 37H

d. X2 DW 37H

e. X1 DB 37H g. X2 DB 37H

6.互换指令XCHG可以在两个寄存器之间互换数据,也可以在 A 与 C 之间互换数据。

a. 寄存器

b. 立即数

c. 存储单元

d. 堆栈

7.对程序流向的控制和转移,就是对执行指令地址的修改。如在同一段内偏移,则修改 A ,如在两个段之间转移,则修改 C 。

汇编语言程序设计试题和答案

汇编语言程序设计试题和答案

《汇编语言程序设计》试题

专业姓名成绩

一、单项选择题(每1分,共15分).

1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()

A.07FFH 3021D

B. 6FEH 1021D

C. 07FFH 2012D

D. 07FFH 2047D

2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在

指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( )

A. 127D

B.255D

C. 256D

D.128D

3. 设MYDAT是一个字变量,下列指令中,错误的是()

A.MOV BX,10100B

B.MOV DS,AX

C.ADD BX,[10100H]

D.MOV BX,MYDAT[SI]

4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,

(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()

A.5678H

B.4C2AH

C.2A4CH

D.7856H

5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节

( ),试用16进制数表示该机的地址范围()

A.1M 0~FFFFFH

B.64K 0~FFFFH

C.128K 0~FFFFH

D.128K –FFH~FFH

汇编语言程序设计课后习题答案

汇编语言程序设计课后习题答案

第四章汇编语言程序设计习题答案

一、单项选择题

1.C

2.B

3.C

4.C

5.C

6.A

7.A

8.C

9.B10. D

11.B12.B13.D14.C15.C16.A17.D18.D19.A20. C

21.B22.D23.D24. A

二、多项选择题

1.ABCEF

2.ACE

3.AC

4.ABCD

三、填空题

1.PARA

2.1,2,60,120, 1

3.SEGMENT,ENDS

4.1200

5.段内转移,段间转移

6.AH

7.过程,PROC,RET,NEAR,FAR

8.LEA BX,BUF

9.1, 4

10..0504H

11.ASM,EXE

12.立即寻址,直接寻址

四、判断题

××××V V V××V

五、程序分析题

1. 3

2.12H,3412H

3.46H,73H

4.(1) 从目的串中查找是否包含字符‘0’,若找到则停止,否则继续重复搜索。

(2) ZF=1, 说明已找到字符

ZF=0, 说明未找到字符

CX 0,说明中途已找到字符退出

CX=0,且ZF=0说明串中无字符‘0’

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

6.87H,81H

7.44AAH,44D5H

8.DEC CX,JNC,JZ

9.JNZ L2

10.ADC DX,0,CLC

11.AAS

12.STOSB

13.1,3,1,2, 2

14.(2000H)=39H (2001H)=00H

将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,

并存入(2000H)单元,0 (2001H)

15.A)2345H,6780H

汇编语言程序设计习题及答案

汇编语言程序设计习题及答案

汇编语言程序设计习题及参考答案

习题一

1.1把下列2、8、16进制数转换成为十进制数

(1)(1011011)2(2)(0.10110)2(3)(111111.01)2(4)(1000001.11)2(5)(377)8(6)(0.24)8(7)(3FF)16(8)(2A.4)16

解:(1)(1011011)2=64+16+8+2+1=91

另解:原式=(5B)16=5×16+11=91

(2)(0.10110)2=0.5+0.125+0.0625=0.6875

(3)(111111.01)2=32+16+8+4+2+1+0.25=63.25

另解:原式=(1000000-1+0.01)2=64-1+0.25=63.25

(4)(1000001.11)2=64+1+0.5+0.25=65.75

(5)(377)8=3×64+7×8+7=255

另解:原式=(400-1)8=4×64-1=255

(6)(0.24)8=2×0.125+4×0.015625=0.3125

(7)(3FF)16=3×256+15×16+15=1023

另解:原式=(400-1)16=4×256-1=1023

(8)(2A.4)16=2×16+10+4×0.0625=42.25

另解:原式=2×16+10+4÷16=42.25

1.2 把下列十进制数转换为2、16进制数

(1)(127)10(2)(33)10(3)(0.3)10(4)(0.625)10

(5)(1023.5)10(6)(377)10(7)(1/1024)10(8)(377/32)10解:(1)(127)10 =64+32+16+8+4+2+1= (111 1111)2=(7F)16

汇编语言程序设计练习题

汇编语言程序设计练习题

汇编语言程序设计练习题

1. 逆序输出字符串“BASED ADDRESSING”。

2. 从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。

3. 试编写一段程序,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字节单元UP中;找出小于42H的无符号数的个数并存入字节单元DOWN中。

4. 试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。

5. 编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。

6. 编写程序,将一个包含有20个数据的数组M分成2个数组:正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。

7. 试编写一段程序,求出首地址为DATA的100D字数组中的最小偶数,并把它存放在AX中。

8. 试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。

9. 试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。

10. 从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。

11.有一个首地址为mem的100个字的数组,试编制程序删除数组中所有为零的项,并将后续项向前压缩,最后将数组的剩余部分补上零。

12.从键盘上输入一串字符(用回车键结束,使用10号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案

一、单项选择题(每小题1分,共20分)

1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A)

A、85B92H

B、86192H

C、BB690H

D、12169H

2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

3、循环指令LOOPNZ终止循环的条件是(B)。

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX10,且ZF=0

D、CX10,或ZF=1

4、对寄存器AX的内容乘以4的正确指令序列是(B)。

A、SHR AX,1 /SHR AX,1

B、SHL AX,1/ SHL,AX,1

C、ROL AX,1 /ROL AX,1

D、RCR AX,1/ RCR AX,1

5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。

A、OF,AF,PF

B、OF,AF,CF

C、OF,PF,CF

D、AF,PF,CF

6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。

A、DH=10H CF=1

B、DH=0F0H CF=0

C、DH=10H CF=0

D、DH=0F0H CF=1

7、下列传送指令中有语法错误的是(A)。

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

8、下面指令执行后,改变AL寄存器内容的指令是(D)。

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,BL

D、AND AL,BL

汇编语言程序设计试题及答案

汇编语言程序设计试题及答案

《汇编语言程序设计》试题

专业姓名成绩

一、单项选择题(每1分,共15分).

1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()

A.07FFH 3021D

B. 6FEH 1021D

C. 07FFH 2012D

D. 07FFH 2047D

2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在

指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( )

A. 127D

B.255D

C. 256D

D.128D

3. 设MYDAT是一个字变量,下列指令中,错误的是()

A.MOV BX,10100B

B.MOV DS,AX

C.ADD BX,[10100H]

D.MOV BX,MYDAT[SI]

4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,

(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()

A.5678H

B.4C2AH

C.2A4CH

D.7856H

5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节

( ),试用16进制数表示该机的地址范围()

A.1M 0~FFFFFH

B.64K 0~FFFFH

C.128K 0~FFFFH

D.128K –FFH~FFH

《汇编语言程序设计》必考试题及答案

《汇编语言程序设计》必考试题及答案

《汇编语言程序设计》必考试题及答案

一、选择题

1. 汇编语言属于 ____。

A. 高级语言

B. 机器语言

C. 低级语言

D. 自然语言

答案:C. 低级语言

2. 在汇编语言中,寄存器eax主要用于 ____。

A. 存储返回值

B. 存储函数参数

C. 存储局部变量

D. 存储全局变量

答案:A. 存储返回值

3. 汇编语言中,jmp指令用于 ____。

A. 设置循环条件

B. 调用子程序

C. 跳转到指定地址

D. 返回主程序

答案:C. 跳转到指定地址

二、简答题

1. 请简述汇编语言与高级语言的区别。

汇编语言是一种低级语言,使用助记符来代表机器指令,每条汇编

指令对应一条机器指令。而高级语言更加抽象,采用更接近人类自然

语言的表达方式,通过编译器将高级语言编写的程序转换为机器语言。

2. 请列举汇编语言常用的寄存器及其作用。

汇编语言常用的寄存器包括:

- eax:主要用于存储返回值。

- ebx、ecx、edx:通用寄存器,用于暂存计算结果。

- esi、edi:源操作数寄存器和目的操作数寄存器,用于存储数据传

输时的源地址和目的地址。

- ebp、esp:用于管理函数调用过程中的栈帧。

- eip:指令指针寄存器,存储下一条将要执行的机器指令的地址。

三、编程题

请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。

```assembly

section .data

prompt db '请输入两个数,以空格分隔:', 0

result db '两数相加的结果为:%d', 0

section .bss

num1 resb 4

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

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。)

1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D)

A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H

C.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’

2.DA2 DB‘AB’,‘CD’

MOV AX,WORD PTR DA2+1

上述语句执行后AX中的值是(D)

A.‘AD’B.‘BC’

C.‘DA’D.‘CB’

3.下列数据定义语句中可实现留空20H个字节存储单元的是(D)

A.DB 20 DUP(?) B.DW 20H DUP(?)

C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?)

4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D)

A.32K字节B.32K字

C.64K字节D.64K字

5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BP

C.SI D.DI

6.下列指令中有语法错误的是(C)

A.PUSH AX B.PUSH [20H+SI+BX]

C.POP CS D.PUSH CS

7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D)

A.16*SS+BP B.16*DS+BP

C.16*CS+IP D.16*SS+SP

8.把BL中的数据输出到端口8CH中正确指令是(C)

A.OUT 8CH,BL B.IN 8CH,BL

C.MOV AL,BL D.MOV AL,BL

OUT 8CH,AL IN 8CH,AL

9.结果为零的条件转移指令,其测试条件是(A)

A.ZF=1 B.ZF=0

C.SF=l D.SF=0

10.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是

MOV CH,0

MOV CH,0FFH

ZERO:MOV DH,CH(C)

A.JNZ ZERO B.JS ZERO

C.JZ ZERO D.JC ZERO

11.汇编源程序时,出现语法错误的语句是(C)

A.MOV [BX+SI],BX B.MOV CL,[BP+DI]

C.MOV CS,AX D.MOV DS,AX

12.设SP初值为3050H,执行指令PUSH BX后,SP的值是(B)

A.304FH B.304EH

C.3048H D.3049H

13.串操作指令中,每次操作后使SI/DI为减量应设置(C)

A.DF=0 B.TF=1

C.DF=1 D.TF=0

14.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)A.AL=57H,BL=24H B.AL=33H,BL=24H

C.AL=57H,BL=33H D.AL=33H,BL=0

15. 当执行ADD AX ,BX 指令后,若AX的内容为4E52H 时,设置的奇偶标志位PF=0 ,下面的叙述正确的是( A)

A. 表示结果中含 1 的个数是奇数

B. 表示结果中含1 的个数是偶数

C. 表示该数是奇数

D. 表示结果中低8 位中含1 的个数是奇数

16. 设物理地址(21000H)=20H, (21001H)=30H,(21002H)=40H 。如从地址21001H 中取出一个字的内容是( D )

A.2030H

B.3040H

C.3020H

D.4030H

17. 转移指令JMP NEAR PTR PROCA的转移范围是( A)

A.8000H ~7FFFH

B.7FFFH ~0FFFH

C.80H ~7FH

D.0FH ~7FH

18. 没有语法错误的输入指令是( A)

A.IN AL ,30H

B.IN 30H,AL

C.IN DX ,AL

D.IN AL ,[BX ]

19. 设SP 的初值为1000H ,执行指令PUSH AX 后SP 的值是( C )

A.OFFFH

B.1001H

C.0FFEH

D.1002H

20. 设SP 的初值为1000H ,执行指令POP AX 后SP的值是( D )

A.OFFFH

B.1001H

C.0FFEH

D.1002H

21. 汇编语言源程序,可以是( D )

A. 可以直接由机器执行

B. 必须由编译程序生成目标程序才能执行

C. 必须由解释程序生成目标程序才能执行

D. 必须由汇编程序汇编成目标程序才能执行

22. 伪指令DA1 DB 04H DUP(3 DUP(2), 2 DUP(3)) 在数据区中能构成0203H 操作数共有( C )

A.07 个

B.04 个

C.03 个

D.02 个

23. 设AX=9ABCH ,DX=8765H

PUSH AX

PUSH DX

POP AX

POP DX

上述 4 条指令执行后,AX ,DX 中内容分别是( D )

A.AX=9ABCH DX=8765H

B.AX=9ABCH DX=9ABCH

C.AX=8765H DX=8765H

D.AX=8765H DX=9ABCH

24. 无条件转移指令JMP 实现段间间接转移,转移的目标地址在( B )

A. 某个字存储单元中

B. 某个双字存储单元中

C. 某个16 位通用寄存器中

D. 两个16 位通用寄存器中

25. 已知某操作数的物理地址是2117AH ,则它的段地址和偏移地址可能是( A) 。

A.2025 ∶0F2A

B.2108 ∶00EA

C.2000 ∶017A

D.2100 ∶117A

26. 某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( C ) 字节。

A.2K

B.4K

C.8K

D.16K

27. 以寄存器DI 间接寻址的存储器字节单元内容加1 的指令是( C ) 。

A.INC [DI ]

B.INC DI

C.INC BYTE PTR [DI ]

D.ADD [DI ],1

28. 有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1 ,0) ,2) 汇编后,为变量BUF 分配的存储单元字节数是( B ) 。

A.48H

B.90H

C.120

D.60

29. 下列指令执行后,不改变AL 寄存器内容的指令是( B ) 。

A.AND AL , 1

B.CMP AL ,DL

C.XOR AL ,AL

D.SUB AL ,DL

30. 将CX 寄存器低4 位清零的正确指令是( B ) 。

A.AND CX ,0F0H

B.AND CX ,0FFF0H

C.AND CX ,1110H

D.MOV CX ,0

31. 当堆栈为空时,如SS=0805H ,SP=40H ,栈底字单元的物理地址是(C)

A.08090H

B.08089H

C.0808EH

D.08450H

32. 执行POP BP 指令时,源操作数的物理地址表达式是(A)

A.16*SS+SP

B.16*SS+BP

33. 执行SUB AX ,[BP][DI] 指令,取源操作数时,使用的物理地址表达式是(A)

A.16*SS+BP+DI

B.16*ES+BP+DI

C.16*DS+BP+DI

D.16*CS+BP+DI

34.要输入端口1234H 中的8 位数据,其指令应是( B )

A.MOV DX,1234H

B.MOV DX ,1234H

OUT DX,AL 1N AL ,DX

C.1N AX ,1234H

D.OUT DX ,1234H 35.MOV AL ,79

ADD AL ,0B1H

上面指令执行后,设置的标志位CF 和OF 的值是( D )

相关文档
最新文档