2016《汇编语言》练习题库参考标准答案
- 格式:doc
- 大小:48.50 KB
- 文档页数:16
汇编语言试题及参考答案一,填空题1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 )2.标号可以有两种类型属性.它们是( )和( )3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( )4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ).5.循环程序通常由( )( )( )和循环结果外理四部分构成6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( )8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( )9.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW( )(2)双字变量AYD存放的地址指针送ES和SI( )(3)变量AY2类型属性送AH( )(4)不允许中断即关中断( )(5)将字符串'HOW ARE YOU!'存入变量AYB( )(6)子程序返回调用程序( )(7)地址表达式AYY[4]的偏移地址送字变量ADDR( )(8)AX的内容加1,要求不影响CF( )(9)BX的内容加1,要求影响所有标志位( )(10)若操作结果为零转向短号GOON( )二,单选题1.IBM PC微机中,有符号数是用( )表示的1.原码2.补码3.反码4.BCD码2.把汇编源程序变成代码程序的过程是( )1.编译2.汇编3.编辑4.链接三,己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR.指出下列非法语句的错误原因1.POP CS( )2.INC [BX] ( )3.MVL 8( )4.JLE LPFAR( )5.MOV DB,1800( )6.MOV[DI],VAR17.SUB AX,VAR2( )8.CMP SS AX( )四,简答题1.试述子程序的一般结构组成2.标号有哪三个属性其含义是什么3.试述CMP AX,BX和SUB AX,BX两条语句的异同点五,阅读如下程序段,回答所提出的问题,假定X1,X2,...XN为无符号数. ORG 100HBLOK DW X1,X2, (X)COUNT EQU ($-BLOK)/2RESULT DW COUNT,...LEA BX,BLOK-2MOV CX,RESULTXOR AX,AXGOON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]NEXT:LOOP GOONMOV RESULT+2,AX程序段执行完,回答下述问题RESULT+2字存储单元的内容=( )BX=( )程序循环次数=( )六,在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量STR中存放着一个字符串,以0DH为结束标志,试求串长度并送字变量COUNT中.LEA SI,STR( )XOR CX,CXGOON: CMP AL,[SI]( )INC CX( )JMP GOONNEXT:MOV COUNT,CX七,编制将DS段中名为BUFB的字节存储区改写为空白字符(编码为20H)的程序段.假定BUFB存储区定义为BUFB DB N DUP('^'),其中N 为字面常量.八,己知宏指令为:SHIFT MACRO RR,COUNTMOV AX,COUNTIF RR LE 64MOV CL,3SHR AX,CLIF RR LT 16MOV CL,6SHR AX,CLENDIFENDIFENDM宏调用为:SHIFT 15,7FFFHSHIFT 80,9FFFH写出宏扩展后的等效源程序段.九,编写完整程序,功能是把N个8个二进制数据转换成16进制字符数据.假定N个数据存放在字节变量VARB中,转换后的字符数据存放在HVARB中,提示0--9的字符码为30H--39H,A--F的字符码为41H--46H汇编语言试题<>答案一,填空题(1)1,0,0(2)NEAR或近程,FAR或远程(3)0--FFH,80H--7FH(4)GROUP,NAME,DB(5)循环准备,循环体,循环的控制与修改(6)高,低,等(7)MACRO,ENOM,宏体(8)约定寄存器法,约定存储单元法,向量传递法(9)(POP AYW)(LES SI,AYD)(MOV AH,TYPE AY2)(CLI)(AYB DB"HOW ARE YOU!")(RET)(MOV ADDR,OFFSET AYY[4])(INC AX)(ADD BX,1)(JZ GOON)二,选择题1. ( 2 )2. ( 2 )三,1.CS不能作目的操作数2.[BX]=义性3.乘法指令源操作数不能是立即数4.远程标号不能作为条件转移指令的操作数5.立即数不能直接送段寄存器6.两个操作数不能同时为存储器操作数7.操作数不配,AX为字,VAR2为字节8.段寄存器不能作为运算指令的操作数四,简答题1.由保存现场,取入口参数,加工处理,进也口友数,恢复现场和返回程序2.段属性指定义该标号的段地址偏移属性:指该标号的偏移地址类型属性:指标号是在定义它的段内引用还是在其它段引用3.相同点:都执行AX-BX操作,影响所有标志位且对档志位的影响相同不同点:CMP执行后AX,BX 内容不改变,而SUB执行后,AX内为AX-BX之差,即内容变化了五,MAX(X1,X2,...XN)(COUNT-1)六,(MOV AL,ODH)(JE NEXT或JZ NEXT)(INC SI)七,MOV AX,SEG BUFBMOV DS,AXLEA SI BUFBMOV CX,NGOON:MOV BYTE PTR[SI],20HINC SILOOP GOON八,MOV AX,7FFFHMOV CL,3SHR AX,CLMOV CL,6SHR AX,CLMOV AX,9FFFH九,DATA SEGMENTVARB DB 45,36,377Q, (11011011)N EQU $-VARBHVARB DB 2 NDRP( )DATA ENDSSTACK SEGMENT PARA STACK "STACK" DB 256 DUP( )STACK ENDSCODE SEGMENTASSUME CS:COOE,DS:DATA,SS:STACK MAIN: PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV DX,NLEA DI,HVARBLEA SI,VARB;置初值GOCN:MOV AH,[SI]MOV AL,AHAND AH,0F0HMOV CL,4SHR AH,CLCMP AH,9JNA NEXT1ADD AH,7NEXT1:ADD AH,30HAND AL,DFH CMP AL,9JNA NEXT2ADD AL,7NEXT2:ADD AL,30H MOV [DI],AHMOV [DI],ALADD DI,2INC SIDEC DXJNZ GOONRETMAIN ENDP CODE ENDSEND MAIN。
一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是 (B )A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为 (D )A.IF=1 B.TF=0C.DF=1 D.DF=03.使状态标志位CF清零的错误指令是 (C )A.OR AX,AX B.SUB AX,AXC.MOV CF,0 D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B )A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有 (D )A.MOV [BX+SI],AL B. MOV AX,[BP+DI]C.MOV DS,AX D. MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D )A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B )A.SHR BL,1 B.SHL BL,1C.SAR BL,1 D.RCR BL,18.执行PUSH AX指令的正确步骤是 (A )A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+19.CF=1 时转移到目标地址的条件转移指令是 (B )A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C )A.对正数求补时,CF=0 B.对负数求补时,CF=0C.对非零数求补时,CF=1 D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A )A.目的操作数最高位为0 B.目的操作数最高位为1C.目的操作数为任意情况 D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D )A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D )A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D .MOV AX ,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是 (C )A .INC WORD PTR [BX+SI]B .INC CX ,[SI+COUNT]C .NEG BYTE PTR [BX]D .ADD AX ,B15.NUM EQU 80HDA DB 34HAND DA ,NUM上述语句执行后,DA 中的内容是 (D )A .0B4HB .80HC .34HD .016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为 (A )A .立即、直接、间接B .直接、间接、立即C .直接、立即、间接D .不一定17.语句DA1 DB 2 DUP(3,5,7)汇编后,该语句可等同于的语句是 (D )A .DA1 DB 3,5,7B .DA1 DB 2,3,5,7C .DA1 DB 3,5,7,2D .DA1 DB 3,5,7,3,5,718. MOV AL ,80HMOV CL ,2SAR AL ,CL上述指令序列执行后,结果是 (D )A .AL=40HB .AL=20HC .AL=0C0HD .AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是 (A ) A .INC ALB .ADD AL ,1DAA DASC .ADD AL ,1 D .STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H设AL=01H ,BX=0100H ,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A .AL=20HB .AL=38HC .AL=00HD .AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是 (B )A .0041HB .4100H20H38H41H55HC.xx41H D.41xxH[注]选项C. 和D.中的XX表示任意数据。
汇编语言习题与答案一、填空题:把答案填在题中横线上。
1.8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。
2.8086/8088分段管理存储空间,但每段容量最大不超过__________。
3.逻辑地址为F000:100的存储单元,其物理地址是__________。
4.用来指示堆栈栈顶的偏移地址的是__________寄存器。
5.若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。
这条指令执行后将利用标志位__________实现转移。
6.若定义:bdata db2dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。
7.假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。
二、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在题后的括号内。
1.对汇编语言源程序进行翻译,形成OBJ文件的是A.汇编程序B.连接程序C.编辑程序D.调试程序[]2.下列各个8位二进制数的补码中,真值最大的是A.10001000B.11111111C.00000000D.00000001[]3.MASM语句中,表达常数不正确的形式是A.01101001BB.A346HC.’A’D.5600[]4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H[]5.dw50dup(?)预留了存储空间的字节数是A.25B.50C.100D.200[]6.下列指令中有操作数在代码段中的是A.mov ax,34hB.add ax,bxC.inc word ptr[34h]D.cmp ax,[34h][]7.假设AL=5,要使得AL=0FAH,应执行的指令是A.not alB.and al,0fhC.xor al,0f0hD.or al,0fh[]8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm[]9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=0D.ZF=1[]10.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除以2C.无符号数乘以2D.无符号数除以2[]11.执行“in al,dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口[]12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B.mov ax,0705C.mov ax,0075hD.mov ax,0705h[]13.如下指令可将AX寄存器内容改变的是A.cmp ax,bxB.test ax,bxC.and ax,bxD.xchg ax,bx[]14.设AH=10H,执行“neg ah”指令后,正确的结果是A.AH=10H、CF=1B.AH=F0H、CF=0C.AH=10H、CF=0D.AH=F0H、CF=1[]15.如下程序段:again:mov es:[di],alinc diloop again可用指令__________完成相同的功能。
汇编语言试题及答案一、单项选择题(每题2分,共20分)1. 汇编语言是一种()。
A. 高级语言B. 低级语言C. 机器语言D. 符号语言答案:D2. 汇编语言程序必须经过()才能被计算机执行。
A. 编译B. 汇编C. 链接D. 解释答案:B3. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作码和地址码C. 操作码和数据D. 地址码和数据答案:A4. 汇编语言中的寄存器主要用于()。
A. 存储数据B. 存储指令C. 存储地址D. 存储控制信息答案:A5. 汇编语言中的立即寻址方式是指()。
A. 操作数在寄存器中B. 操作数在内存中C. 操作数在指令中D. 操作数在输入/输出端口中答案:C6. 在汇编语言中,指令“MOV AX, 1234H”的作用是()。
A. 将内存地址1234H的内容移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容移动到另一个寄存器答案:B7. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C8. 在汇编语言中,子程序调用通常使用()指令。
A. JZB. JNZC. CALLD. RET答案:C9. 汇编语言中的堆栈操作通常使用()指令。
A. PUSHB. POPC. MOVD. ADD答案:A10. 在汇编语言中,中断服务程序的结束通常使用()指令。
A. INTB. IRETC. RETD. CALL答案:B二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______和______两部分组成。
答案:操作码;操作数2. 汇编语言中的寄存器可以分为______、______和______三类。
答案:通用寄存器;段寄存器;控制寄存器3. 汇编语言中的寻址方式包括______、______、______和______等。
答案:立即寻址;直接寻址;间接寻址;寄存器寻址4. 在汇编语言中,指令“MOV AX, BX”的作用是将BX寄存器的内容______到AX寄存器。
汇编语言试题及参考答案一、选择题(每题2分,共20分)1. 汇编语言中的指令通常由哪两部分组成?A. 操作码和操作数B. 地址和数据C. 指令和数据D. 操作码和地址答案:A2. 以下哪个不是汇编语言中的寻址方式?A. 直接寻址B. 间接寻址C. 立即寻址D. 寄存器寻址答案:B3. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. ADDD. SUB答案:A4. 汇编语言中,以下哪个指令用于比较两个寄存器的内容?A. MOVB. CMPC. ADDD. SUB答案:B5. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与立即数相加?A. MOVB. CMPC. ADDD. SUB答案:C6. 汇编语言中的条件跳转指令通常使用哪些条件?A. 零、非零B. 正、负C. 溢出、非溢出D. 所有上述条件答案:D7. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容相减?A. MOVB. CMPC. ADDD. SUB答案:D8. 汇编语言中的循环结构通常使用哪种类型的跳转指令?A. 无条件跳转B. 条件跳转C. 直接跳转D. 间接跳转答案:B9. 在汇编语言中,以下哪个指令用于将一个寄存器的内容与内存中的内容相加?A. MOVB. CMPC. ADDD. SUB答案:C10. 汇编语言中,以下哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑与操作?A. ANDB. ORC. NOTD. XOR答案:A二、填空题(每题2分,共20分)1. 在汇编语言中,指令MOV AX, BX的作用是将寄存器________的内容复制到寄存器________中。
答案:BX,AX2. 汇编语言中的指令JMP FAR PTR 100H:200H的作用是跳转到内存地址________。
答案:100H:200H3. 汇编语言中,指令CALL的作用是________。
2012汇编语言试题A一.单项选择题(每题1分,共20分)1.指令指针寄存器是(C)。
A)BP B)SP C)IP D)PSW2.DA1 DB 67HNUM EQU 80H则执行AND DA1,NUM语句后DA1中的内容是(D)。
A)E7HB)80HC)67HD)03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是(B)。
A)MOV AX,0FH B)MOV AX,0FF0FHC)MOV AX,000FH D)MOV AX,0F0H4.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是(D)。
A)CMP B)SUB C)AND D)MOV5.将高级语言的程序翻译成机器码程序的实现程序是(A)。
A)编译程序B)汇编程序C)解释程序D)目标程序6.在程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。
A)1B)2C)3D)由指令长度决定的7.假设字节单元(02398H)=12H,(02399H)=34H,(0239AH)=56H,则(02399H)字单元的内容是(C)。
A)3412H B)3456H C)5634H D)1234H8.INC WORD PTR [BX] 指令中的操作数的数据类型是(A)。
A)字B)双字C)字节D)四字9.在循环程序中使用LOOP指令作为循环结束的判断,其计数值一般应放在寄存器是(B)。
A)DX B)CX C)BP D)IP10.在汇编语言程序设计中,伪指令OFFSET的含义是回送变量或标号的(B)。
A)段地址值B)偏移地址值C)物理地址值D)操作数11.下面的数据传送指令中,错误的操作是(D)。
A)MOV SS:[BX+DI],1000H B)MOV DX,1000HC)WORD PTR [BX],1000H D)MOV DS,2000H12.在下列指令的表示中,不正确的是(C)。
A)MOV AL,[BX+SI]B)JMP SHORT DON1C)DEC [BX]D)MUL CL13.在一列段寄存器中,堆栈段寄存器是(D)。
计算机技术汇编语言试题含答案第一部分:选择题1. 汇编语言是计算机硬件的一种低级编程语言,其特点是()。
A. 高级、易读易写B. 低级、复杂C. 低级、易读易写D. 高级、复杂答案:C2. 汇编语言是一种()。
A. 人机交互语言B. 低级语言C. 高级语言D. 自然语言答案:B3. 汇编语言最主要的作用是()。
A. 提高计算机运行速度B. 完成特定的计算任务C. 方便程序员编写高级语言程序D. 简化计算机指令的执行过程答案:C4. 汇编语言的指令是由()组成的。
A. 二进制代码B. 十进制代码C. 字母和数字D. 中文字符答案:A5. 汇编语言与机器语言之间的关系是()。
A. 完全相同B. 相似但不完全一样C. 完全不同D. 无法确定答案:B第二部分:简答题1. 什么是汇编器?它的作用是什么?汇编器是一种用于将汇编语言代码翻译成机器代码的软件工具。
其作用是将人类可读的汇编语言指令转换成计算机能够理解的二进制代码,以便计算机能够执行相应的操作。
2. 谈谈汇编语言的优点和缺点。
汇编语言的优点包括:- 直接操作底层硬件,可精确控制计算机执行指令,提高程序执行效率。
- 可以直接访问和利用硬件资源,如寄存器、内存等。
- 可以编写高效的程序,适用于对性能要求较高的场景。
- 编写汇编语言程序相对来说较为简单,可以更好地理解计算机的工作原理。
汇编语言的缺点包括:- 难以学习和掌握,对于初学者来说门槛较高。
- 编写的程序复杂度高,维护困难。
- 汇编语言代码的可移植性差,不同的计算机体系结构需要不同的汇编指令集。
- 缺乏高级语言的抽象和封装特性,代码可读性差。
第三部分:编程题请编写一段汇编语言代码,实现将数组 A 中所有元素加 1 的功能。
数组 A 的起始地址保存在寄存器 AX 中,数组长度保存在寄存器 BX 中。
假设数组 A 的元素都是字节类型。
```asmMOV CX, 0 ; 用于循环计数的寄存器MOV SI, AX ; 用于保存数组起始地址的寄存器LOOP_START:MOV AL, [SI] ; 将当前数组元素的值加载到 AL 寄存器ADD AL, 1 ; 将 AL 寄存器中的值加 1MOV [SI], AL ; 将 AL 寄存器中的值存回数组对应位置INC CX ; 循环计数器加 1INC SI ; 数组地址指针加 1CMP CX, BX ; 比较循环计数器和数组长度JL LOOP_START ; 如果循环计数器小于数组长度,则跳转到LOOP_START 继续循环```答案:以上汇编语言代码实现了将数组 A 中的所有元素加 1 的功能。
汇编语言练习题及习题答案选择1、用户为了解决自己的问题,用汇编语言所编写的程序,称为___________。
A 、目标程序B、源程序C、可执行程序D、汇编程序2、无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是___________。
A、ADD BH,01HB、OR BH,01HC、XOR BH,01HD、TEST BH,01H3、设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1,执行SBB AL,[SI]后,正确的结果是___________。
A、AL=5FH SF=1 CF=1B、AL=60H SF=1 CF=0C、AL=5FH SF=0 CF=1D、AL=60H SF=0 CF=04、设AX=1000HNEG AXNOT AX执行上述指令后,正确的结果是___________。
A、AX=1001HB、AX=0FFFHC、AX=1000HD、AX=0111H5、CBW指令的功能是___________。
A、把源操作数的符号位扩展到目的操作数中B、把AL中的符号位扩展到AH中C、把AH中的符号位扩展到AL中D、把AX中的符号位扩展到DX中6、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是A、指令XOR AX,AX执行后,AX内容不变,但设置了标志位B、指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C、指令AND AX,OFH执行后,分离出AL低四位D、NOT AX,执行后,将AX清07、执行下列指令序列后,正确的结果是___________。
MOV AL,81HADD AL,ALADC AL,ALA、AL=05HB、AL=204HC、AL=04HD、AL=205H4、TEST DL,55HJE NEXT….NEXT:……上述程序段,执行JE指令时能产生转移的情况是。
A、DL>55HB、DL<55HC、DL=55HD、DL中第0、2、4、6位均为05、设CL=05H,要获得CL=0AH,可选用的指令是。
汇编语言试题及答案一、选择题1. 汇编语言是一种:A. 高级语言B. 低级语言C. 机器语言D. 标记语言答案:B2. 汇编程序的编译过程包括:A. 预处理、编译、链接B. 编译、链接、运行C. 编译、预处理、链接D. 链接、编译、预处理答案:A3. 下列哪项是汇编语言的指令:A. MOV AX, BXB. int main()C. print "Hello, World!"D. System.out.println("Hello, World!");答案:A二、填空题4. 在汇编语言中,指令______用于将数据从内存传送到寄存器。
答案:MOV5. 汇编语言中的______指令用于实现无条件跳转。
答案:JMP6. 汇编语言中的______指令用于实现条件跳转。
答案:JZ 或 JE(零标志跳转)三、简答题7. 简述汇编语言的特点。
答案:汇编语言是一种低级语言,它非常接近机器语言,通常用于编写硬件操作和系统软件。
其特点是执行效率高,但编程复杂度高,可读性和可移植性较差。
8. 汇编语言与机器语言有何区别?答案:汇编语言是一种符号化的机器语言,它使用助记符代替机器语言中的二进制代码,更易于人类理解和编写。
机器语言则是计算机硬件直接执行的指令集,通常以二进制形式存在。
四、编程题9. 编写一段汇编语言程序,实现将AX寄存器的值加1。
答案:INC AX10. 编写一段汇编语言程序,实现将内存地址[100]处的值与BX寄存器的值相加,并将结果存回内存地址[100]。
答案:MOV AX, [100]ADD AX, BXMOV [100], AX五、论述题11. 论述汇编语言在现代计算机系统中的作用和局限性。
答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。
其作用在于能够直接控制硬件,实现高效的资源利用。
然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。
华中师范大学网络教育学院《汇编语言程序设计》练习测试题库参考答案一、选择题答案:1.B2.C3.B4.C5.C6.C7.A8.A9.D10.C11.B12.A13.C14.B15.A16.D17.A18.A19.D20.A21.A22.D23.C24.B25.C26.D27.B28.D29.A30.A31.D32.A33.D34.D35.D36.D37.B38.C39.A41.A42.C43.B44.B45.C46.D47.D48.D49.A50.A51.D52.B53.C54.A55.B56.C57.A58.C59.D60.C61.A62.D63.C64.C65.D66.A67.B68.C69.B70.D71.D72.A73.D74.C75.D76.C77.C78.D79.D80.B二、判断题答案:1. ×3. √4. √5. ×6. √7. ×8. ×9. ×10. ×11. √12.√13. ×14. √15. √16. √17. ×18. ×19. √20. √21. √22. √23. √24. ×25. √26. ×27. √28 √29. √30. √31. √32. √33. √34. √35. √36. √37. √38. √39. ×40. √41. ×42. √三、填空题答案:1.运行管理程序2.汇编程序汇编3.存储器译码分析4.源地址目标地址存储器 IO设备5. 6 36.64KD 字节7.不能 64K8. 009. 5510. FF11. 5512.源操作数13.目的操作数T 1 CL15.字字节16.带符号数无符号数17.CF OF18.SI DI19.AL AX DF20.AL AX SI21. + -22.段内转移段间转移23.IPCS24.段地址偏移地址25.-128 +12726.条件码27.末尾28.不影响29.内部外部30.IP CS PSW31.第一个32.不能33.PTR34. 标号35. ":"36. PTR37. 地址表达式38.SEG39.OFFSET40.TYPE41. LENGTH42. HIGH43. 标号、变量44. 指令、伪操作、宏指令的助记符45. 表达式46. 注释项47. 操作数项48.顺序线性法49.算法存储工作50.1-几没有51.00H 4CH52.数据工作53.计数控制法54.任一55.25656.已知未知57. 单重循环58. 满足59. 条件60.DO-UNTIL DO-WHILE61. IF62. EXE63. 堆栈 , SS64. ;(或分号)65. AH66. 用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)67. 中断 , 中断源。
汇编语言习题答案 (3)汇编语言习题答案(3)第3章自测练习一、选择题(四选一)1.则表示一条处理器指令所在存储单元的符号地址就是c。
a变量b常量c标号d偏移量2.汇编语言中的变量存有多种类型属性,但错误的类型就是b。
a字节型byteb字符型charc字型wordd双字型dword3.继续执行movbx,segvar指令,bx获得变量var的b。
a物理地址b段地址c偏移地址d内容4.masm语句中,采用c分隔标号和指令。
a逗号b分号c冒号d空格5.欲设定从偏移地址100h开始安排程序,可使用a伪指令。
aorg100hbstart=100hcstartdb100hdstartequ100h6.与“movbx,offsetvar”指令等效的指令是d。
amovbx,varb1dsbx,varclesbx,vard1eabx,var.7.下条语句bufdbl0dup(3dup(?,10),3,10)编订后,变量buf占据的存储单元字节数就是b。
a100b80c40d208.数据定义语句“numldw(12or6and2)ge0eh”,定义的num1单元的内容是b。
a0b0ffffhc1d0ffh9.建议将a、b两个字符的ascii码41h和42h顺序存放在已连续两个字节存储单元中,可以采用的语句就是a。
adb`ab'bdw`ab'cdb0abhddw0abh10.在汇编语言程序中,对end语句叙述正确的是c。
aend语句就是一可以继续执行语句bend语句表示程序执行到此结束cend语句表示源程序到此结束dend语句在汇编后要产生机器码11.下面的数据传输指令中,错误的操作方式就是d。
amovss:[bx+di],byteptr10hbmovdx,l000hcmovwordptr[bx],1000hdmovds,2000h12.下面指令执行后,变量dab中的内容是c。
dawdw2a05hdabdb0fahmoval,byteptrdawsubdab,ala0dahb0fahc0f5hd0d0h113.根据下面的语句序列,ax寄存器的内容就是c。
2016《汇编语言》练习题库参考答案华中师范大学网络教育学院《汇编语言程序设计》练习测试题库参考答案一、选择题答案:1.B2.C3.B4.C5.C6.C7.A8.A9.D10.C11.B12.A13.C14.B15.A16.D17.A18.A19.D21.A22.D23.C24.B25.C26.D27.B28.D29.A30.A31.D32.A33.D34.D35.D36.D37.B38.C39.A40.D41.A43.B44.B45.C46.D47.D48.D49.A50.A51.D52.B53.C54.A55.B56.C57.A58.C59.D60.C61.A62.D63.C65.D66.A67.B68.C69.B70.D71.D72.A73.D74.C75.D76.C77.C78.D79.D80.B二、判断题答案:1. ×2. ×3. √4. √5. ×6. √7. ×8. ×9. ×10. ×11. √12.√13. ×14. √15. √16. √17. ×18. ×19. √20. √21. √22. √23. √24. ×25. √26. ×27. √28 √29. √30. √31. √32. √33. √34. √35. √36. √37. √38. √39. ×40. √41. ×42. √三、填空题答案:1.运行管理程序2.汇编程序汇编3.存储器译码分析4.源地址目标地址存储器 IO设备5. 6 36.64KD 字节7.不能 64K8. 009. 5510. FF11. 5512.源操作数13.目的操作数T 1 CL15.字字节16.带符号数无符号数17.CF OF18.SI DI19.AL AX DF20.AL AX SI21. + -22.段内转移段间转移23.IPCS24.段地址偏移地址25.-128 +12726.条件码27.末尾28.不影响29.内部外部30.IP CS PSW31.第一个32.不能33.PTR34. 标号35. ":"36. PTR37. 地址表达式38.SEG39.OFFSET40.TYPE41. LENGTH42. HIGH43. 标号、变量44. 指令、伪操作、宏指令的助记符45. 表达式46. 注释项47. 操作数项48.顺序线性法49.算法存储工作50.1-几没有51.00H 4CH52.数据工作53.计数控制法54.任一55.25656.已知未知57. 单重循环58. 满足59. 条件60.DO-UNTIL DO-WHILE61. IF62. EXE63. 堆栈 , SS64. ;(或分号)65. AH66. 用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)67. 中断 , 中断源。
一,单项选择题(每小题1 分,共20 分1-10CCCCAADACB 11-20.ADBBAADDCC1.指令JMP FAR PTR DONE 属于( CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是(A.对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMP S指令B.对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CM P 指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令3.一个有128 个字的数据区,它的起始地址为12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是(A.12CSBHB.12B6BHC.12C59HD.12BFEH4.在下列指令的表示中,不正确的是(A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL5.在进行二重循环程序设计时,下列描述正确的是(A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内C.内、外循环初值都应置外循环之外D.内、外循环初值都应置内循环之外,外循环之内6.条件转移指令JNE 的测试条件为( A.ZF=0B.CF=0C.ZF=1D.CF=17.8086CPU 在基址加变址的寻址方式中,变址寄存器可以为(A.BX 或CXB.CX 或SIC.DX 或SID.SI或DI8.已知BX=2000H,SI=1234H, 则指令MOV A X,[BX+SI+2] 的源操作在(中。
A.数据段中偏移量为3236H 的字节B.附加段中偏移量为3234H的字节C.数据段中偏移量为3234H 的字节D.附加段中偏移量为3236H 的字节9.执行如下程序:( MOV AX,0MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT执行后(BX=(A.99B.100C.101D.10210.上题的程序执行后(AX=(A.5000B.5050C.5100D.515011.对于下列程序段:(AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用指令完成同样的功能。
汇编语言考试题库及答案一、选择题1. 在汇编语言中,以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. ADDC. SUBD. MUL答案:A2. 假设寄存器AX的值为1234H,执行指令“AND AX, 0F0H”后,AX 的值是多少?A. 1230HB. 0F34HC. 0F30HD. 1234H答案:C二、填空题1. 在汇编语言中,________指令用于将立即数加载到寄存器中。
答案:MOV2. 寄存器EAX的高16位是_______。
答案:AX三、简答题1. 解释汇编语言中的“段”是什么概念?答案:在汇编语言中,“段”是内存管理的一个概念,用于将程序的不同部分(如代码、数据、堆栈)分隔开来。
每个段都是内存中的一个区域,它有一个段基址,程序中的地址由段基址和偏移量组合而成。
2. 描述汇编语言中循环结构的实现方式。
答案:循环结构在汇编语言中通常通过标签和跳转指令实现。
首先定义一个循环的开始标签,然后在循环体中执行需要重复的操作。
循环结束前使用条件跳转指令(如JE、JNE等)跳回循环开始的标签,直到满足跳出循环的条件。
四、编程题1. 编写一个汇编程序,实现将两个16位无符号数相加,并将结果存储在寄存器AX中。
答案:```MOV AX, 1234HMOV BX, 5678HADD AX, BX```上述程序首先将1234H加载到AX寄存器中,然后将5678H加载到BX寄存器中,最后使用ADD指令将BX中的值加到AX中,结果存储在AX寄存器中。
2. 编写一个汇编程序,实现将字符串"Hello, World!"存储在内存中。
答案:```.DATAString DB 'Hello, World!', 0```上述程序在数据段定义了一个字符串"Hello, World!",后面跟着一个空字符作为字符串的结束标记。
汇编语言试题及答案一、选择题1. 下列汇编指令中,用于加载立即数至寄存器的是:A. MOVB. ADDC. SUBD. XOR答案:A. MOV2. MOV指令中,源操作数与目的操作数的位数必须相同吗?A. 是B. 否答案:B. 否3. 下列指令中,用于从内存读取数据的是:A. MOVB. JMPC. ADDD. LEA答案:D. LEA4. 下列寻址方式中,可以直接给出操作数的地址的是:A. 直接寻址B. 间接寻址C. 寄存器寻址D. 寄存器间接寻址答案:A. 直接寻址5. CPU中的程序计数器(PC)用于保存:A. 下一条指令的地址B. 当前指令的地址C. 上一条指令的地址D. 中断服务程序的地址答案:A. 下一条指令的地址二、填空题1. 8086处理器的数据总线位数是_________。
答案:162. MOV AX, BX 汇编指令是将______的值复制到______。
答案:BX,AX3. 寻址方式LEA BX, [SI+DI]的含义是将_______与_______的和作为BX的值。
答案:SI,DI4. 8086处理器的寻址空间大小是_________。
答案:1MB5. 标志寄存器中的ZF标志位表示_________。
答案:零标志位,表示结果为零三、简答题1. 简述什么是汇编语言?汇编语言是一种底层的程序设计语言,通过使用助记符来代替具体的操作码,使得编写的代码易于阅读和理解。
汇编语言直接操作计算机硬件,与机器语言密切相关,最终会被翻译成机器语言运行在计算机上。
2. 什么是寄存器?寄存器是计算机内部用于存储数据和执行操作的高速存储器。
不同的计算机体系结构会有不同的寄存器数量和用途。
寄存器的访问速度非常快,因此在编写汇编语言代码时,经常使用寄存器来进行数据的操作和传递。
3. 请举例说明MOV指令的用法及其作用。
MOV指令用于将数据从一个位置复制到另一个位置。
它可以将立即数、寄存器或内存中的数据复制到目标寄存器或内存位置。
一、单项选择题1、在下列的选项中,能够组成计算机系统的是(A )。
A.硬件系统和软件系统B.CPU、存储器、输入/输出设备C.操作系统、各种语言D.系统软件和应用软件2、汇编语言属于( B )。
A.用户软件B.系统软件C.高级语言D.机器语言3、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B )。
A.EXE B.OBJ C.ASM D.LST4、汇编语言的什么文件经链接(LINK)后产生可执行文件?(D)A.ASM B.EXE C.LST D.OBJ5、中央处理器CPU是由(D )组成的。
A.运算器B.控制器C.寄存器组D.前三者6、IBM PC机的DOS是属于( B )。
A.用户软件B.系统软件C.系统硬件D.一种语言7、汇编语言源程序是( A )程序。
A.不可直接执行的B.可直接执行的C.经汇编程序汇编后就可执行的D.经连接后就可直接执行的8、8086/8088 CPU的寄存器组中,8位的寄存器共有(C )个。
A.4B.6C.8D.109、8086/8088 CPU的寄存器组中,16位的寄存器共有(D )个。
A.10B.12C.13D.1410、8086/8088 CPU执行算术运算时PSW共有( C )个标志位会受影响。
A.4B.5C.6D.711、在程序执行过程中,IP寄存器始终保存的是(B )。
A.上一条指令的首地址B.本条指令的首地址。
C.下一条指令的首地址D.需计算有效地址后才能确定地址。
12、IBM PC机的存储器可分( D )个段。
A.4B.256C.512D.6553613、当使用BP作编程地址时,此时使用的是(D )段。
A.CSB.DSC.ESD.SS14、如果指令的运算结果为0,则( C )标志位为1。
A.SFB.OFC.ZFD.CF15、如果指令的运算结果中有奇数个1,则(A )标志位为0。
A.PFB.CFC.OFD.SF16、IBM PC机的内存是按(B )是编址的。
汇编考试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令是汇编语言中的无条件跳转指令?A. JZB. JEC. JMPD. JC答案:C2. 在汇编语言中,哪个指令用于将数据从内存读取到寄存器中?A. MOVB. ADDC. SUBD. MUL答案:A3. 8086微处理器中,哪个寄存器用于存储指令指针?A. IPB. SPC. BPD. SI答案:A4. 汇编语言中,哪个指令用于将一个字节的数据与累加器中的值进行逻辑“与”操作?A. ANDB. ORC. XORD. NOT答案:A5. 在8086微处理器中,哪个指令用于将累加器的内容压入堆栈?A. PUSH AXB. POP AXD. RET答案:A6. 汇编语言中,哪个指令用于将一个字数据从寄存器移动到内存?A. MOV [BX], ALB. MOV AL, [BX]C. MOV AL, BLD. MOV [BX], BL答案:A7. 8086微处理器中,哪个指令用于将当前的CS和IP寄存器的值压入堆栈,然后跳转到指定的地址?A. CALLB. RETC. INTD. IRET8. 汇编语言中,哪个指令用于将一个字数据从内存移动到寄存器?A. MOV AL, [BX]B. MOV [BX], ALC. MOV AL, BLD. MOV BL, [BX]答案:A9. 在汇编语言中,哪个指令用于将一个寄存器的内容与另一个寄存器的内容进行逻辑“或”操作?A. ANDB. ORC. XORD. NOT答案:B10. 8086微处理器中,哪个指令用于从堆栈中弹出一个字数据到累加器?A. PUSH AXB. POP AXC. CALLD. RET答案:B二、填空题(每题2分,共20分)1. 汇编语言中的________指令用于将数据从寄存器移动到内存。
答案:MOV2. 8086微处理器中的________指令用于无条件跳转。
答案:JMP3. 在汇编语言中,________指令用于将一个字节的数据与累加器中的值进行逻辑“异或”操作。
选择题(部分习题应多选)1、汇编语言源程序经汇编后不能直接生成(1)。
(A).OBJ文件(B).LST文件(C).EXE文件(D).CRF文件2、运算型指令的寻址和转移型指令的寻址,其不同点在于(2)。
(A)前者取操作数,后者决定程序的转移地址(B)后者取操作数,前者决定程序的转移地址(C)两者都是取操作数(D)两者都是决定程序的转移地址3、JMP WORD PTR [DI]是(3)。
(A)段内间接转移(B)段间间接转移(C)段内直接转移(D)段间直接转移4、JMP FAR PTR ABCD(ABCD是符号地址)是(4)。
(A)段内间接转移(B)段间间接转移(C)段内直接转移(D)段间直接转移5、INC指令不影响(5)标志。
(A)OF (B)CF(C)SF (D)ZF6、条件转移指令JNE的测试条件是(6)。
(A)OF (B)CF(C)SF (D)ZF7、逻辑移位指令SHL用于(7);(A)带符号数乘2 (B)带符号数除2(C)无符号数乘2 (D)无符号数除2而算术移位指令SAL用于(8)。
(A)带符号数乘2 (B)带符号数除2(C)无符号数乘2 (D)无符号数除28、下列程序执行后,请选择正确的结果:10A3H:2000H XOR AL,AL2002H MOV AX,CS2004H MOV SS,AX2006H MOV SP,2F00H2009H MOV DX,2012H200CH PUSH DX200DH CALL 2700H2010H ADD CX,DX2012H HLT10A3H:2700H POP CXRET8.1、(AX)=(9);(A)10A3H (B)2000H(C)2012H (D)2799H8.2、(SP)=(10);(A)2F02H (B)2F00H(C)2EFEH (D)2EFCH8.3、(DX)=(11);(A)2700H (B)2F00H(C)2012H (D)2010H8.4、(CX)=(12);(A)2700H (B)2F00H(C)2010H (D)4024H8.5、ZF=(13);(A)1 (B)0(C)不定(D)-110、对于下列程序段:AGAIN:MOV ES:[DI],ALINC DILOOP AGAIN可用指令(16)完成相同的功能。