文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言程序设计练习题及答案

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

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

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 )

A.CF=0 ,OF=0

B.CF=1 ,OF=1

C.CF=0 ,OF=1

D.CF=1 ,OF=0

36.下列指令执行后对源和目的操作数均无影响的是( D )

A.MOV [BX+2] ,AX

B.SUB AX ,2467H

C.SBB [SI] ,BX

D.CMP AX ,BX

37.设(SS )=338AH ,(SP)=450H ,执行PUSH BX ,和PUSHF 两条指令后,堆栈顶部的物理地址是(A)

A.33CECH

B.33CF2H

C.33CF4H

D.33CE8H

38.设(SP)=0028H ,执行段内返回指令RET后,SP的内容是( D )

A.0036H

B.0022H

C.0030H

D.002AH

39. 下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是(D)

A.AX ,BX ,CX ,DX

B.SP ,BP ,SI ,DI

C.CS ,ES ,DS ,SS

D.BX ,BP ,SI ,DI

40. 执行INC指令除对SF,ZF有影响外,还要影响的标志位为(A)

A. OF, AF, PF

B. OF, AF, CF

C. OF, PF, CF

D. AF, PF, CF

二、判断正误,若判断为错,请说明理由

1、MOV DS,0

错误,立即数不能直接传送给数据段寄存器

2、MOV AX,[SI][DI]

错误,SI和DI不能同时使用

3、MOV [BX],10H

错误,无法知道操作数的类型,即不知道是字节的还是字。

4、MOV AH, BX

错误,源操作数和目的操作数的类型不一样。

5、MOV [BX], [SI]

错误,源操作数不能同时为内存操作数

6. MOV CS, AX

错误,CS不能作目的操作数

7. POP CS

错误,CS不能作目的操作数

8 PUSH CS

正确

9. POP 1234H

错误,出栈的操作数不能为立即数。

10. MOV [BX][SI], 2

错误,无法知道操作数的类型,即不知道是字节的还是字。

11. MOV MYDA TA[BX][SI], ES:AX

错误,源操作数寻址错误

12. MOV BYTE PTR[BX], 1000

错误,源操作太大超过一个字节能表示的数范围

13. PUSHF AX

错误,源操作数默认为flag

14. POPF AX

错误,源操作数默认为flag

15. ADD V AR1, V AR2 (V AR1和V AR2为定义好的字变量)

错误,操作数必须有一个不是内存操作数

16. DIV 12

错误,操作数不知道是字节还是字。

17.POP BL

错误,目的操作数应该是字操作数

18.IN AL ,100H

错误,端口号超出255的范围。

三、填空题

1. 8086/8088 存贮器地址分段时,每个段起始地址的特征是___后四位二进制数为0__ 。

2. 假设执行前AX=7862H ,指令XOR AX ,AX (表示异或,各位相异为1)执行后AX 中的值是___0________ 。

3. ARRAY DB 0 ,2 DUP(1 ,2) ,0 ,3 汇编时生成的数据依次是_0,1,2,1,2,0,3__ 。

4. 在存取一个存储器操作数时,段地址必须由__段寄存器之一(_cs或者ds或者es或者ss)________ 提供。

5. 在8086/8088 系统中,存储器物理地址是分段组织的。堆栈段的段地址存放在__ss___ 寄存器中,栈顶数据的偏移地址放在_sp____ 寄存器中。代码段的段地址存放在__cs___ 寄存器中。偏移地址在__ip___ 寄存器中。

6. 有指令MOV CL ,N ,要使该指令合法,则N 的最大值是__127___ ,最小值是___-128_ 。( 用十进制数表示)

7. 已知DS=29A0H ,某数据的物理地址是2A400H ,则当DS=6700H 时,该数据的物理地址是__2A400H___ 。

8. 已知DS=4000H ,BX=0100H,SI=0004,(40100H)=28H,(40101H)=69H,(40104H)=10H, (40105H)=9AH, 先执行MOV AX ,[0100H ],AX=_6928H____ 再执行ADD AX ,[BX+SI ],AX=_0338H____ ,CF=__1___

