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

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案

一、选择( 30 题)

1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。

B、00000001

2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现

( C )

C、占内存空间大,但速度快

3.数据定义为:EE DB 3 , 4

CC DW 3456H , 6789H

执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B )

B、5604H

4.有如下指令序列:

MOV AL, 95H

MOV CL, 2

SAR AL , CL

上述指令序列执行后,AL的内容是(D )

D、0E5H

5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )

D、 A

6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )

D、LEA AX, [BX][SI]

7 .要从端口 1234H中读入8位数据,其指令应是( C )

C、MOV DX, 1234H

IN AL , DX

&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )

B、CX^ 0 且 ZF=0

9. 8088/8086 存储器分段,每个段不超过( D )

D、64K 个字节

10.表示过程定义结束的伪指令是( A )

A、ENDP

11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D )

D 、CS

12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D )

D、100FFH

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

A、16*SS+BP+DI

14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C )

C、0C290H

15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行

后的结果是:( B )

B、SI=1234H

16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A )

A 、 JNE

17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C )

C 、 34H

18.在程序执行过程中, IP 寄存器中始终保存的是( B )

B 、下一条指令的首地址

19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A )

A、2002H

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

A、1400H

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

A、MOV DS, 1200H

22 •将数据1234H存放在存储单元中的伪指令是( C )

C 、 DATA1 DB 34H, 12H

23 .下面指令执行后,可能改变AL寄存器内容的指令是( D )

D 、AND AL, BL

B、寄存器间接寻址

25 •用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )

B、汇编语言程序

26 .用DOS功能调用时,子功能调用的编号应放在( C )

C、AH

27 .提供串指令中目的操作数地址的是( C )

C、ES: [DI]

28 .在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )

B、BX BP, SI , DI

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

A、2025 : 0F2A

30 .中断向量表中的每个中断向量所占内存空间为:(B )

B、4个字节

、填空(30题)

1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS中。

参见P40

2 .与指令“ NEG AX”功能等效的两条指令依次是NOT AX和INC AX。

参见 P85、94、84

3 .语句“ VAR DB 3 DUP ( 3, 3 DUP ( 3))”经过汇编后应分配12 个字节单元。

参见P58

4 .指令“ MOV AX, SEG VAR'的执行,是把变量VAR的段地址送到AX中。

参见P62

