《汇编语言程序设计》必考试题及答案
《汇编语言程序设计》必考试题及答案
一、选择题
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
; 输入第一个数
mov ebx, 0
mov ecx, num1 mov edx, 4
int 0x80
; 输入第二个数 mov eax, 3
mov ebx, 0
mov ecx, num2 mov edx, 4
int 0x80
; 将两个数相加 mov eax, [num1] mov ebx, [num2] add eax, ebx
; 输出结果
mov ebx, eax
mov eax, 1
mov ecx, result
int 0x80
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
```
以上为一个简单的汇编语言程序,实现了从键盘输入两个数,并将其相加后输出的功能。
希望以上内容能够帮助到您,如有其他问题,请随时提问。
汇编语言复习题与答案
汇编语言程序设计复习题一、选择题1.用户为了解决自己的问题,用汇编语言所编写的程序,称为(B )A.目标程序B.源程序C.可执行程序D.汇编程序2.某系列微机对存储器的分段,如果每一个段最多的字节存储单元是64K,那么表示段内字节单元偏移地址的二进制位数应是( B )A.20位B.16位C.15位D.12位3.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( D )A.1FFFHB.1998HC.2002HD.1FFEH4.循环指令LOOP产生循环的条件是( C )A.CX-1=1B.CX-1=0C.CX-1≠0D.CF=1和ZF=05.汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是( A )A. VariableB. First & ldC.0FFFFHD. ‘Memphis’6. 要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选用的语句是( A )A. DA1 DB ‘AB’B.DA1 DW‘AB’C. DA1 DB 0ABHD.DA1 DW ‘ABH7.某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( C )字节。
A.2KB.4KC.8KD.16K8.有语句:COUNT EQU 256下列四种叙述中,正确的是( C )。
A.COUNT是变量B.COUNT占用一个字节存储单元C.COUNT是符号常数D.COUNT占用二个字节存储单元9.下面指令中,源操作数的寻址方式为立即寻址的是( C )。
A.MOV AX,OFFSET AB.MOV AX,AC.MOV AX,1D.MOV AX,A〔BX〕10.下列指令执行后,不改变AL寄存器内容的指令是( B )。
A.AND AL,1B.CMP AL,DLC.XOR AL,ALD.SUB AL,DL11.执行1号DOS系统功能调用,从键盘输入的字符值存放在( A )寄存器中。
《IBM-PC汇编语言程序设计》(第2版)第3章习题解答及答案
第3章习题答案3.1 给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址;答案:无。
如:MOV AX,5(2)直接寻址;答案:7237H 如:MOV AX,[7237H](3)使用BX的寄存器寻址;答案:无。
因不涉及内存如:MOV AX,BX(4)使用BX的间接寻址;答案:637DH 如:MOV AX,[BX](5)使用BX的寄存器相对寻址答案:D5B4H 如:MOV AX,[BX+ 7237H](6)基址变址寻址答案:8E18H 如:MOV AX,[BX][SI](7)相对基址变址寻址;答案:无效,溢出如:MOV AX,[BX][SI] + 7237H 3.2 试根据以下要求,写出相应的汇编语言指令:(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中;答案:ADD DX,BX(2) 用寄存器BX 和SI 的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中;答案:ADD AL,[BX][SI](3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回到存储器中;答案:ADD [BX+0B2H],CX (4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回到该存储单元中;答案:ADD WORD PTR [0524H],2A59H (5)把数0B5H与(AL)相加,并把结果送回AL中。
答案:ADD AL, 0B5H3.3 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。
要求使用以下几种寻址方式:(1) 寄存器间接寻址答案:LEA BX, BLOCKADD BX, 5*2MOV DX, [BX](2) 寄存器相对寻址答案:LEA BX, BLOCKMOV DX, [BX+5*2](3) 基址变址寻址答案:LEA BX, BLOCKMOV SI,5*2MOV DX, [BX][SI]3.4 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56, (20103)=78H,(21200)=2AH,(21201)=4CH, (21202)=B7H, (21203)=65H,试说明下列各条指令执行完后AX寄存器的内容。
汇编语言程序设计专科复习题及答案专科复习题
汇编语言程序设计专科复习题及答案专科复习题复习题一一、单项选择题1.对于有符号的数来说,下列哪个值最大()A:0F8H B:11010011B C:82 D:123Q2.下列有关汇编语言中标号的命名规则中,错误的是(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 AXB.NOT AXC.INC AXD.DEC AX6.8086/8088系统执行传送指令MOV时()A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响CF进位标志7.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用()A:NOT B:OR C:AND D:XOR8.下列指令中段默认为堆栈段的是()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.ENDPB.ENDSC.ENDD.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $-BUF1符号COUNT等价的值是()A.6B.18C.16D.9 13.下列标志位中,可以用来判断计算结果正负的是()A:PF B:SF C:DF D:OF14.下列指令正确的是()A. MOV [100H], [BX]B.MOV DS, ESC. ADD V[BX], CXD.MOV AX, 34H15.下列哪个寄存器是属于指针寄存器()A:SI B:DX C:SP D:ES16.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
《汇编语言程序设计》试题
试题A总3页第1页 《汇编语言程序设计》试题 一、填空题(每空2分,共15小题30分) 1.将8进制的数23转化为3进制的数,其值为( )。 2.汇编语言程序的开发过程要经历编辑、( )、链接和运行调试等几个阶段。 3.Intel 8086 CPU中的段寄存器有CS、DS、ES和( )。 4.汇编语言指令中操作数分为立即数操作数、寄存器操作数和( )三类。 5.永远指向堆栈段栈顶单元的寄存器为( )。 6. 英文大写字母A的ASCII码为41H,则英文大写字母D的ASCII码为( )。 7. BCD码分为压缩的BCD码和( )两类。 8. 8086/8088CPU有( )根地址线,可寻址1M字节的内存空间。 9.80x86CPU有实模式和保护模式两种操作模式,而8086/8088CPU只能工作 在( )模式下。 10.( )是内存中的一块特定区域,其中的内容是按照后进先出的原则进 行操作的。 11. 8086/8088CPU中变址寄存器有SI和( )两个。 12.主程序和子程序之间的参数传递通常有如下三种方法:通过寄存器传递、 通过存储器传递和通过( )传递。 13.循环指令loop指令隐含的计数器是( )寄存器。 14. 已知8位二进制表示的整数X的补码为10011011,则-X的补码的二进 制编码为( )。 15.有如下定义:BUF DW 4,6,$+2,若汇编时BUF分配的偏移地址是 0042H,则汇编后BUF数组中第三个字的值是( )。
二、选择题(每小题2分,共15小题30分) 1.16位带符号数所能表示的范围是( )。 A –32767~+32768 B 0~65535 C -65535~+65536 D -32768~+32767 2.可以为存储器操作数提供偏移地址的寄存器组是( )。 A AX、BX、CX、DX B BX、BP、IP、SP C BX、BP、SI、DI D CS、DS、ES、SS 3. 存放当前堆栈段栈顶的偏移地址的寄存器是( )。 A BP B SP C IP D SS 4. 已知内存中两个字节单元的内容:(20000H)=10H,(20001H)=20H,则从 字单元20000H中取出的一个字为( )。 A 10H B 20H C 1020H D 2010H 5. 下面指令执行后,将改变寄存器AX内容的指令是( )。 A OR AX,AX B AND AX,BX C TEST AX,01HD CMP AX,1 6. 要使BL寄存器的最高位清0,应使用下面的指令( )。 汇编语言程序设计 试题A总3页第2页 A AND BL,80H B OR AL,7FH C OR BL,80H D AND BL,7FH 7. 表示一条指令所在存储单元的符号地址称为( )。 A 标号 B 变量 C 偏移量 D 常量 8. 要将a、b两个字符的ASCII码(61H和62H)顺序存放在两个连续的字节 单元中,正确的语句是( )。 A DB ‘ab’ B DW ‘ab’ C DB 0abH D DW 0abH 9. 指令X1 DB 10 DUP (1,2 DUP (0,1),3)汇编后,变量X1占有的存 储单元字节数是( )。 A 10 B 6 C 30 D 60 10. 指令JMP WORD PTR [BX]转移的目标地址偏移量为( )。 A IP+BX的内容 B BX所指向的内存字单元的内容 C BX的内容 D IP+[BX] 11. 若A、B为无符号数,当A≥B时转移的条件转移指令为( )。 A JGE B JG C JA D JAE 12. 有指令MOV AX, [1234H],指令中的源操作数在( )中。 A 数据段 B 代码段 C 附加段 D 堆栈段 13. 下面有语法错误的指令是( ),其中DA1是变量名。 A MOV [BX+3],AL B MOV AL,AH C MOV AH,[DI] D MOV [BP+2],DA1 14. debug调试软件中u命令为( )。 A 单步执行命令 B 反汇编命令 C 显示命令 D 汇编命令 15. debug装入一个文本文件时,文件的大小在( )中。 A CX:DX B BX:CX C DX:AX D CS:IP
IBMPC汇编语言程序设计试题及答案
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面的数值表示中,与127相等的是哪一个(D)(A)11111111B (B)127H(C)80H (D)7FH2.如果(AL)=35H,执行AND AL,0FFH指令后,CF=(A)(A)0 (B)1(C)2 (D)与执行AND AL,0指令前的取值保持一致3.如果(SP)=30H,执行PUSH BX指令后,(SP)=(B)(A)28H (B)2EH(C)32H (D)31H4.如果(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)(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=19.条件转移指令的最大转移范围为(B)(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(C)(AL)=8DH,OF=0 (D)(AL)=0D1H,OF=1(注:若减数大及被减数,此时有借位,CF=1;否则CF=0;若减数及被减数的符号相反,而结果的符号及减数相同,则OF=1;否则OF=0。
汇编语言程序设计习题及答案
汇编语言程序设计习题及答案汇编语言程序设计习题及答案汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。
虽然在现代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。
本文将介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编程能力。
一、基础习题1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。
答案:```assemblyMOV AL, [地址]INC ALMOV [地址], AL```2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄存器中。
答案:```assemblyMOV CX, 数组长度MOV BX, 数组首地址MOV AX, 0LOOP_START:ADD AX, [BX]ADD BX, 2LOOP LOOP_START```二、进阶习题1. 编写一个汇编程序,实现字符串的逆序输出。
答案:```assemblyMOV SI, 字符串首地址MOV DI, 字符串尾地址MOV CX, 字符串长度DEC CXREVERSE:MOV AL, [SI]MOV AH, [DI]MOV [DI], ALMOV [SI], AHINC SIDEC DILOOP REVERSE```2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。
答案:```assemblyMOV AX, 第一个数MOV BX, 第二个数MUL BX```三、挑战习题1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。
答案:```assemblyREAD_INPUT:; 读取用户输入; ...PARSE_INPUT:; 解析用户输入,获取操作数和运算符; ...CALCULATE:; 根据运算符进行相应的计算; ...DISPLAY_RESULT:; 将计算结果显示给用户; ...LOOP:; 循环执行计算器程序; ...```2. 编写一个汇编程序,实现一个简单的迷宫游戏,玩家通过键盘控制角色在迷宫中移动,并找到出口。
《汇编语言程序设计(1)》模拟试题一和答案
《汇编语言程序设计(1)》模拟试题一一、单项选择题(本大题共20个小题,每小题2分,共计40分)1、为了便于实现多级中断,保存现场信息最有效的方式是采用( )。
A、通用寄存器B、堆栈C、存储器D、寄存器2、8086CPU中有4个数据寄存器,其中AX除用作通用寄存器外,还可用作( )。
A、累加器B、计数器C、基址寄存器D、段寄存器3、如果(AL)=11111111B,执行INC AL指令后,CF= ( )。
A、1B、0C、2D、和执行INC AL指令之前的取值保持一致4、以下指令中,执行后要影响标志位的指令为( )。
A、MOV AL,BLB、LAHFC、CLCD、PUSHF5、在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是( )。
A、逻辑地址B、物理地址C、有效地址D、相对地址6、用来表示堆栈指针的寄存器是( )。
A、IPB、BPC、SPD、SS7、8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。
A、BX或CXB、CX或SIC、DX或SID、SI或DI8、如果当前(SP)=0058H,执行POP AX指令后,(SP)=( )。
A、60HB、56HC、59HD、5AH9、设DS=27FCH,某一数据存储单元的偏移地址为8640H,则数据存储单元的物理地址正确的是( )。
A、27FCHB、27FC0HC、8640HD、30600H10、PSW寄存器中共有( )位条件状态位,有( )位控制状态位。
A、6、3B、3、6C、8、4D、4、811、“与非”门中的某一个输入值为“0”,那么它的输出值( )。
A、为“0”B、为“1”C、取决于正逻辑还是负逻辑D、取决于其他输入端的值12、在段内寻址时,可以提供偏移地址的寄存器组是( )。
A、AX、BX、CX、DXB、BP、SS、IP、SIC、BX、BP、SI、DID、CS、DS、ES、SS13、为了便于实现多级中断,保存现场信息最有效的方式是采用( )。
东华大学汇编语言程序设计练习题参考答案
汇编练习题一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
)1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D)A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546HC.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.BPC.SI D.DI6.下列指令中有语法错误的是(C)A.PUSH AX B.PUSH [20H+SI+BX]C.POP CS D.PUSH CS7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D)A.16*SS+BP B.16*DS+BPC.16*CS+IP D.16*SS+SP8.把BL中的数据输出到端口8CH中正确指令是(C)A.OUT 8CH,BL B.IN 8CH,BLC.MOV AL,BL D.MOV AL,BLOUT 8CH,AL IN 8CH,AL9.结果为零的条件转移指令,其测试条件是(A)A.ZF=1 B.ZF=0C.SF=l D.SF=010.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是MOV CH,0MOV CH,0FFHZERO:MOV DH,CH(C)A.JNZ ZERO B.JS ZEROC.JZ ZERO D.JC ZERO11.汇编源程序时,出现语法错误的语句是(C)A.MOV [BX+SI],BX B.MOV CL,[BP+DI]C.MOV CS,AX D.MOV DS,AX12.设SP初值为3050H,执行指令PUSH BX后,SP的值是(B)A.304FH B.304EHC.3048H D.3049H13.串操作指令中,每次操作后使SI/DI为减量应设置(C)A.DF=0 B.TF=1C.DF=1 D.TF=014.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=015. 当执行ADD AX ,BX 指令后,若AX的内容为4E52H 时,设置的奇偶标志位PF=0 ,下面的叙述正确的是( A )A. 表示结果中含1 的个数是奇数B. 表示结果中含1 的个数是偶数C. 表示该数是奇数D. 表示结果中低8 位中含1 的个数是奇数16. 设物理地址(21000H)=20H, (21001H)=30H,(21002H)=40H 。
《汇编语言程序设计》期末复习题及答案
《汇编语言程序设计》期末复习题及答案一、选择(30题)1.下列是8位带符号二进制数的补码,其中最大的是( B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3,4CC DW 3456H,6789H执行指令“MOV CX,WORD PTR EE+1”后,(CX)= ( B )B、5604H4.有如下指令序列:MOV AL,95HMOV CL,2SAR AL,CL上述指令序列执行后,AL的内容是( D )D、0E5H5.设A=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( D )D、A<B=C6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是( D )D、LEA AX,[BX][SI]7.要从端口1234H中读入8位数据,其指令应是( C )C、MOV DX,1234HIN AL,DX8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( B )B、CX≠0且ZF=09.8088/8086存储器分段,每个段不超过( D )D、64K个字节10.表示过程定义结束的伪指令是( A )A、ENDP11.用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D、CS12.假定(SS)=1000H,(SP)=0100H,(AX)=5609H,执行指令PUSH AX后,存放数据56H的物理地址是( D )D、100FFH13.执行“SUB AX,[BP][DI]”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14.设AX中有一带符号数8520H,执行“SAR AX,1”指令后,AX中的值是( C )C、0C290H15.设(BX)=1234H,(DS)=2000H,(21234H)=5678H,则指令“LEA SI,[BX]”执行后的结果是:( B )B、SI=1234H16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A ) A、JNE17.设DF=0,(SI)=20H,(CX)=10,执行“REP LODSW”指令后,SI中的内容是( C )C、34H18.在程序执行过程中,IP寄存器中始终保存的是( B )B、下一条指令的首地址19.设SP初值为2000H,执行指令“POP AX”后,SP的值是( A )A、2002H20.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( A )A、1400H21.汇编源程序时,出现语法错误的语句是( A )A、MOV DS,1200H22.将数据1234H存放在存储单元中的伪指令是( C )C、DATA1 DB 34H,12H23.下面指令执行后,可能改变AL寄存器内容的指令是( D )D、AND AL,BL24.操作数地址存放在寄存器的寻址方式称为( B )B、寄存器间接寻址25.用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26.用DOS功能调用时,子功能调用的编号应放在( C )C、AH27.提供串指令中目的操作数地址的是( C )C、ES:[DI]28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX,BP,SI,DI29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( A )A、2025∶0F2A30.中断向量表中的每个中断向量所占内存空间为:( B )B、4个字节二、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器 DS 中。
汇编语言程序设计试卷及答案AB卷
2010—2011学年度第(1)学期期末考试试卷科 目:汇编语言程序设计 (A )卷考试形式:闭卷 考试时间: 120 分钟系别、班级: 姓名: 学号:一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。
(A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。
(A) 通用寄存器 (B) 段寄存器(C) 变址寄存器 (D) 控制寄存器3. 下面有语法错误的指令是 。
(A) ADD AL,AH(B) ADD [BX+3],AL (C) ADD AH,[DI](D) ADD [BX],DA1(DA1是变量名)4. 完成对DX 的有符号数除以2的指令是 。
(A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。
(A) CLC (B) CMC (C) STC(D) NOP 6. 设AL=-100,要使AL=100应执行的指令是 。
(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是。
(A)JNS (B)JZ(C)JS (D)JC8.下面的XCHG指令中,语法正确的是。
(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.一条指令中目的操作数不允许使用的寻址方式是。
(A)寄存器寻址(B)立即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。
┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是。
(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。