9. 逻辑地址由___段地址和偏移地址________ 组成。

10、DB指令以_____字节___为单位分配存贮;DD指令以___双字___为单位分配存贮。

故如下数据定义:

V1 DB 4 DUP(2),2

COUNT EQU 10

V2 DD COUNT DUP(?)

为变量V1分配___5_个字节存贮;为变量V2分配_40___个字节存贮。

11、设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,

则(1)指令MOV AX,[BP+SI+2]的源操作数有效地址为_02E2H__,物理地址为__253E2H__ (2)指令MOV AX,[DI+100H]的源操作数有效地址为_0306H__,物理地址为_21706H___. 12.8086/8088CPU 允许最大的存储空间为1MB ,因此CPU 的地址总线是___20_根,13. 一个语句的名字项可以是标号或变量,在程序中它们两个在书写形式上的主要区别是___标号后面有冒号_____。

14. 内存0005CH处4个字节为D2,EF,00,F0,它是中断__类型号为23_的入口地址存放处,它表示该中断处理程序的起始地址为__F000______:__EFD2___。

15.若CS为3000H,则当前代码段可寻址存储空间是_30000~3FFFF___。

四、简答题

1.8086/8088的寻址方式有哪些(包括指令寻址和操作数寻址)?

答:立即数寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。

2.8086/8088指令的立即寻址方式的操作数存放在什么段内(代码段)?寄存器间接寻址方式[BX]的操作数在什么段内(数据段)? 寄存器间接寻址方式[BP]的操作数在什么段内(栈段)? [BX+SI] (数据段)、[BX+DI] (数据段)、[BX+SI+Idata] (数据段)、[BX+DI +Idata] (数据段)、[BP+SI] (栈段)、[BP+DI] (栈段)、[BP+SI+Idata] (栈段)、[BP+DI+Idata] (栈段)呢?

3.下列指令中,源操作数是什么寻址方式?操作数的物理地址如何表达? 目的操作数呢?

MOV AX,10H [DI] 源:寄存器相对寻址方式,PA=ds×10H+DI+10H;目的:寄存器寻址方式

MOV DX,[BX][SI] 源:基址变址寻址方式,PA=ds×10H+BX+SI;目的:寄存器寻址方式

4.下列语句在存储器中分别为变量分配多少个字节?

①AD1 DW 10H DUP(0),10H 34个字节

②AD2 DD 10H DUP(0) 64个字节

③AD3 DB 3 DUP(2 DUP (0)) 6个字节

5.简述8086CPU的中断响应过程.

答:6个步骤,见书上

6.设有数据定义如下:

ARRAY DW 1000H ,2000H ,3000H ,4000H ,5000H

BUF DW ?

要求完成:( 1 )用一条指令完成将ARRAY的偏移地址送BX ;

MOV BX, OFFSET ARRAY

( 2 )用一条指令完成将ARRAY的第一字节单元内容送AL ;

MOV AL,ARRAY

( 3 )用一条指令完成将ARRAY数组的长度(字节数)送CX 。

MOV CX, OFFSET BUF –OFFSET ARRAY

7.两个同符号的有符号数相减时,会发生溢出吗?为什么?

答:不会发生溢出。

8.设DS=2000H ,BX=1256H ,SI=528FH ,变量TABLE 的偏移地址是20A1H ,(232F7H )=3280H ,(264E5H )=2450H 。请写出下列无条件转移指令段内寻址方式中赋值给IP的值。

( 1 )JMP TABLE [BX] ;IP=____3280H_____ 。

( 2 )JMP [BX] [SI] ;IP=___2450H________

9. 什么是中断向量?什么是中断向量表?如何安装中断向量表?

10. 什么是端口?如何实现端口的读和写?

11.简述IRET指令的执行过程。

五、程序分析题

1. 设寄存器AX ,BX ,CX 中的内容都是1234H ,变量value 中的内容为0F0FH ,执行下列指令序列:

OR AX ,value

AND BX ,value

XOR CX ,value

则AX=_1F3FH____ ,BX=_0204H____,CX=_1D3BH____

2. MOV AL , 5

ADD AL ,AL

MOV BL ,AL