5 .设(DS =1000H, (ES) =2000H, (SS) =3000H, (BP) =4000H。

计算下列各指令中源操作数的物理地址:

MOV AX [1000H] 物理地址 11000H __________

MOV AX ES: [BP] 物理地址 24000H __________

参见P29

6 .变量和标号均具有三种属性,即: 段属性偏移属性类型属性

放在寄存器DI中,并且目的串必须在附加段中,执行串处理指令时,用方向标

SI ____ 中,目的串首地址存

参见P31、32

三、判断题(15题)

1 . SHL AL, 2

2. INC 2

3. ADD BX 1 214 ,当把它

参见P56 59

7 •在做乘法运算时,如果是做字运算,乘积放在DX 和AX_两个寄存器中,做除法

运算时,若做字节运算,余数放在AH中,商放在 AL中。

参见P86、87

&用以访问存储器操作的地址表达式中,只要出现BP寄存器,系统就默认以段寄存器SS的内容作为存储器操作数的段地址。

参见P40H 44

9 •在数据段或代码段的最开始,常用伪指令“ ORG n”来定义本段的偏移地址初值,该

初值的范围是 OOOOH ~FFFFH

参见P66 28

10 •指令“ CWD能实现对某寄存器中内容进行扩展,该寄存器是:AX

参见P89

11. 8088/8086CPU能寻址的最大存储空间为1MB因此CPU的地址总线是 J0_条。

参见P28

12 .在应用串处理指令 MOVS时,源串首地址存放在寄存器

志位DF控制地址自动增减,数据串的长度存放在寄存器CX中。

参见 P125 126

13 .程序状态字 PSW中的ZF位,当结果为0时,ZF= _________ ,结果为1时,ZF=_0

参见P33

14•十六进制数0D6H当把它看作无符号数时,它表示的十进制正数为看作带符号数时,它表示的十进制负数为-42 。

参见P22、23

15 . IBM PC机中用来存放段地址的段寄存器有四个:CS、DS、SS 、ES

(错)参见P95 2 改为CL

(错)参见P84、83 不能用立即数

(对)参见P83

4. MOV [SI][DI] , BX ( 对 ) 参见 P 44

5. SUB BX CL ( 错 ) 参见 P 84 BX 与CL 数据宽度不一 1

6. OUT34H AL ( 对 ) 参见 P 170

7. IN AL , 0AH ( 对 ) 参见 P 169

8. MOV CX [SP] ( 错 ) 参见 P 42 SP 不能做间址寄存器 9. MUL AL ( 对 ) 参见 P 86、 87

10 .SUB BX, BP

( 对

) 参见 P 84

11

.MOV DS SEG VARY

( 错 )

参见 P62、46 SEG VARY 是立即数, 而 DS 不能接受立即数

12

.MOV VARY[SI] , ES: BL

(

错 )

参见P40 对寄存器不能使用段跨越前缀

13 .CMP BLOCK [100H]

(

错 )

参见P85不能对两个内存单元直接进行比较

14 .宏调用时实元和哑元的个数可以不一致

改。

( 对 )参见P161 15 .REP STOSB

(

对 )参见P127

四、写程序段(9题)

1.计算8*9,并将乘积送 SI 。

(参见P87,例5.10,考查对乘法指令的掌握情况) mov al,8

mov bl,9 mul bl mov si,ax

2 •计算35/6,商存于BL 中,余数存于 CL 中。

(参见P88,例5.13,考查对乘法指令的掌握情况) mov ax,35 mov bl,6 div bl mov cl,ah

3 .输入一个字母,然后输出它的后继字母(不考虑输入字母是 Z 的情况)。

(参见P102第6题及P186,考查对1号、2号功能调用的掌握) mov ah,O1h int 21h inc al

mov dl,al

mov ah,02h

int 21h

4•从端口 35H读入一个字节数据,将该数的第3位置1后(其余位不变),再写回端口35H。(说明:最低位为第 0位)

(参见P178,第2道问答题,考查对I/O指令的掌握)

in al,35h

or al,08h

out 35h,al

5 •定义数据段 NUM数据段中的数据按下列要求依次存储:

(1)变量X,类型为字节,初值为 17 ;

(2)数组变量M,类型为字,所占空间为 100H个单元;

(3)变量 MSG存储字符串"LUCKY"。

(参见P79,问答题的第2小题及P181,考查对段定义伪操作的掌握)

NUM segment

X db 17

M dw 100h dup(?)

MSG db ‘LUCKY'

NUM ends

6•寄存器BX中存放着一个带符号数,求出其绝对值,结果还放在BX中。

(参见P107,例6.3,考查对 CMP NEG指令的掌握)

cmp bx,0

jg L1

neg bx

L1:…

7 •对存放在(DX , AX )中的双字数据作求补运算。

(参见P83,例5.2及P85,例5.7,考查对双精度数的操作)

not dx

not ax

add ax,1

adc dx,0

&计算5!,结果存于寄存器 SI中。

(参见P107,例6.4,考查对循环指令的掌握)

mov cx,5

mov al,1

mov bl,1

L1:mul bl

inc bl

loop L1

mov si,ax

9 .定义一个名字为 ADDXYZ的宏,实现 W X+Y+Z。(注:所有数据均为字类型)

(参见P166,编程题第4题及P201,考查对宏定义的掌握)

ADDXYZ MACRO X,Y,Z,W

mov ax,x

add ax,y

add ax,z

mov w,ax

endm

五、写程序(9题)

1•从键盘输入一个字符串(长度不超过30),统计字符串中非数字的个数,并将统计的结果存入字单元COUNTS,用EXE格式实现。

(参见P152〜P154,考查字符数组、比较指令、循环等)

data segme nt

str db 30,?,30 dup⑺count db 0

data ends

code segme nt

assume cs:code,ds:data mai n proc far

star

t: push ds

mov ax,0

push ax

mov ax,data

mov ds,ax

lea dx,str

mov ah,0ah

int 21h

mov

cl,str+1

mov ch,0

mov si,2

L3

: cmp

str[si],30h

jae L1

inc count

jmp L2

L1:

cmp

str[si],39h

jbe L2

inc count L2

: inc

si

loop L3

ret

main endp code ends

end

start

2 •统计一个16位二进制数中1的个数,并将结果输出,用COM格式实现。

(参见P119,考查COM格式文件、移位指令、跳转指令)

code segme nt

org 100h assume cs:code

main proc n ear start:

mov bx,0a39h mov si,0

mov cx,16

n ext:

shr bx,1

jnc 11

inc si

11:

loop n ext

mov dx,si add

dx,30h cmp

dl,3ah jb 12

add dl,7

l2:

mov ah,02h

int 21h

mov ax,4c00h

int 21h

main endp code ends end start

3 •从键盘输入两个一位十进制数,求它们的和,并将结果以十进制形式输出。

(只考虑和小于10的情况)

(参见P156第6题及P200,考查1号功能调用、2号功能调用、字符的输出)

code segme nt assume cs:code main proc far start:

push ds mov ax,0 push ax mov ah,01 int 21h mov bl,al mov ah,01

int 21h

mov bh,al sub

bx,3030h add

bl,bh mov

dl,bl add

dl,30h mov

ah,02 int 21h

ret

main endp code ends end start

4 •从键盘输入一个十进制个位数,在屏幕上显示相应数量的该数。

例如,输入3,屏幕上将显示“ 333”。

(参见P123第6题及P193,考查1号功能调用、字符如何变成数值、LOOP旨令)

code segme nt assume cs:code main proc far push ds mov ax,0 push ax mov

ah,01h int

21h

mov

bl,al

sub al,30h

cbw

mov cx,ax

L1:

mov ah,02h

mov dl,bl

int 21h

5 .求100以内所有奇数的和,存于字变量

(参见P143,例8.6,考查循环指令)data segme nt

x dw ?

data ends

code segme nt

assume cs:code,ds:data

mai n proc far

sta比

push ds

mov ax,0

push ax

mov ax,data

mov ds,ax

loop L1

ret

main endp

code ends

end mai n X中。

mov ax,0

mov bx,1

mov cx,50

L1:add ax,bx

add bx,2

loop L1 mov

x,ax ret

main endp

code ends end

start

6 •将BX中的数以二进制形式在屏幕上显示出来。

(参见P123第2题及P189,考查移位指令、跳转指令、数值的输出、2号功能调用)

code segme nt

assume cs:code

main proc far start:

mov bx,1234h

mov cx,16

L1: mov dl,30h

shl bx,1 jnc

L2 inc dl L2: mov ah,02h int 21h

loop L1 mov

ax,4c00h int

21h

main endp code ends end start

7 •字节数组X中存放着0~F共16个十六进制数,请将这些数以十六进制形式显示在屏幕上。

(参见P115,例6.9,考查对数组的使用、数值的输出、2号功能调用、循环指令)

data segme nt db

int 21h inc si loop L1 mov ax,4c00h int 21h main endp code ends end start

&从包含10个无符号数的字节数组

array 数以十进制形式显示出来。

(参见P123,第3题及P190〜191, 指令、数值的输出) data segme nt

array db 45,67,75,82,90,29,80,26,63,59 min db ? data ends

stack segme nt stack dw 10 dup ⑺ stack ends code segme nt

assume cs:code,ds:data,ss:stack mai n proc far start:

mov ax,data mov ds,ax mov cx,10 mov al,255 mov si,0 mov di,0 L1: cmp al,array[si] jbe L2

0,1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh data ends code segme nt

assume cs:code,ds:data main proc far start:

mov ax,data mov ds,ax mov cx,16 mov si,0 L1: mov dl,x[si] add dl,30h cmp dl,39h jbe L2 add dl,7 L2:mov ah,02h

中选出最小的一个数存于变量

MIN 中,并将该

考查对数组的使用、循环指令、比较指令、除

mov al,array[si] L2: inc si

loop L1 mov mi n,al mov ah,0 mov cx,3

L3: mov bl,10 div bl

mov dl,ah push dx inc di mov ah,0 cmp ax,0 jz L4 loop L3

L4: mov cx,di L5:pop dx add dl,30h

mov ah,02h int 21h

loop L5

mov ax,4c00h int 21h

main endp code ends end start

9 .设在起始地址为STRING的存储空间存放了一个字符串,统计字符串中字符数,

并将结果存放到 RESULT字节单元中。

(参见P134第5题及P196,考查串处理指令、比较指令)

A”的个

data segme nt

stri ng db 'assembly' len dw $-stri ng

result db 0

data ends code segme nt assume cs:code,ds:data main proc far

start:

mov ax,data

mov ds,ax

mov cx,le n

lea si,stri ng

L1:lodsb

cmp al,'a'

jnz L2 inc

result

L2: loop L1 mov

ax,4c00h int

21h

main endp

code ends

end start

郑州大学网络教育汇编语言程序设计9090期末考试复习题及参考答案

课题名称:课题代码 汇编语言程序设计 9090 单选题: 1、的指令系统中有一条“AND”指令,它的功能是_______。逻辑求与 2、对数值83A7H作逻辑非运算后的结果是______。7C58H 3、汇编语言程序定义符号常量max等于100,正确的表达是___。 max = 100 4、指令“CALL BX”采用了指令的__________方式。寄存器间接寻址 5、处理器也称为__________。中央处理器 6、两个有符号整数比较,在大于情况下发生跳转,判断条件的转移指令是 ______。JG 7、ADD求和指令的结果最高位为1,则SF=__________。1 8、8086处理器调用中断服务程序的指令是__________。INT n 9、在DOS/Windows操作系统中,汇编语言源程序文件通常采用______作为扩展名。ASM 10、指令“TEST DX, [BX]”的目的操作数和源操作数分别采用__________寻址方式。寄存器和寄存器间接 11、汇编语言用DB等定义了一个变量,如果在指令中要获取其偏移地址,关键字是__________。offset 12、MASM中,实现段间转移的转移类型属性是______。FAR 13、用8位二进制补码表达真值“-7”,其编码是_________。11111001 14、采用2的补码形式表示时,定点8位字长的字能表示的整数范围是 ______。-128~127 15、指令“mov ax,2010”的目的操作数采用__________寻址方式。寄存器 16、子程序结束通常采用___________指令返回主程序。RET 17、对于采用DB伪指令定义的变量具有的类型属性是______。BYTE 18、位补码F3H要扩展成16位补码应该是__________,这样其真值才不变。FFF3H 19、堆栈的操作原则可以描述为_____________。先进后出 20、“mov ax,3456h”指令是一个__________量传送。字(16位) 21、两个无符号整数比较,在大于情况下发生跳转,判断条件的转移指令是 ______。JA 22、能将AL最低位移入CF标志位的指令是________。shr al, 1 23、如下符号_____________不是MASM支持的关键字。Done 24、指令_______实现对AX当中D15和D0位设置为1,其他位不变的 功能。or ax,8001h 25、已知字变量BUFFER内容等于1234H,保存于主存数据段偏移地址为5678H 位置,执行指令“MOV AX, BUFFER”后,AX=___________。1234H 26、伪指令DW定义的是______量的变量。字 27、8位补码10010100算术右移一位后,其结果为________。11001010 28、在8086处理器中,用来指示当前堆栈顶部的寄存器是___________。SP

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

《汇编语言程序设计》复习题 一、填空题 1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。 2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。 3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。 4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。 5、根据功能不同,8086的标志位可分为状态标志和控制标志。 6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。 7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。 8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。 9、计算机的指令由操作码和地址码两部分组成。 10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。 11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。 12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、 ▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。 13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。 14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。 15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。其中代码 段是源程序中必不可少的,其它的段可有可无。 16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令; NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。数据定义伪指令为 DB 、 DW 、 DD 。 17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功 能号至AH ;(3)软中断指令INT 。 18. 常用的DOS功能调用中的1号功能调用完成带显示的键盘输入操作,2号功 能调用完成单字符显示。 19. DOS功能调用可分为磁盘的读/写控制、内存管理、文件操作和目录管 理、基本输入/输出(对键盘、打印机和显示器等)控制、日期管理 和时间管理五类。 20.一般称SP为堆栈指针寄存器,称AX为累加寄存器。 21.汇编程序一般采用二次扫描完成对源程序的汇编任务。每一遍扫描都 在遇到伪指令 END 时结束。 22、指出下列指令源操作数的寻址方式: MOV AX,ARRAY[SI] 变址寻址 MOV AX,ES:[BX] 寄存器间接寻址 MOV AX,[200H] 直接寻址 MOV AX,[BX+DI] 基址变址寻址 MOV AX,BX 寄存器寻址 MOV AX,1200H 立即寻址

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

一、选择 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. 堆栈中数据存放的特点是先进后出

汇编语言期末试题及答案A

第 1 页 共 2 页 《汇编语言》期末试题(A 卷) 计算机科学技术、网络工程专业 一、单选题(每小题2 分,共30 分) 1.用DEBUG 调试汇编语言程序时,显示数据的地址是5000:0400,此时数 据的物理地址是( ) A.50400H B.5040H C.54000H D.5400H 2.设ES=1100H ,(12000H)=90H ,(12001H)=20H ,(12002H)=30H ,执行MOV BX,ES :[1000H ]则BX=( ) A.90H B. 2090H C. 9020H D. 3020H 3.8086中下列四条指令中错误的是( ) A.MUL AX, BL B.MOV AX, [DI ] C.DEC AX D.ADD AL,[SI ] 4. 指令ADD AL ,[BX+SI]中源操作数是( )寻址方式。 A. 寄存器 B.直接 C. 基址变址 D. 相对基址变址 5.指令MOV AX ,0A5B6H MOV CL ,4 ROL AX ,CL 执行后,AX=( ) A.0A5B6H B.0B6A5H C.00A5H D.5B6AH 6.当执行指令CMP AX ,BX 后,若ZF =1,下面的叙述正确的是( )。 A 表示AX 和BX 内容不相同 B 表示AX 和BX 内容相同 C 表示AX 内容大于BX D 表示AX 内容小于BX 7.定义宏的伪指令是( ) A.PROC 和ENDP B.SEGMENT 和ENDS C.EQU 和END D.MACRO 和ENDM 8. 完成同指令LEA AX,BUF 相同功能的指令是( ) A. MOV AX, BUF B. LDS AX,BUF C. MOV AX,SEG BUF D. MOV AX,OFFSET BUF 9. 循环指令LOOP NEXT,终止循环操作的条件是( ) A. CX=0且ZF=0 B. CX=0 C. CX=0 且ZF=1 D. CX=0 或ZF=1 10.有数据定义NUM DB 2 DUP ( 1,2,3,4,5) ,NUM 占有( )字节存储单元。 A.4 B.5 C.6 D.10 11.在8086/8088系统中,用于确定堆栈栈顶地址的寄存器有( ) A.CS:IP B.SS:SP C.DS:SI D.DS:DI 12. IN AX, 20H 指令中的20H 是( )。 A.I/O 端口地址 B.立即数 C.寄存器 D.存储器操作数 13.在程序中定义缓冲区BUF 为10个字存储空间的语句是( ) A.BUF DD 10 B.BUF DB 10 C.BUF DW 10 DUP (?) D.BUF DB 10 DUP (?) 14. 子程序的返回指令是( )。 A.RETU B.RETURN C.RET D. IRET 15. 执行指令BUF DW 10 DUP (?) MOV AX,SIZE BUF 后,AX 的值为( ) A.1 B.10 C.2 D.20 二、判断题(每小题 1 分,共10分) 1.调用子程序用CALL 指令 。 ( ) 2.指令MOV CX,20执行后,CX 的内容为0014H 。 ( ) 3.JZ NEXT 判断的条件是ZF=0。 ( ) 4.指令ADC AX ,[BX+SI+4]源操作数寻址方式是寄存器间接寻址方式。 ( ) 5. REP MOVSW 重复的条件是CX 不等于0 ( ) 6. JNC NEXT 判断的条件是CF=0 ( ) 7. IMUL BL 表示BL 和AL 的内容相乘,结果存在AX 中 ( ) 8. 执行指令DIV DL 后 ,商在AL 中,余数在DL 中. ( ) 9. MOV BX ,-1执行后,BX 的内容为0FFFFH 。 ( ) 10.指令序列mov ah,2 mov dl,‘A ’ int 21H 执行后,输出字符‘a ’( ) 三、 程序分析题(每小题5 分,共 20 分) 1.程序段如下: A D B 19 B DB 10 C DB 5 …. mov al,A sub al,B mov bl,C cbw idiv bl 该程序段执行后,AL=______) AH=_______ BL=_______,OF= ,CF= 2 程序如下: Mes db 13,10‘china bejing ’,’$’ … MOV AX,SEG Mes1 MOV DS,AX LEA DX, Mes CALL STRP … STRP PROC NEAR MOV AH,9 INT 21H RET STRP ENDP 子程序的的功能为 程序输出结果为 3程序如下: buf DB 1,3,5,7,9 len EQU $-buf SUM DB ? ... MOV CX,len LEA SI,Buf MOV AL,0 NEXT: ADD AL,[SI] INC SI LOOP NEXT MOV SUM,AL 执行后 (AL)= (CX)= (SI)= (SUM)= 程序段的功能是 4.MOV AX, 1020h MOV BX, 1010h SUB AX, BX JC L1 JZ L2 JMP L3 上述程序执行后AX=_____,BX=_____,CF= , ZF= 程序转向_____

