广东海洋大学汇编语言复习题目答案
汇编语言复习题(带答案)
汇编语言复习题(带答案)汇编语言期末复习题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。
DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。
DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。
DX4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。
DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段地址在 SS 寄存器中。
TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表示注释的开始。
TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。
TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。
TK9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。
在此,称引起紧急事务的事件为中断源。
TK10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。
TK11、计算机系统通过接口与外围设备通信。
TK12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。
TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。
每个字的第一个字节为显示字符的 ASCII码,第二个字节为显示字符的属性。
TK14、简述上机运行汇编语言程序的过程。
JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。
汇编语言试题及答案
汇编语言试题及答案一、单项选择题(每题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寄存器。
汇编语言复习题附带答案.
复习题一、单选题(在本题的每一小题的备选答案中,只有一个答案是正确的,请把你认为正确答案的题号,填入题干的括号内。
多选不给分。
1.十六进制数 88H ,可表示成下面几种形式,请找出错误的表示(④。
①无符号十进制数 136 ②带符号十进制数-120③它的二进制形式是 10001000B ④ 8位二进制数-8的补码表示2.存放条件码标志、控制标志和系统标志的寄存器是(④。
① IP ② SP ③ BP ④ PSW3. 执行加法运算不能使用的寄存器是 ( ③。
①、 BP ②、 SI③、 CS ④、 CL4.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是 (②①、 AX , BX , CX , DX ②、 BX , BP , SI , DI③、 SP , IP , BP , DX ④、 CS , DS , ES , SS4、下列传送指令中有语法错误的是 (①。
①、 MOV CS, AX ②、 MOV DS, AX③、 MOV SS, AX ④、 MOV ES, AX5. ADD AX , BX 指令执行完后 OF=1,下列说法正确的是(③①、如果 AX,BX 得内容均是带符号数,那么表示执行结果正确②、如果 AX,BX 得内容均是无符号数,那么表示执行结果不正确;③、如果 AX,BX 得内容均是带符号数,那么执行结果表示溢出;④、如果 AX,BX 得内容均是无符号数,那么执行结果表示溢出;6.一个有 16字的数据区域,它的起始地址是 70A0:DDF6,那么该数据单元第三个字单元的物理地址为(④①、 7E816H ②、 7E814H ③、 7E7F8H ④、 7E7FAH7、与 MOV BX, OFFSET VAR指令完全等效的指令是 ( ④。
①、 MOV BX, VAR ②、 LDS BX, VAR③、 LES BX, VAR ④、 LEA BX, VAR8.如果 AX=0FFFEH,那么单独执行完 ADD AX , 1,RCR AX , 1 , (AX = (④①、 0000H ②、 8000H ③、 0FFFFH ④、 7FFFH9. MOV AL , 88HTEST AL , 66H 指令执行完后, (AL =(①①、 88H ②、 66H ③、 0H ④、 0EEH10、 BUF DW 10H DUP(3 DUP(2, 10H , 3, 5上述语句汇编后,为变量 BUF 分配的存储单元字节数是 (②。
《汇编语言程序设计》期末复习题和答案.doc
《汇编语言程序设计》期末复习题及答案一、选择(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=186m B=273R,C=0BB E把这三个数看成无符号数,则它们之间的关系是(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尹。
且ZF=O9.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,执行“SA R 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=O, (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 中。
汇编语言复习题附答案
汇编语言复习题附答案一、选择题1. 汇编语言是一种()。
A. 高级语言B. 机器语言C. 低级语言D. 面向对象语言答案:C2. 在汇编语言中,指令通常由()组成。
A. 操作码和操作数B. 操作数和地址C. 操作码和地址D. 操作码、操作数和地址答案:A3. 汇编语言中的寄存器通常用来()。
A. 存储数据B. 存储指令C. 存储程序D. 存储地址答案:A4. 汇编语言中的指令MOV AX, BX的作用是()。
A. 将AX寄存器的值移动到BX寄存器B. 将BX寄存器的值移动到AX寄存器C. 将AX和BX寄存器的值相加D. 将AX和BX寄存器的值相减答案:B5. 汇编语言中的循环结构通常使用()指令实现。
A. JZB. JNZC. LOOPD. CALL答案:C二、填空题1. 汇编语言中的指令ADD AX, BX表示将AX和BX寄存器的值相加,并将结果存入____寄存器。
答案:AX2. 汇编语言中的指令SUB AX, BX表示将AX寄存器的值减去BX寄存器的值,并将结果存入____寄存器。
答案:AX3. 汇编语言中的指令CMP AX, BX用于比较AX和BX寄存器的值,但不进行存储操作,结果影响____标志。
答案:标志寄存器4. 汇编语言中的指令JMP LABEL用于无条件跳转到标签____处执行。
答案:LABEL5. 汇编语言中的指令PUSH AX将AX寄存器的值压入____。
答案:堆栈三、简答题1. 简述汇编语言与机器语言的区别。
答案:汇编语言是一种低级语言,它使用助记符来表示机器语言的指令,更易于人类理解和编写。
机器语言则是由二进制代码组成的指令集,直接被计算机硬件执行,但对人类来说难以阅读和编写。
2. 描述汇编语言中如何实现条件跳转。
答案:汇编语言中实现条件跳转通常使用条件跳转指令,如JZ(跳转如果零)、JNZ(跳转如果非零)、JMP(无条件跳转)等。
这些指令根据CPU的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
汇编语言试题及参考答案
汇编语言试题及参答案一、填空题1.ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF为1时,SF为()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为无符号数。
汇编语言程序设计试题参考答案
汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.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对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。
汇编语言习题答案 (3)
汇编语言习题答案 (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。
汇编语言复习题专科答案
汇编语言复习题专科答案一、选择题1. 在汇编语言中,指令MOV AX, [BX]表示:A. 将BX寄存器的内容移动到AX寄存器B. 将AX寄存器的内容移动到BX寄存器C. 将BX寄存器指向的内存地址中的数据移动到AX寄存器D. 将AX寄存器指向的内存地址中的数据移动到BX寄存器答案:C2. 下列哪个指令是将数据从内存传送到寄存器?A. MOV AX, BXB. MOV AX, [BX]C. MOV [BX], AXD. MOV BX, AX答案:B3. 汇编语言中的立即数是什么?A. 一个常量B. 一个变量C. 一个寄存器D. 一个内存地址答案:A4. 汇编语言中,哪个指令用于实现循环结构?A. JMPB. JCC. LOOPD. CALL答案:C5. 下列哪个指令用于实现条件跳转?A. MOVB. CMPC. JZD. MOVS答案:C二、填空题1. 汇编语言中的寄存器可以分为______、______和______。
答案:通用寄存器,段寄存器,控制寄存器2. 汇编语言中的指令MOV AX, 0x1234中的0x1234是一个______。
答案:立即数3. 在汇编语言中,指令ADD AX, BX的作用是将BX寄存器的内容加到AX寄存器中,并将结果存储在______。
答案:AX寄存器4. 汇编语言中的指令SUB AX, BX的作用是将AX寄存器的内容减去BX 寄存器的内容,并将结果存储在______。
答案:AX寄存器5. 汇编语言中的指令DIV AX的作用是将AX寄存器的内容除以______。
答案:AX寄存器三、简答题1. 请简述汇编语言中的堆栈操作指令。
答案:堆栈操作指令主要包括PUSH和POP。
PUSH指令用于将数据压入堆栈,而POP指令用于从堆栈中弹出数据。
2. 解释汇编语言中的段寄存器的作用。
答案:段寄存器在汇编语言中用来存储段地址。
它们允许程序员访问不同的内存段,从而管理内存空间。
四、编程题1. 编写一个汇编语言程序,实现将AX寄存器中的值乘以2,并存储结果到DX:AX寄存器对中。
汇编语言复习题答案
汇编语言复习题答案一、选择题1. 汇编语言是一种低级语言,它与机器语言之间的关系是:A. 汇编语言是机器语言的扩展B. 汇编语言是机器语言的直接翻译C. 汇编语言是机器语言的高级形式D. 汇编语言是机器语言的汇编答案:D2. 在汇编语言中,指令“MOV AX, 1234H”的作用是:A. 将内存地址1234H的数据移动到AX寄存器B. 将立即数1234H移动到AX寄存器C. 将AX寄存器的内容移动到内存地址1234HD. 将AX寄存器的内容与1234H进行比较答案:B3. 以下哪个不是汇编语言中的寻址方式:A. 直接寻址B. 间接寻址C. 寄存器寻址D. 堆栈寻址答案:D二、填空题1. 汇编语言程序中的伪操作码包括但不限于:______、______、______等。
答案:ORG, DB, DW2. 汇编语言中的指令MOV AX, BX表示将BX寄存器的内容________到AX寄存器。
答案:复制3. 汇编语言中,指令“ADD AX, BX”执行后,AX寄存器的值将_______。
答案:增加BX寄存器的值三、简答题1. 解释汇编语言中“堆栈”的概念及其基本操作。
答案:堆栈是一种特殊的数据结构,它遵循后进先出(LIFO)原则。
基本操作包括PUSH(压栈)和POP(出栈),PUSH用于将数据压入堆栈顶部,POP用于从堆栈顶部取出数据。
2. 描述汇编语言中“条件跳转”指令的工作原理。
答案:条件跳转指令根据程序中设置的条件是否满足来决定是否跳转到指定的地址继续执行。
常见的条件跳转指令包括JE(零跳转)、JNE(非零跳转)、JMP(无条件跳转)等。
四、编程题1. 编写一个汇编语言程序片段,实现将AX寄存器的值加1。
答案:INC AX2. 编写一个汇编语言程序片段,实现将BX寄存器的值与立即数5相加,并将结果存储在CX寄存器中。
答案:MOV CX, BXADD CX, 5五、综合题1. 假设有一个汇编语言程序需要实现两个无符号数的乘法,其中一个数存储在AX寄存器中,另一个数存储在BX寄存器中。
汇编语言考试复习题及参考答案
汇编语言考试复习题及参考答案第三套题一、1. 8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。
2. CPU发出的访问存储器的地址是__________。
3. 逻辑地址为F000:100的存储单元,其物理地址是__________。
4. 用来指示堆栈栈顶的偏移地址的是__________寄存器。
5. 若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。
这条指令执行后将利用标志位__________实现转移。
6. 若定义:bdata db 2 dup(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.000000013.MASM语句中,表达常数不正确的形式是A.01101001BB. A346HC.’A’4.如果SS=600H,则说明堆栈段物理地址起始于A.60HB.600HC.6000HD.60000H5.dw 50 dup(?)预留了存储空间的字节数是A.25B.50C.100D.2006.下列指令中有操作数在代码段中的是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,0fh8.设置逻辑段应该采用的一对伪指令是A.segment/endsB.start/end startC.proc/endpD.macro/endm9.条件转移指令JNE条件是A.CF=0B.CF=1C.ZF=010.逻辑移位指令SHL可用于A.有符号数乘以2B.有符号数除2C.无符号数乘以2D.无符号数除以211.执行“in al, dx”指令后,进入AL寄存器的数据来自A.寄存器B.存储器C.立即数D.外设端口12.将十进制数75以压缩BCD码送入AX,正确的指令是A.mov ax,0075B. mov ax,0705C.mov ax,0075hD. mov ax,0705h13.如下指令可将AX寄存器内容改变的是A. cmp ax,bxB. test ax,bxC. and ax,bxD. xchg ax,bx14.设AH=10H,执行“neg ah”指令后,正确的结果是A. AH=10H、CF=1B. AH=F0H、CF=0C. AH=10H、CF=0D. AH=F0H、CF=115.如下程序段:again: mov es:[di],alinc diloop again可用指令__________完成相同的功能。
汇编语言习题答案
第一章.习题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=7FFFH1.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=2551.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=46601.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=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6)-85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=B=0F7H;CF=0;OF=01.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。
广东海洋大学汇编语言复习题 套题+答案
广东海洋大学汇编语言复习题套题+答案注:此为广东海洋大学汇编语言复习题,学会满分都不成问题。
答案由阿稻想洋洋整理提供,如有疑问和不妥之处,请联系师兄我。
2021汇编语言复习提纲一、考试题型:1、选择题(20分,每题1分)2、判断题(10分,每题1分)3、填空题(20分,每空2分)4、程序填空题(24分,每空3分)5、程序分析题(16分,每题4分)6、编程题(10分)二、考试范围与考试形式教材第1~9章,笔试,闭卷三、考试要点:1、十进制、二进制、十六进制的相互转换; 位、字节与字的概念;SACII码(常用数字、字母及回车换行空格符的ASCII码各是多少?)与BCD 码的特点。
2、8086CPU内部结构及总线宽度(地址总线宽度和数据总线宽度)3、8086CPU有哪些寄存器,寄存器的位数、名称及作用; 标志寄存器各个位的名称。
4、内存单元的地址与内容;物理地址的形成与存储器分段结构,逻辑地址与物理地址的关系,段的划分条件及段的大小。
5、常用的与数据有关的寻址方式 6、常用汇编指令的格式和功能(数据传送类指令MOV、LEA、IN/OUT、PUSH/POP、CBW、CWD算术运算类指令ADD、ADC、INC、SUB、DEC、CMP、MUL、DIV逻辑运算与移位 AND、OR、XOR、SHL、SHR 转移指令 JMP、JNZ/JZ、JG/JL、JBE/JAE串操作指令 REP 、 REPZ、MOVSB、CMPSB、STOSB、STD、CLD循环指令 LOOP、LOOPNZ 子程序调用与返回 CALL、RET 中断调用与返回 INT、IRET 7、常用伪指令的格式与用法SEGMENT…ENDS、PROC…ENDP、MACRO…ENDM、 ASSUME、END、OFFSET、SEG、LOCAL DB、DW、LABEL、PTR、DUP8、汇编语言的上机过程及各个过程中产生的文件后缀名;源程序的基本结构9、debug常用命令的功能及用法(R、D、E、A、U、T、G、P);要明白Debug中使用命令后显示各栏内容的含义。
(完整版)汇编语言试题及答案.
一,单项选择题 (每题 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 AX,[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也可用 ______指令达成相同的功能。
汇编语言课后习题及答案 按章节 超全面
`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。
(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。
(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。
(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。
(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。
(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。
(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。
(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。
(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。
2.目前广泛使用的Pentium计算机其字长为5个字节(×)。
3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。
4.微型计算机的字长并不一定是字节的整数倍(×)。
三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。
2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。
汇编期末试题及答案
汇编期末试题及答案一、选择题1. 汇编语言是一种 _____。
A. 高级编程语言B. 低级编程语言C. 自然语言D. 机器语言答案:B. 低级编程语言2. 汇编语言使用的是 _____。
A. 英文单词B. 二进制数C. 十进制数D. 十六进制数答案:D. 十六进制数3. 汇编语言的特点之一是 _____。
A. 语法严谨B. 代码简洁C. 易于理解和学习D. 可移植性强答案:A. 语法严谨4. 汇编语言最终需要翻译成 _____ 才能被计算机执行。
A. 高级编程语言B. 汇编器C. 操作系统D. 机器语言答案:D. 机器语言5. 汇编语言中,寄存器是 _____。
A. 存储数据的地方B. 存储指令的地方C. 进行运算的地方D. 执行输入输出的地方答案:A. 存储数据的地方二、填空题1. 汇编语言中,用于表示立即数的符号是 _____。
答案:#2. 用于表示寄存器的符号是 _____。
答案:$3. 汇编语言中,用于表示变量的符号是 _____。
答案:@4. 汇编指令 "mov ax, 5" 的作用是 _____。
答案:将立即数5存入寄存器ax中5. 汇编指令 "add bx, ax" 的作用是 _____。
答案:将寄存器bx的值与寄存器ax的值相加,并将结果存入寄存器bx中三、简答题1. 简述汇编语言相比高级编程语言的优缺点。
答:汇编语言相比高级编程语言的优点包括:- 可执行性强:汇编语言编写的程序可以直接在计算机上执行,无需额外的翻译和解释工作;- 控制权高:汇编语言可以直接操作硬件,对于特定应用领域的程序开发非常有优势;- 精确控制:汇编语言可以直接控制底层细节,如内存和寄存器,具有高度的灵活性和精准度。
汇编语言相比高级编程语言的缺点包括:- 可读性低:由于汇编语言的语法严谨,代码较为冗长,使得程序的可读性非常低;- 开发效率低:相比高级编程语言,汇编语言的开发效率较低,需要编写更多的代码才能完成相同的功能;- 可移植性差:汇编语言依赖于具体的硬件平台,不同的计算机体系结构可能需要不同的汇编语言程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言复习提纲一、考试题型:1、选择题(20分,每题1分)2、填空题(10分,每空1分)3、判断说明题(20分,每题2分)4、程序分析题(20分,每题5分)5、程序填空题(20分,每空2分)6、编程题(10分)二、考试范围与考试形式教材第1~9章,笔试,闭卷三、考试要点:要求熟悉指令功能,能熟练阅读和编写汇编语言源程序。
1、汇编语言源程序的结构框架2、汇编语言上机过程及产生的文件3、8086CPU内部寄存器组及地址总线与数据总线宽度4、debug的常用命令(R、D、A、E、U、T、G、P)5、物理地址的形成与存储器分段结构6、与数据有关的寻址方式7、常用指令的格式与功能常用汇编指令数据传送类MOV PUSH POP IN OUT LEA算术运算类:ADD ADC INC SUB SBB DEC CMP MULDIV逻辑指令:AND OR XOR TEST SHL SHR ROL ROR控制转移指令:JMP JNE JBE JL CALL LOOP INT RET 常用伪指令:成对出现的伪指令:SEGMENT…ENDS PROC…ENDP MACRO…ENDM假设:ASSUME 数据定义: DB DW LABEL地址计数器:$ 重复:DUP 结束:END属性操作符: PTR8、算术指令的执行影响标志寄存器中的条件标志位(CF、OF)9、循环与分支程序结构10、子程序结构11、宏指令定义12、中断源、中断向量表与中断向量的关系13、用IN和OUT指令直接控制硬件14、键盘、CMOS时钟、显示器的工作原理15、常用DOS中断(INT 21H 的1、2、9、10号功能调用)16、常用的BIOS中断(INT 16H的0号功能,INT 10H 的2、3、6、7、9号功能)重点掌握的程序:二、十、十六进制相互转换的程序BCD码转换为十进制的程序发声程序大小写字母相互转换的程序进行累加求和的程序例题5.1 5.3 5.4 5.5 习题 5.21 5.26例题6.3 6.4 6.9 习题 6.4 6.5 6.7例题7.1 习题7.1例题8.1 8.5 习题8.1 8.3 8.9 8.11例题9.5 9.7 9.11 9.14 习题9.3 9.4 9.5 9.6 9.10汇编语言复习题一、选择题1. 下面关于汇编语言源程序的说法中正确的是( B)A. 必须要有堆栈段B. 一个程序可以有多个代码段C. 必须要有数据段D. 只能有一个数据段2. 在汇编语言程序开发中,一般要按顺序经过( B )过程。
a. 用文字编辑程序编写源程序b. 用连接程序LINK连接程序.ASM—>. OBJ--> . EXEc. 用MASM宏汇编程序,编译成目标程序d. 用DEBUG程序调试程序A. abcdB. acbdC. adcbD. adbc3. 汇编语言编译程序MASM.EXE(编译器)编译的对象是(C)文件。
A. .EXEB. .OBJC. .ASMD. .DOC4. 汇编语言源程序经过MASM汇编后产生(C)文件。
A. .EXEB. .ASMC. .OBJD. .DOC5. DEBUG调试程序时查看内存单元内容的命令是( A )A. DB.RC.AD. E6. DEBUG调试程序时查看寄存器内容的命令是( B )A. DB.RC.UD. A7. 8086CPU地址总线宽度为( C )位。
A、8B、16C、20D、328. 8086CPU数据总线宽度为(B)位。
A、8B、16C、20D、329. 1个CPU的寻址能力为32KB,那么它的地址总线宽度为(B)。
A、13B、15C、18D、32k10. 汇编语言源程序中定义段的伪指令是( D )A. REPT…ENDMB. PROC…ENDPC. MACRO…ENDMD. SEGMENT…ENDS11. 汇编语言源程序中定义宏的伪指令是(C)A. REPT…ENDMB. PROC…ENDPC. MACRO…ENDMD. SEGMENT…ENDS12. .对于下列程序段:AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN 把[sI] 中的内容传送给ES:[DI]也可用( A )指令完成同样的功能。
A. REP MOVSB 串传送B. REP LODSB 从串取C. REP STOSB 存入串D. REPE SCASB 串扫描13. 设SP初值为2000H,执行指令“ PUSH AX ”后,SP的值是(C)A. 1998HB.1FFFHC. 1FFEHD. 2002H14. 设SP初值为2000H,执行指令“ POP BX ”后,SP的值是(D)A. 1998HB.1FFFHC. 1FFEHD. 2002H15.执行下列指令序列后,正确的结果是(A)MOV AL,81H al = 81hADD AL,AL al = 81h + 81h = 02h , cf = 1ADC AL,AL 02h + 02h + cf = 05hA. AL=05HB. AL=204HC. AL=04HD. AL=205H16. 下列指令被编译时会出错的是(D)mul的操作数不能为立即数A. MUL BXB. MUL CLC. MUL DAT1D. MUL 5617. 与MOV BX,OFFSET VAR指令完全等效的指令是( B)。
A、MOV BX,VARB、LEA BX,VARC、LDS BX,VARD、MOV BX,SEG VAR18. 指令指针寄存器是(C)A. BPB. SPC. IPD. PSW19. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( B)A. AX,BX,CX,DXB. BX,BP,SI,DIC. SP,IP,BP,DXD. CS,DS,ES,SS20. 下列数据段中:BUF1 DB 3 DUP(0,2 DUP (1,2),3)COUNT EQU $ - BUF1符号COUNT等价的值是(B)A. 6B. 18C. 16D. 8占用了18个字节,其中2 DUP (1,2)占用了2 * 2= 4个字节,总共占用了3 * 6 = 18个字节21. 设数据段中已有:DA1 DB 12H,34HDA2 DW 56H,78H下面有语法错误的语句是(C)A. MOV AL, DA1B. MOV WORD PTR DA1,AXC. MOV DA1+1,AXD. MOV BYTE PTR DA2+1,AL22. 指令MOV BYTE PTR [ BX+SI ],00H 中目的操作数的寻址方式是( d )A. 立即寻址B. 寄存器寻址C. 寄存器间接寻址D. 基址变址寻址23. 指令MOV ES: [ BX ],AL 中目的操作数的寻址方式是(c)A. 直接寻址B. 寄存器寻址C. 寄存器间接寻址D. 基址变址寻址24. 条件转移指令JB产生程序转移的条件是( A )A. CF=1B. CF=0C. CF=1和ZF=1D. CF=1和ZF=025、若执行SAL SI,CL后能将SI的内容乘以8,则(CL)=( B)A、2B、3C、4D、826. 编辑汇编语言源程序时,对于注释语句必须用英文输入法中的( B )来标示。
A. :B. ;C. ,D. .27. 将AL高4位清0,应执行的指令是 ( B )A. AND AL,0F0HB. AND AL,0FHC. OR AL,0FHD. TEST AL,0FH28.若程序中定义了26B的数据段data,那么程序载入内存,该data段实际占用的内存空间是( C )。
16的倍数A、16 BB、26 BC、32 BD、64KB29.在8086CPU系统中一个段的容量最小为(A)。
A、16BB、64KBC、512KBD、1KB有数据时最小为16B,没数据时最小为030.下列地址信息与0020H:03EFH确定的内存地址不同的是( B )。
A、5EFHB、203H:00EFHC、005EH:000FHD、0002H:05CFHA C D 对应的物理地址都是5EFH二、填空题1、完成下列数制转换:11101010B= D = H2. 在存储器分段管理中,物理地址需要____2_______个16位寄存器来存储。
3. 对于指令FEES DW 100 DUP(0)LENGTH= 100,SIZE= 200B 。
4. 设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少?(1)JMP BX ; I P=______1256h_____________(2)JMP TABLE[BX] ; IP________3280H_____________5. 设(DS)=2000H, 有下列数据段,请用十六进制写出下列各字节单元的内容:ORG 2100H 想知道org 是什么?百度一下TABLE DB 10, 3*5, 10H 占三个字节ADDRESS DD TABLE DD占四个字节,地址为2000h:2100hARRAY DW 2 DUP(3827H, ?) 占4个字,8个字节(1) (2100H)=____10_________ (2) (2103H)= _____00_________(3)(2106H)=____20H__________ (4) (210CH)= _____38H_________这里的DS=14F8H ,(2106H)=14题目DS=2000H ,所以(2106H)=206. 已知X= -38D,Y= -64D,则[X-Y]补=____1AH _______(结果用十六进制表示)7、设(DS)=2000H,(ES)=3000H,(SS)=4000H,(BX)=1000H,(BP)=1000H,(SI)=0001H,(DI)=0002H,(21000H)=1234H,(21002H)=5678H,(31000H)=9ABCH,(31002H)=0DEF0H,(41000H)=3456H,(41002H)=789AH计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。
(1) MOV AX, ES:[1000H] ; 物理地址PA=(2) MOV AX,[BP] ; 物理地址PA=(3) MOV AX, [BX][SI]物理地址PA= (AX)=8.计算机中8位二进制有符号数(含一位符号位)的补码表示范围是—128~1279. 若机器进行有符号数运算,执行指令:MOV AL,0F0HADD AL,78H则ADD指令执行后:(CF)= 1 ,(OF)= 0想知道结果也可以调试一下看看10. 8086CPU允许有256个中断源,其中定时器中断的中断类型号为08H,在中断向量表中N类型对应中断向量的地址为N ×4 。