ADD AL ,AL

ADD AL ,BL

上述程序段执行后,AL=__1EH___ ,BL=__0AH___

程序段的功能用数学表达式表示_6*AL____

3. 有下列数据定义

V A DB 0FFH

VB DB 1,2

VC DW 3456H

执行下列指令序列:

MOV AX ,WORD PTR VB+1

MOV BL ,BYTE PTR VC+1

MOV CL ,VB -1

则AX=__5602H __ ,BL=_34H____,CL=__0FFH___

1.BUF1 DB -1,2,-3,4,-5,6,-7,8,-9

BUF2 DB 9 DUP(O)

XOR BL,BL ;(BL)=0

MOV SI,O ; (SI)=0

MOV CX,9 ; (CX)=9

LOP:MOV AL,BUF1[SI] ; (AL)=-1,2,-3,4,-5,6,-7,8,-9

TEST AL,80H ;

JZ K

INC BL ;(BL)=1,2,3,4,5

NEG AL ;(AL)=1,3,5,7,9

K:XOR AL,01H ; (AL)=0,3,2,5,4,7,6,9,8

MOV BUF2[SI],AL ; (BUF2[SI])=0,3,2,5,4,7,6,9,8

INC SI

LOOP LOP

……

①写出程序运行后BUF2各字节中的数据: 0,3,2,5,4,7,6,9,8

②BL=______5________

2.R1 DB 246 ;0F6H

XOR BH,BH ; (BH)=0

MOV AL,R1 ; (AL)=0F6H

MOV DL,10 ; (DL)=0AH

LOP:CMP AL,0 ;

JBE NEXT

MOV AH,0 ; (AH)=0

DIV DL ; (AH)=06H, (AL)=18H, (AH)=04H, (AL)=02H, (AH)=02H, (AL)=00H,

MOV BL,AH

PUSH BX ; 0006H, 0004H,0002H

JMP LOP

NEXT:……

上述程序段执行后共向堆栈压入_______3______个数,按压入的先后次序该数列为_____0006H, 0004H,0002H_________。

3. DA1 DB ′01234 ′

DA2 DB 5 DUP(0)

MOV SI ,0

MOV CX ,5

LOP :MOV AL ,DA1 [SI ]; 30H, 31H, 32H, 33H, 34H

ADD AL ,11H ; 41H, 42H, 43H, 44H, 45H

OR AL ,01H ; 41H, 43H, 43H, 45H, 45H

MOV DA2 [SI ],AL ; 41H, 43H, 43H, 45H, 45H

INC SI ; 1, 2, 3, 4, 5

LOOP LOP

试问:(1) 程序段执行后,写出DA2 各字节中的数据。(41H, 43H, 43H, 45H, 45H)

(2) 程序中MOV AL ,DA1 [SI ]指令的源操作数是什么寻址方式:寄存器相对寻址方式

4. 设AL 中高低 4 位分别有大于7 的数,

MOV AH ,AL; 1***1***

AND AH ,88H ;(AH)=88H

MOV AL ,AH ; (AL)=88H

OR AL ,11H ; (AL)=99H

程序段运行后,AH=__88H _______ ,AL=___99H______ 。

5. A T DB 0AH,0BH,0CH ,0DH ,0EH ,0FH ,00H

MOV BX,0

LOP:MOV DL ,A T [BX ]

CMP DL ,0

JZ DONE

ADD DL,37H

MOV AH , 2

INT 21H

INC BX

JMP LOP

DONE :……

①上述程序段执行后在屏幕上显示的内容依次是:

②执行后BX=___________ 。

6. DEC2 DB ′56 ′

XOR DI ,DI

MOV BL ,DEC2 [DI+1 ]

AND BL ,0FH

MOV AL ,DEC2 [DI ]

AND AL ,0FH

MOV DL ,10

MUL DL

ADD AL ,BL

上述程序段运行后,AL=_______ ,BL=________

7. 下面程序段是将BUFF 单元的绝对值送入DAR 单元,请将空白处各填上一条指令

BUFF DW ××××

DAR DW?

NEXT