中国石油大学《汇编语言程序设计》复习题及答案

《汇编语言程序设计》期末复习题及答案 一、选择(30题) 1.下列是8位带符号二进制数的补码,其中最大的是( B )。 A、10001000 B、00000001 C、00000000 D、11111111 2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现。 ( C ) A、占内存空间小,但速度慢 B、占内存空间相同,速度快 C、占内存空间大,但速度快 D、占内存空间相同,速度慢 3.数据定义为:EE DB 3,4 CC DW 3456H,6789H 执行指令“MOV CX,WORD PTR EE+1”后,(CX)= ( B ) A、0304H B、5604H C、3404H D、3456H 4.有如下指令序列: MOV AL,95H MOV CL,2 SAR AL,CL 上述指令序列执行后,AL的内容是( D ) A、05H B、25H C、24H D、0E5H 5.设A=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( D )。 A、A>B>C B、 A

汇编语言程序设计期末复习题

汇编语言程序设计复习题 一、选择题 1.下面的数值表示中,和127相等的是哪一个(D) (A)11111111B (B)127H (C)80H (D)7FH 2.如果(AL)=35H,执行AND AL,0FFH指令后,CF=(A);CF为进位位 (A)0 (B)1 (C)2 (D)和执行AND AL,0指令前的取值保持一致 3.如果(SP)=30H,执行PUSH BX指令后,(SP)=(B);S P←SP-2 (A)28H (B)2EH (C)32H (D)31H 4.如果(AL)=01111111B,执行INC AL指令后,CF=(D) (A)1 (B)0 (C)2 (D)和执行INC AL指令之前的取值保持一致 5.LOOP指令隐含使用并用作循环记数器的是哪一个寄存器(A) (A)CX (B)BX (C)AL D)SI 6.在DEBUG中,T命令的功能是(C) (A)观察某内存单元的当前内容(B)连续运行被调试的程序 (C)单步执行下一条指令(D)修改指定寄存器的内容 7.如果当前(BL)=57H,执行指令ADD BL,0F0H后,OF标志位的取值为(B);P25 (A)1 (B)0 (C)不确定(D)与执行该指令前的取值保持一致 (注:若两个操作数的符号相同,而结果的符号与之相反时OF=1,其他情况OF=0) 8.如果(AL)=01100011B,(AH)=00100010B,执行ADD AL,AH指令后, 正确的结果为(B ) (A)(AL)=01100011B,CF=0 (B)(AL)=10000101B,CF=0 (C)(AL)=00100101B,CF=1 (D)(AL)=10000101B,CF=1 9.条件转移指令的最大转移范围为(B);规定见P126 (A)没有转移范围的限制(B)-128到127个字节 (C)-32768到32767个字节(D)0到255个字节 10.如果(AL)=0DH,执行SUB AL,80H 指令后,正确的结果为哪一个(A) (A)(AL)=8DH,OF=1 (B)(AL)=0DH,OF=0

汇编语言期末考试复习题及参考答案-专科

《汇编语言》复习题 一、填空题 1、26.25D= B= O= H 2、-56D的原码为 B,反码为 B,补码为 B。 3、0C51H的反码为 B,补码为 B。 4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。 5、若(CS)=0100H,(IP)=1051H,则当前指令的物理地址为。 6、设(BX)=1000H,(DI)=0010H,(DS)=2100H,在指令MOV AX,[BX+DI] 中,源操作数的寻址方式为;物理地址为。7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。写出下列 指令单独执行后的结果。 (1)MOV AX,BUF (AX)= (2)LEA AX,BUF (AX)= 8、子程序的参数传递方法包括、、。 9、实模式下存储器的20位物理地址由加形 成。 10、25= B= O= H 11、32D的原码为 B,反码为 B,补码为 B。 12、十进制数15的压缩BCD码为;非压缩BCD码为。 13、8086CPU可以直接寻址的内存空间大小为,程序员在编程时需要把存 储器分段,每段的大小不能超过。 14、设DI=0100H,DS=3000H,在指令MOV CX,[100+DI]中,源操作数的寻址 方式为;物理地址为。 15、汇编语言源程序有三种基本结构形式:顺序结构、和。 16、从功能上,8086CPU分为和两部分。 17、直接输入/输出指令的最大端口号是,间接输入/输出指令的端口 号必须送寄存器。 18、DIV BX指令执行后,余数在中,商在中。