8. NUM 和NUM+1 单元分别存有一个8 位无符号数,下面程序段将两数中大者送NUM 单元,小者送NUM+1 单元,请在方框处各填一条指令补充完整。

MOV AL ,NUM

DONE :……

六、编制程序题

1. 定义数据段DA TA_SEG ,数据段中的数据按下列要求依次存储:

(1) 第一个字节是整数5

(2) 变量BUF ,大小为25 个字节,初值为0

(3) 变量ARRAY,类型为字,初值为12H ,56H ,78H ,0AH

(4) 变量MSG 存储字符串’yes’

2. 试编写一个源程序实现两个64位二进制数相加,两个数分别存放在NUM1,NUM2双字单元中,相加结果存放在RESULT1(低字)和RESULT2(高字)中,数据段分配如下:

DA TA SEGMENT

NUM1DD X

NUM2DD Y

RESULT1DW0

RESULT2DB0

DA TA ENDS

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

汇编语言程序设计题目以及答案[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.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 (2) 1234+AFH=12E3H=4835 (3) ABCD-FEH=AACFH=43727 (4) 7AB×6FH=35325H=217893 1.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其

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

汇编语言程序设计参考答案 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个逻辑段组成: ①数据段:用来在内存中建立一个适当容量的工作区,以存放常数, 变量等程序需要对其进行操作的数据;

②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、 子程序调用时使用; ③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行 的具体操作。 19. DMA数据传送方式的特点是什么? DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。 20. 简述中断技术的优点。 ①CPU与外设可并行操作。 ②可对实时信息进行采集、处理和控制。 ③可对计算机出现的故障进行随机处理。 四、计算与分析(本大题共3小题,每小题5分,共15分) 21. 请将(158.625)10转为二进制。 结果:(10011110.101)2 22. 若一个程序段开始执行前,(CS)=33A0H,(IP)=0130H,则该程序段 启动执行指令的实际地址PA是多少? PA=(CS)×10H+(IP)=33A0H×10H+0130H=33B30H 23. 有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址 分别为00130H和00134H,试画出它们的存储示意图。

汇编语言程序设计复习(附答案完整版)

一、选择 1.下面指令执行后,改变AL寄存器内容的指令是(D)。 A.TEST AL,02H B.OR AL,AL C.CMP AL,BL D.AND AL,BL 2.对寄存器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 3.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A) A.85B92H B.86192H C.BB690H D.12169H 4.指令JMP FAR PTR DONE属于C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 5.将DX的内容除以2,正确的指令是 C A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1 6.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D)。 A.CMP B.SUB C.AND D.MOV 7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。 A.名字项 B.操作项 C.操作数项 D.注释项 8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B ) A. 14H B. 0104H C. 74H D. 04H 9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D ) A. MOV AX,89 B. MOV AX,0809 C. MOV AX,89H D. MOV AX,0809H 10.下列语句中能与“DA1 DB 32H,34H”语句等效的是(A ) A. MOV DA1,32H B. MOV DA1,32 C. MOV WORD PTR DA1,3234H D. MOV WORD PTR DA1,…24? MOV DA1+1,34H MOV DA1+1,34 11.使用DOS功能调用时,子程序的编号应放在寄存器中( A ) A. AH B. AL C. AX D. 任意指定 12.下列语句中能实现留空8个字节单元的语句是( D ) A. DA1 DT ? B.DA2 DW ?,? C. DA3 DD ? D.DA4 DQ ? 13.指令JMP FAR PTR DONE属于C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 14.下列叙述不正确的是B A. 在不改变堆栈段寄存器的情况下,堆栈大小为64KB B. 紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令 C. 中断服务程序的返回地址在堆栈中 D. 堆栈中数据存放的特点是先进后出

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