二、选择题 1、下列通用数据传送指令的几种传送中,错误的传送方式是( )。 A、从累加器到存储器 B、立即数到存储器 C、从寄存器到存储器 D、从存储器到存储器 2、使进位位置1的指令是( )。 A、CLC B、CMC C、STC D、NOP 3、设AL,BL中都是有符号数,当AL<=BL时转至NEXT处,在CMP AL,BL指令后,应选用正确的条件转移指令是( )。 A、JBE B、JNG C、JNA D、JNLE 4、指令LOOPZ的循环执行条件是( )。 A、CX<>0并且ZF=0 B、CX<>0或ZF=0 C、CX<>0并且ZF=1 D、CX<>0或ZF=1 5、下列合法的变量名称是()。 A、9BUF B、ADD C、BUF9 D、ASSUME 6、一条指令中目的操作数不允许使用的寻址方式是( )。 A、寄存器寻址 B、立即数寻址 C、变址寻址 D、寄存器间接寻址 7、DOS的功能调用号必须送()寄存器。 A、DL B、DH C、AL D、AH 8、在实模式下,存储器管理采用分段模式,每段大小可达()。 A、64M B、1M C、64K D、16字节 9、用来存放下一条将要执行的指令地址的寄存器是( )。 A、SP B、IP C、BP D、CS 10、要使串操作从低地址向高地址进行,应把标志位设置为( )。 A、TF=1 B、TF=0 C、DF=1 D、DF=0 11、8086CPU中指令队列有()个字节。 A 4 B 6 C 8 D 16 12、DF=0,执行CMPSW指令后()。 A SI减1,DI减1 B SI加1,DI加1 C SI减2,DI减2 D SI加2,DI加2

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

汇编语言程序设计习题及答案 汇编语言程序设计习题及答案 汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。虽然在现 代计算机编程中,高级语言如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分,共20分) 1.指令JMPFARPTRDONE属于参考答案为:C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用 JAE/JNB指令 [解析]对于无符号数和有符号数的比较都采用CMP指令; CMPS指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA; 对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:C

A.12CSBH B.12B6BH C.12C59H D.12BFEH [解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+(128-1)×2 即12ABH×10H+00ABH+(128-1)×2=12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A.MOVAL,[BX+SI] B.JMPSHORTDONI C.DEC[BX] D.MULCL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如 DECBYTEPTR[BX]或DECWORDPTR[BX] 但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:AA.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 。

《汇编语言程序设计》期末复习题及答案

汇编语言程序设计》期末复习题及答案 一、选择( 30 题) 1.下列是 8 位带符号二进制数的补码,其中最大的是( B )。 B、00000001 2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现 ( C ) C、占内存空间大,但速度快 3.数据定义为:EE DB 3 , 4 CC DW 3456H , 6789H 执行指令“ MOV CX WORD PTR EE+1'后,(CX = ( B ) B、5604H 4.有如下指令序列: MOV AL, 95H MOV CL, 2 SAR AL , CL 上述指令序列执行后,AL的内容是(D ) D、0E5H 5. 设A=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D ) D、 A

A、ENDP 11 .用来存放下一条将要执行的指令代码段地址的段寄存器是( D ) D 、CS 12 .假定(SS) =1000H, (SP) =0100H, (AX)=5609H,执行指令 PUSH AX 后,存放数据56H 的物理地址是( D ) D、100FFH 13.执行“ SUB AX, [BP][DI] ”指令,取源操作数时,使用的物理地址表达式是( A ) A、16*SS+BP+DI 14 .设AX中有一带符号数 8520H,执行“ SAR AX, 1”指令后,AX中的值是(C ) C、0C290H 15 .设(BX =1234H,( DS =2000H, ( 21234H) =5678H,则指令“ LEA SI,[BX] ” 执行 后的结果是:( B ) B、SI=1234H 16 .测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A ) A 、 JNE 17 .设 DF=Q (SI) =20H, (CX) =10,执行“ REP LODSW 指令后,SI 中的内容是(C ) C 、 34H 18.在程序执行过程中, IP 寄存器中始终保存的是( B ) B 、下一条指令的首地址 19 .设SP初值为2000H,执行指令“ POP AX'后,SP的值是(A ) A、2002H 20 .若 AX=3500H CX=56B8H 当 AND AX CX指令执行后, AX= ( A ) A、1400H 21 .汇编源程序时,出现语法错误的语句是( A ) A、MOV DS, 1200H 22 •将数据1234H存放在存储单元中的伪指令是( C ) C 、 DATA1 DB 34H, 12H 23 .下面指令执行后,可能改变AL寄存器内容的指令是( D ) D 、AND AL, BL

汇编语言程序设计期末考试试卷及参考答案

汇编语言程序设计期末 考试试卷及参考答案 This model paper was revised by LINDA on December 15, 2012.

【汇编语言程序设计】期末考试-试卷及参考答案

执行上述两条指令后,正确的结果是( B )。 A.(AX)=1001H; B.(AX)=0FFFH; C.(AX)=1000H; D.(AX)=0111H。 6.串指令中的目的操作数地址一定是由____A_ _提供。()A.ES:[DI] ; B.SS:[BP]; C.DS:[SI] ; D.CS:[IP]。 7.将DX的内容除以2,正确的指令是( C )。 A.DIV 2 ; B.DIV DX,2 ; C.SAR DX,1; D.SHL DX,1。 8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。 A.目标程序; B.汇编语言源程序; C.可执行程序; D.汇编程序。 9.用一条指令仅实现将AX←BX+SI的方法是( D )。

A.XCHG AX,[BX][SI] ; B.MOV AX,[BX+SI]; C.LEA AX,BX[SI] ; D.LEA AX,[BX][SI]。 10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。 A.1FFFH; B.1998H; C.1FFEH; D.2002H。 2. C 二、指出下列指令的出错原因,并改正。(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX 2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX 3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为 MOV BX,DS ADD AX,BX 4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为 MOV SI,CX

期末汇编语言试题及答案

1。十进制数369转换成二进制数为(101110001)2,转换成十六进制数为(171)16。 2. 计算机中的指令由(操作码)和( 地址码)两部分组成。 3. 8086的地址总线有20根,寻址范围为(1M )字节. 4. 下一条将要执行的指令的地址存放在寄存器(指令指针寄存器)中。 5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。 6. 汇编语言源程序需经过(汇编)程序汇编,(连接)程序连接才能生成可执行文件。 7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=(27272H) 8. REP指令前缀与(字符串)指令配合使用. 9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的( D )和( E )命令. 10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令(AND AL,3F );如果要求第0,1位变反,可使用指令(XOR AL,3F ) 11。宏汇编适合于(程序短),(参数多)的子功能段使用; 二、选择题 1. 设字长N=16,有符号数7AE9H的补码表示为( D ) A.9EA7H B。76C4H C. 8417H D。7AE9H 2. 比较有符号数3260H与0B425H的大小关系为( C ) A. 相等 B. 小于 C。大于 D。不能比较 3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( A ) A.16 d x(DS)+(BX)+(DI) B.16d x(ES)+(BX)+(DI) C.16d x(SS)+(BX)+(DI) D.16d x(CS)+(BX)+(DI) 4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( B ) A.立即寻址 B.直接寻址 C.段内间接寻址 D.寄存器寻址 5。中断矢量表中存放的是( D ) A. 中断类型号 B。断点地址 C。中断服务程序 D。中断服务程序入口地址 6。 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( A ) A. 段内的任何地方 B. 距该指令偏移地址为—32768~+32767的地方 C。距该指令偏移地址为—128~+127的地方。 D。段外 7。能定义ASCII码字符串的数据定义语句有( D ) A. DB,DW,DD,DQ,DT B. DB,DW,DD C。DB,DW D。DB; 8。若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( C ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1 C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=1 9。比较指令CMP( D ) A。专用于有符号数比较 B. 专用于无符号数比较 C. 专用于串比较 D。不区分比较的对象是有符号数还是无符号数 10。数据传送指令对标志位的影响为( D ) A.都不影响; B.都影响; C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响 三、判断题 ()31. 段间调用的子程序必须由伪操作FAR说明为远过程。 T ()32. PC机以位作最小寻址单位。 F ()33. 当SRC是立即数时,DST可以使用存储器寻址。 F ()34. 指定各个逻辑段偏移地址可以使用ORG伪指令。 T ( )35. LOOPE/LOOPZ是相等/为零时转移到标号,其退出条件是(CX)=0或ZF=0。T

汇编语言程序设计-a-10-2期末考试复习资料

汇编语言程序设计复习资料 1.执行后使BX=0的同时也使CF=0,OF=0的指令是XOR BX,BX。 2.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是CX≠0且ZF=0。 3.把假设干个模块连接起来成为可执行文件的系统程序是连接程序。 4.串操作指令中,目的操作数的段地址一定在ES存放器中。 5.在以下语句中,AGAIN称为标号,AGAIN:INC SI。 6.某存储单元的物理地址是12345H,可以作为它的段地址有1234H。 7.使汇编程序执行某种操作的命令是伪指令。 8.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是进位值在CF中,校正后根据CF内容再加在AH中。 9.AND,OR,XOR,NOT为四条逻辑运算指令,该指令AND AX,OFH执行后,别离出AL低四位是正确的。 10.OR AL,AL是逻辑或操作指令。 11.在执行以下指令时,需要使用段存放器DS的指令是INC DA[BX]。 12.MOV BH,1000[SI],该指令中源操作数采用的寻址方式是存放器相对。 13.DOS系统功能调用中,显示单个字符的系统调用号是02H。 14.使计算机执行某种操作的命令是指令。 15.换码指令的助记符是ALXT。 16.计算机能直接识别并执行的语言是机器语言。 17.假设BL=0C5H,CL=2,CF=1,确定以下各条指令独立执行后,BL和CF中的值,并填入括号中。 A. SHR BL,1;BL=( 62H ) CF=( 1 ) B. SAR BL,CL;BL=( 0F1H ) CF=( 0 ) C. ROR BL,1;BL=( 0E2H ) CF=( 1 ) D. RCL BL,CL;BL=( 17H ) CF=( 1 ) 18.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是ASCII码,称为美国标准信息码。 19.CPU的标志存放器中标志位,可以分为两大类,其中一类称为状态标志位,另一类称为控制标志位。20.当标志位CF=1时表示无符号数运算产生溢出,而当标志位OF=1是表示带符号数运算产生溢出。21.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是IP,而后两个字节存放的是CS。 22.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是STOS或CMP才有实际意义。 23.8086/8088CPU中,有二个变址存放器,分别是SI和DI,二个指针存放器,分别是SP和BP。24.请指出以下指令错误原因: A. OR AX,[CX] B. ADD [SI],[BX][DI] C. JMP BYTE PTR LOOPS D. SAR AX,4 E. RCL DX C.转移指令中,转向标号地址的属性说明错 D.移位指令格式错,当移位次数大于1时,需用CL给出 25.A.下面两个语句有何区别? X1EQU 1000H X2=1000H B.下面的程序段有错吗?假设有,请指出错误。

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

汇编语言程序设计专科复习题及答案专科复习题 复习题一 一、单项选择题 1.对于有符号的数来说,下列哪个值最大() A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D ) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过() A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式()A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是() A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时() A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置“1”,可以

使用()A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是() A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的() A:一个存储单元由16个二进制位组成,简称字。 B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是() A:以“先入后出”为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是() A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是() A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是() A:PF B:SF C:DF D:OF 14.下列指令正确的是() A. MOV [100H], [BX]

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题LT

5、分别指出下列指令中源操作数的寻址方式:(5分,答案写在对应指令的右边) A.MOV SI,100立即寻址 B.MOV CX,DATA[SI]寄存器相对寻址 C.MOV [SI],AX寄存器寻址 D.ADD AX,[BX][DI]基址变址寻址 三、简答题(共20分) 1. A.正确 B.数据类型不匹配错 C.前两条指令正确,第三条数据类型不匹配 D.前两条正确,后两条不正确,在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的,所以第三条指令不正确。第四条指令中,AX不能作为基址寄存器用。 2.第一条指令传送的是0100H单元中的内容AX=0FF00H 第二条指令传送的是地址0100H AX=0100H 3.MOV AX,10 MOV BL,10 MOV CL,1 4. A.子程序名 B.子程序的功能 C.子程序所用到的寄存器、工作单元的情况 D.子程序的输入参数 E.子程序的输出参数 5.A.立即寻址 B.寄存器相对寻址 C.寄存器寻址 D.基址加变址寻址 E.寄存器寻址 四、程序分析(每小题5分,共20分) 1.把DAT1+20存储单元开始的10个字节搬到DAT2开始的连续10个存储单元中。 2.3000H 3.判断AL的内容,若为'A'~'Z'的大写字母时,程序转LETTER处理,否则转OTHER处理。 4.0F00H E.POPHF 四、程序分析(每小题5分,共20分,答案写在程序右边空白处。) 1.列程序段完成什么工作? DAT1 DB 30 DUP(?) DAT2 DB 10 DUP(?) ┇ MOV CX,10

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。 A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序 2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C )。 A..SS和SP 和DI 和IP 和SI 3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D.段地址 AX,3064H,该指令中源操作数采用的寻址方式是( A)。 ` A.立即 B.直接 C.寄存器相对 D.寄存器间接 5.换码指令的助记符是( C )。 A. XCHG B. LEAS D. MOV 6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是( JGE )。 7.下列符号中,可用作标识符的是( C )。 DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。 9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C)。 A. 不变 B.减1 C.加1 D.无法确定 ; 10.如下指令可将AX寄存器内容改变的是( A )。 A.AND AX , BX B.TEST AX , BX C.CMP AX , BX D.XCHG AX , AX 位CPU支持的I/O地址范围是( D )。 A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH CL指令实现的功能是( A )。 A.无符号乘法:AX AL×CL B.有符号乘法:AX AL×CL C.无符号乘法:DX AL×CL D.有符号乘法:DX AL×CL 系统功能调用(INT 21H)中,显示字符串的功能号是( D )。 D. 09H 14.在16位CPU读取指令时,需要用到的寄存器对是(C )。 & 和SP 和DI 和IP 和SI 15.下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是( B)。 AX,23H B. MOV AX,[BX+SI] AX,[BX] D. ADD AX,BX 16.有内存变量定义语句:VAR DW 10 DUP(1,2),1234H,VAR的属性TYPE、LENGTH 和SIZE的值分别是( D )。 ,20,20 ,20,40 ,22,44 D. 2,10,20 17、在下列语句中,AGAIN称为( C) 。 AGAIN:INC SI

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