第一章微型计算机系统概述 1.3习题与综合练习 1.解释和区别下列名词术语 (1)微处理器(MP):具有中央处理器功能的大规模集成电路器件 微型计算机(MC) 微型计算机系统(MCS) (2)硬件:硬件是计算机系统的躯体,由控制器,运算器,存储器,输入设备,输出设备5大部分组成。 软件:软件是计算机的头脑和灵魂,可分为系统软件和应用软件。 (3)字节:8位二进制是一个字节。 字:16位二进制构成一个字。 字长:计算机的运算部件能同时处理的二进制数据的位数。 (4)指令指针:存放BIU要取的下一条指令的偏移地址。 指令寄存器: 指令译码器: 状态寄存器: (5)存储单元: 存储内容: 存储地址: 存储容量: (6)RAM: ROM: 软件固化: 2.冯·诺依曼计算机结构的特点是什么? (1)采用二进制数的形式表示数据和指令。 (2)将指令和数据存放在存储器中。 (3) 计算机硬件由控制器,运算器,存储器,输入设备和输出设备5大部分组成。 3.件数计算机系统中复杂指令集和精简指令集的特点和用途。 复杂指令集(CISC):在微型计算机的体系结构组成结构上是以复杂指令为设计的计算机,在指令的运行过程中按指令的复杂程度来指挥计算机完成各条指令,由于各条指令复杂程度不同分配的时钟周期各不相同,执行指令所需时间就不相同。CISC体系的指令集由微程序来实现,即每一个操作由若干微操作的程序组合来实现。所以CISC可以使用微指令编程的方式实现多种和功能复杂的指令。 精简指令系统(RISC):不管计算机的指令如何复杂,在一个计算机时钟周期内完成,计算速度快,指令集简单。每一条指令直接有硬布线实现,即它的每条指令原则上有自己的一套逻辑时序电路直接实现,所以单条指令的实现所占用的硬件资源较多。因为该体系没有能采用增加单条指令的功能或高位的指令语义,也没有增加指令的条数,而是集中于它的精简指令集上。 4.CPU是计算机系统中的重要部件,试说明CPU的结构和功能。 微处理器是计算机中最关键的部件,由控制器,运算器,寄存器组和辅助部件组成。 控制器是硬件系统的指挥部,负责从存储器中取出指令,分析指令,确定指令类型并对指令进行译码,按时间先后顺序负责向其他各部件发出控制信号,保证各部件协调工作。运算器是用来进行算术运算和逻辑运算的元件。寄存器组用来存放计算所需的各种操作数,地址

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

一、单项选择题(每小题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 9、执行除法指令后,影响的标志位是(D)。 A、CF,OF

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

汇编语言程序设计习题及答案 汇编语言程序设计习题及答案 汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。虽然在现 代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原 理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。本文将 介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编 程能力。 一、基础习题 1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。答案: ```assembly MOV AL, [地址] INC AL MOV [地址], AL ``` 2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄 存器中。 答案: ```assembly MOV CX, 数组长度 MOV BX, 数组首地址 MOV AX, 0

LOOP_START: ADD AX, [BX] ADD BX, 2 LOOP LOOP_START ``` 二、进阶习题 1. 编写一个汇编程序,实现字符串的逆序输出。答案: ```assembly MOV SI, 字符串首地址 MOV DI, 字符串尾地址 MOV CX, 字符串长度 DEC CX REVERSE: MOV AL, [SI] MOV AH, [DI] MOV [DI], AL MOV [SI], AH INC SI DEC DI LOOP REVERSE ```

2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。 答案: ```assembly MOV AX, 第一个数 MOV BX, 第二个数 MUL BX ``` 三、挑战习题 1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。 答案: ```assembly READ_INPUT: ; 读取用户输入 ; ... PARSE_INPUT: ; 解析用户输入,获取操作数和运算符 ; ... CALCULATE: ; 根据运算符进行相应的计算 ; ...

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

一、单项选择题 从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。 1.用来存放下一条将要执行的指令地址的寄存器是 (B ) A.SP B.IP C.BP D.CS 2.要使串处理从低地址向高地址进行,应把标志位置为 (D ) A.IF=1 B.TF=0 C.DF=1 D.DF=0 3.使状态标志位CF清零的错误指令是 (C ) A.OR AX,AX B.SUB AX,AX C.MOV CF,0 D.CLC 4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B ) A.SP=1112H B.SP=110EH C.SP=1111H D.SP=110FH 5.汇编源程序出现语法错误的指令有 (D ) A.MOV [BX+SI],AL B. MOV AX,[BP+DI] C.MOV DS,AX D. MOV CS,AX 6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D ) A.STOSW B.LODSW C.SCASW D.CMPSW 7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B ) A.SHR BL,1 B.SHL BL,1 C.SAR BL,1 D.RCR BL,1 8.执行PUSH AX指令的正确步骤是 (A ) A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-1 2.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1 C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+1 2.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+1 9.CF=1 时转移到目标地址的条件转移指令是 (B ) A.JNC B.JC C.JZ D.JS 10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C ) A.对正数求补时,CF=0 B.对负数求补时,CF=0 C.对非零数求补时,CF=1 D.对零求补时,CF=1 11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A ) A.目的操作数最高位为0 B.目的操作数最高位为1 C.目的操作数为任意情况 D.无论什么情况都不可能相同 12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D ) A.AX=0032H B.AX=00E0H C.AX=03E0H D.AX=0FFE0H 13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D ) A.MOV AX,BUFl*BUF2 B.MOV AX,BUF1/BUF2 C.MOV AX,BUF1+ES:BUF2

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答 徐, 第1章习题一 1.什么是程序存储工作方式? 答:计算机的工作方式——存储程序工作方式。即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。 2.采用数字化方法表示信息有哪些优点? 用数字化方法表示信息的优点: (1)抗干扰能力强, 可靠性高。 (2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。 (3)数字化的信息可以存储、信息传送也比较容易实现。 (4)可表示的信息类型与范围及其广泛,几乎没有限制。 (5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。 3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。 4.数字计算机的主要特点是什么? 1. (1)能在程序控制下自动连续地工作; (2|)运算速度快; (3)运算精度高; (4)具有很强的信息存储能力; (5)通用性强,应用领域及其广泛。 5.衡量计算机性能的基本指标有哪些? 答:衡量计算机性能的基本指标: (1)基本字长——参加一次运算的数的位数; (2)数据通路宽度——数据总线一次能并行传送的位数; (3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。 (4)主存储器容量——可用字节数或单元数(字数)×位数来表示。 (5)外存容量——常用字节数表示。 (6)配备的外围设备及其性能。 (7)系统软件配置。 7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。 系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。例如WINDOWS98操作系统,C语言编译程序等,数据库管理系统。 8.对源程序的处理有哪两种基本方式? 对源程序的处理通常有两种处理方式:解释方式和编译方式。 第2章习题二 1.将二进制数(101010.01)2 转换为十进制数及BCD码。 解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD 2.将八进制数(37.2)8转换为十进制数及BCD码. 解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD 3.将十六进制数(AC.E)转换为十进制数及BCD码. 解: (AC.E)16 =(172.875)10 = 0.1)BCD 4.将十进制数(7 5.34)10转换为8位二进制数及八进制数、十六进制数。

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

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

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

《汇编语言程序设计》必考试题及答案 一、选择题 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 num2 resb 4 section .text global _start _start: ; 输出提示信息 mov eax, 4 mov ebx, 1 mov ecx, prompt mov edx, 20 int 0x80 ; 输入第一个数

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

钱晓捷新版汇编语言程序设计习题答案 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。 1.17、举例说明CF和OF标志的差异。

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

4.1分析执行下列指令序列后的结果:1)MOVAX,1234H MOVBX,00FFH ANDAX,BX 【答】(AX)=0034H 2)MOVAL,0101B ANDAL,000111B;(AL)=000101B ORAL,11000B;(AL)=110101B XORAL,0011B;(AL)=11010B NOTAL 【答】(AL)=00101B 3)MOVDL,05H MOVAX,0A00H MOVDS,AX MOVSI,0H MOVCX,0FH AGAIN: INCSI CMP[SI],DL LOOPNE AGAIN HLT

本程序实现了什么功能? 【答】在以0A001H开始的15个单元中查找05H。 4)MOVAX,DSEGADDR MOVDS, AX MOVES,AX MOVSI, OFFSET B1ADDR MOVDI,OFFSET B2ADDR MOVCX,N CLD REPMOVSB HLT 本程序实现了什么功能? 【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。5)MOVAX, 0H MOVDS,AX MOVES, AX MOVAL,05H MOVDI,0A000H MOVCX,0FH CLD AGAIN:

SCASB LOOPNEAGAIN HLT 本程序实现了什么功能? 【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。 4.2阅读程序: 1).CLD LEADI,[0100H] MOVCX, 0080H XORAX, AX REPSTOSW 本程序实现了什么功能? 【答】将DS中起始地址为0100H的128个字节单元清零。 2).MOVAL, 08H SAL,01H;(AL)=000100H MOVBL, AL MOVCL ,02H SAL,CL;(AL)=01000H ADDAL,BL;(AL)=0100H 本程序实现了什么功能?

汇编语言程序设计试卷

汇编语言程序设计试卷 一. (共75 题,共150 分) 1.下列说法错误的是。(2 分) A.机器指令的形式包含操作码和地址码 B.计算机只能够识别规定好的机器指令 C.不同计算机系统之间的机器指令能够相互兼容 D.汇编语言的主要操作和机器指令基本上一一对应 ★检查答案标准答案:C 2.两个有符号数相减,通过标志位判断结果是否溢出。(2 分) A.ZF B.CF C.SF D.OF ★检查答案标准答案:D (2 分) 3.汇编语言和高级语言的比较,下列说法错误的是 A.汇编语言和高级语言都不能被机器直接识别 B.完成同样的功能,汇编语言占据空间小 C.高级语言可以使用变量,但汇编语言不行 D.汇编语言中有类似于高级语言的宏功能 ★检查答案标准答案:C 4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分) A.SP B.BP C.CS D.IP ★检查答案标准答案:D 5.下列寄存器,哪个不能作基址寄存器。(2 分) A.BX B.BP C.SI D.ESI ★检查答案标准答案:C 6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是 。(2 分) A.65B7H B.3412H C.4C2AH D.7856H ★检查答案标准答案:A

A.可以作立即寻址的操作数 B.也可作某些存贮器操作数的的位移量组成部分 C.在数据定义伪指令语句中给变量赋初值 D.可以作目的操作数 ★检查答案标准答案:D 8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为 。(2 分) A.0ABCD1234H B.0FFFFFFE3H C.000000E3H D.0ABCD12E3H ★检查答案标准答案:B (2 分) 9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。 A.(AX) =7FFCH,(OF)=1 ,(CF)=1 B.(AX) =17FFCH ,(OF)=1 ,(CF)=1 C.(AX) =7FFCH,(OF)=0 ,(CF)=1 D.(AX)= 17FFCH ,(OF)=0 ,(CF)=1 ★检查答案标准答案:C 10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。(2 分) A.DS B.ES C.CS D.SS ★检查答案标准答案:D 11.若(BX)= 0A2F4H,语句SAR BX, 2 执行后,(BX) = 。(2 分) A.0A2FH B.0E8BDH C.28DBH D.2F4AH ★检查答案标准答案:B 12.若(AX)=0FFFFH ,则指令XOR AX, 0AAAAH 执行后,(AX)= (2 分) A.0AAAAH B.5555H C.0FFFFH D.1111H ★检查答案标准答案:B 13.控制汇编程序应如何工作的约定符号称汇编控制命令,又称为。(2 分) A.条件跳转指令 B.机器指令 C.伪指令

汇编语言程序设计题库练习题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 B. SAR AX,1 C. ROR AX,1 D. RCR AX,1 10、DEC BYTE PTR[BX]中的操作数的数据类型是【 C 】 A. 字 B. 双字 C. 字节 D. 四字

汇编习题(含答案)汇编

第一章基本知识 一、单项选择题 1.若十进制数为13 2.75,则其十六进制数为( B ) A.21.3 B.84.C C.4.6 D.6 2.若[X]补=11111,则其十进制真值为(C ) A.-31 B.-15 C.-1 D.31 3.已知X=78,Y=-83则[X+Y]补=( C ) A.0F5H B.0A1H C.0FBH D.65H 4.已知[X]补=98H, 则[X]补/2=( A ) A.0CCH B.4CH C.49H D.31H 二、填空题 1.(35)10 = (23)16。 2.(15)10 = (1111)2。 3. 计算机的存储容量1KB = (1024)Byte。 4. 计算机的存储容量1MB = (1024)KB。 5. 计算机的存储容量1GB = (1024)MB。 第二章8086计算机组织 一、单项选择题 1.在微机系统中分析并控制指令执行的部件是( C ) A.寄存器 B.数据寄存器 C.CPU D.EU 2.在计算机的CPU中执行算术逻辑运算的部件是( A ) A.ALU B.PC C.AL D.AR 3.能被计算机直接识别的语言是( C ) A.C语言 B.汇编语言 C.机器语言 D.面向对象语言 4.8086/8088的存储器组织是将存储器划分为段,可作为段的起始地址的是( B )。A.185A2H B.00020H B.01004H D. 0AB568H 5.堆栈中当前出栈的存储单元地址是( A ) A.SS*10H+SP B.SS*10H+BP C.SS*10+SP D.SS*10+BP 6.标志寄存器中属于控制标志位的是(B ) A.DF,OF,SF B.DF,IF,TF C.OF,CF,PF D. AF, OF, SF 7.8086/8088存储器分段,每个段不超过( D ) A.64K个字 B.32K个字节

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

《汇编语言程序设计》试题 专业姓名成绩 一、单项选择题(每1分,共15分). 1 将下列二进制数0111,1111,1111 转换为16进制数和10进制数是() A.07FFH 3021D B. 6FEH 1021D C. 07FFH 2012D D. 07FFH 2047D 2.在IBM 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 6.如果在一个程序段开始执行之前,(cs)= 0A7F0H, (1P)= 2B40H,试问该程序段的第一个字的物理地址是() A.BAA40H B.AAB40H C.AAA40H D.0D603H 7.下列指令哪个是错误的(设OP1, OP2是已经用DB定义的变量名)() A.CMP BL,OP1 B.MOV [BX],111001B C. INC OP2 D.SAR AX,CL 8.假定(DX)=10111001B, (CL)=05, (CF)=1 试确定:RCL DL, CL 指令执行后,DX中的值是() A.00CEH B.009DH C.00B9H D.003BH 9.有符号定义语句如下: BUFF DB 1,2,3,‘123’ EBUFF DB 0 L EQU EBUFF - BUFF 问L的值为多少() A.6D B.7D C.3D D.5D. 10.IBMPC机中下列那些寄存器可以用来存储存储器地址()

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

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

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 另解:原式=(128-1)10=(1000 0000-1)2=(111 1111)2=(7F)16 (2)(33)10=32+1= (10 0001)2=(21)16 (3)(0.3)10 = (0.0100 1100 1……)2=(0.4CCC……)16 (4)(0.625)10= 0.5+0.125=(0.101)2=(0.A)16 (5)(1023.5)10 = 512+256+128+64+32+16+8+4+2+1+0.5 =(11 1111 1111.1)2=(3FF.8)16 (6)(377)10 =256+64+32+16+8+1=(1 0111 1001)2=(179)16 (7)(1/1024)10=(0.0000 0000 01)2=(0.004)16 (8)(377/32)10=(256+64+32+16+8+1)÷(32)= (101111001)2÷(100000)2 =(1011.11001)2=(0B.C1)16 1.3 把下列二进制数转换为十六进制数 (1)(100011)2(2)(0.11101)2(3)(11111.11)2(4)(0.00101)2解:(1)(100011)2=(10‟0011)2=23H (2)(0.11101)2=(0.1110‟1000)2=0.E8H (3)(11111.11)2=(1‟1111.1100)2=1F.CH (4)(0.00101)2=(0.0010‟1000)2=0.28H 1.4 把下列十六进制数转换为二进制数 (1)(3B6)16(2)(100)16(3)(80.2)16(4)(2FF.A)16解:(1)(3B6)16=(0011 1011 0110)2 (2)(100)16=(0001 0000 0000)2 (3)(80.2)16=(1000 0000.0010)2 (4)(2FF.A)16 =(0010 1111 1111.1010)2

相关文档
相关文档 最新文档