(完整版)汇编语言试题及答案
- 格式:docx
- 大小:14.51 KB
- 文档页数:13
汇编考试试题及答案一、选择题(每题2分,共20分)1. 汇编语言中,以下哪个指令用于将数据从内存传送到寄存器?A. MOVB. CMPC. SUBD. ADD答案:A2. 在汇编语言中,以下哪个指令用于比较两个操作数?A. MOVB. CMPC. SUBD. ADD答案:B3. 汇编语言中,以下哪个指令用于从寄存器中减去一个数?B. CMPC. SUBD. ADD答案:C4. 在汇编语言中,以下哪个指令用于将寄存器的内容相加?A. MOVB. CMPC. SUBD. ADD答案:D5. 汇编语言中,以下哪个指令用于将数据从寄存器传送到内存?A. MOVB. CMPC. SUBD. ADD6. 在汇编语言中,以下哪个指令用于将立即数传送到寄存器?A. MOVB. CMPC. SUBD. ADD答案:A7. 汇编语言中,以下哪个指令用于将一个寄存器的内容传送到另一个寄存器?A. MOVB. CMPC. SUBD. ADD答案:A8. 在汇编语言中,以下哪个指令用于将内存中的数据与寄存器中的数据进行比较?B. CMPC. SUBD. ADD答案:B9. 汇编语言中,以下哪个指令用于将寄存器的内容相与?A. MOVB. CMPC. ANDD. ADD答案:C10. 在汇编语言中,以下哪个指令用于将寄存器的内容相或?A. MOVB. CMPC. ORD. ADD二、填空题(每题2分,共20分)1. 汇编语言中的指令通常由______、操作数和______组成。
答案:操作码,操作数2. 汇编语言中的寄存器可以分为______、______和______。
答案:通用寄存器,段寄存器,特殊寄存器3. 在汇编语言中,指令MOV AX, BX的意思是将寄存器BX的内容传送到寄存器______。
答案:AX4. 汇编语言中的指令格式通常包括操作码、______和______。
答案:操作数,操作数5. 汇编语言中的指令格式通常包括操作码、操作数和______。
一、填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为(1 ),否则ZF为(0 )。
当ZF为1时,SF为(0 )2.标号可以有两种类型属性。
它们是(NEAR/近程)和(FAR/远程) 3.8位无符号整数的表示范围为0--255,写成16进制形式为(0—FFH ),8位有符号整数的表示范围为-128--+127,写成16进制形式为(80H-7FH ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(GROUP ),不得有名字的是(NAME ),可有可无名字的是(DB )。
5.循环程序通常由(循环准备)(循环体)(循环的控制与修改)和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/(高)于+,-;XOR,OR(低)于AND,LT(等)于GT 7. 宏指令定义必须由伪指令(MACRO )开始,伪指令(ENOM )结束,两者之间的语句称为(宏体) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法(约定寄存器法)(约定存储单元法)(向量传递法) 9.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW(POP AYW )(2)双字变量AYD存放的地址指针送ES和SI(LES SI,ADY )(3)变量AY2类型属性送AH(MOV AH,TYPE AYZ )(4)不允许中断即关中断(CLI )(5)将字符串‘HOW ARE YOU!’存入变量AYB(AYB DB”HOW ARE YOU!”)(6)子程序返回调用程序(RET )(7)地址表达式AYY[4]的偏移地址送字变量ADDR(MOV ADDR,OFFSET AYY[4] )(8)AX的内容加1,要求不影响CF(INT AX )(9)BX的内容加1,要求影响所有标志位(ADD BX,1 )(10)若操作结果为零转向短号GOON(JZ GOON )二、单选题 1.IBM PC微机中,有符号数是用(补码)表示的 2.把汇编源程序变成代码程序的过程是(汇编)三、己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR。
《汇编语言程序设计》必考试题及答案一、选择题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:指令指针寄存器,存储下一条将要执行的机器指令的地址。
三、编程题请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。
```assemblysection .dataprompt db '请输入两个数,以空格分隔:', 0result db '两数相加的结果为:%d', 0section .bssnum1 resb 4num2 resb 4section .textglobal _start_start:; 输出提示信息mov eax, 4mov ebx, 1mov ecx, promptmov edx, 20int 0x80; 输入第一个数mov ebx, 0mov ecx, num1 mov edx, 4int 0x80; 输入第二个数 mov eax, 3mov ebx, 0mov ecx, num2 mov edx, 4int 0x80; 将两个数相加 mov eax, [num1] mov ebx, [num2] add eax, ebx; 输出结果mov ebx, eaxmov eax, 1mov ecx, resultint 0x80; 退出程序mov eax, 1xor ebx, ebxint 0x80```以上为一个简单的汇编语言程序,实现了从键盘输入两个数,并将其相加后输出的功能。
汇编语言试题及答案一、选择题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 分,共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也可用指令完成同样的功能。
A.REP MOVSBB.REP LODSBC.REP STOSBD.REPE SCASB12.下面指令序列执行后完成的运算,正确的算术表达式应是( MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,ALA.y=x2+1B.x=y2+1C.x=y2-1D.y=x2-113.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。
(A.占内存空间小,但速度慢B.占内存空间大,但速度快C.占内存空间相同,速度快D.占内存空间相同,速度慢14.在程序执行过程中,IP 寄存器中始终保存的是(A.上一条指令的首地址B.下一条指令的首地址C.正在执行指令的首地址D.需计算有效地址后才能确定地址15.PSW 寄存器中共有位条件状态位,有位控制状态位。
(A.6、3B.3 、6C.8、4D.4、816.下列指令执行时出错的是( A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]C.MOV AX,[BX+DI] NUMD.TEST AL,08H17.已知(AX=1234H, 执行下述三条指令后,(AX=(MOV BX,AXNEG BXADD AX,BXA.1234HB.0EDCCHC.6DCCHD.0000H18.在下列指令中, 指令的执行会影响条件码中的CF 位。
(A.JMP NEXTB.JC NEXTC.INC BXD.SHL AX,119.串指令中的目的操作数地址是由提供。
(A.SS:[BP]B.DS:[SI]C.ES:[DI]D.CS:[IP]20.将DX 的内容除以2,正确的指令是( A.DIV 2B.DIV DX,2C.SAR DX,1D.SHL DX,1二,简答题(每小题4 分,共12 分1.假定(DX=10111001B,(CL=0.3,(CF=1, 试确定下列各条指令单独执行后,DX 中的值。
(1SHR DX,1(2RCR DL,1(3RCL DX,CL2.写出完成下述功能的程序段:(1 传送25H 到AL 寄存器(2 将AL 的内容乘以2(3 传送15H 到BL 寄存器(4AL 的内容乘以BL 的内容并请写出最后(AX=?3.写一程序段,求双字长数DX∶bX 的相反数。
三,程序分析题(每小题6 分,共36 分1.现有如下程序段:DATA SEGMENT DA3 EQU 1234HORG 0020H DA4 EQU $-DA2DA1 DW 12H,23H DA5 DB 31H,32HDA2 DB 11H,21H DATA ENDS请回答:(1 该程序段已占有的存储字节数是多少?2.执行下列程序段后,回答问题。
ORG 1221H MOV BX,OFFSET NUMNUM DW 12H MOV CL,BYTE PTR NUM+1… MOV CH,TYPE NUMMOV AX,NUM HLT请问:(AX= ,(BX= ,(CX= 。
3.阅读如下程序:ADRR DB XXH,XXH,……,XXH CMP ADRR[BX],0 NUM EQU $-ADRR LOOPZ DONRETT DB?JNZ NEXT… MOV BL,OFFHMOV CX,NUM NEXT:MOV RETT,BLMOV BX,-1 HLTDON:INC BX请问:(1 该程序完成的功能是什么?(2 程序执行后指出RETT 字节单元中的内容是什么?4.现有一子程序:SUB1 PROC PLUS:TEST BL,80HTEST AL,80H JE EXITOJE PLUS XCHANGE:XCHG AL,BLTEST BL,80H EXITO:RETJNE EXITO SUB1 ENDPJMP XCHANGE试回答:(1 子程序的功能是什么?(2 若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=BL= 。
5.阅读程序段:BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1] RESULT DB? JNG NEXT… MOV AL,[SI+1]START:LEA SI,BLOCK NEXT:INC SIMOV CX,[SI] LOOP LOP1INC SI MOV RESULT,ALMOV AL,[SI] HLT请问:(1 该程序完成的功能是什么?(2 该程序循环的次数是多少?6.阅读如下程序段,回答所提出的问题,假定X1,X2,XN 为无符号数。
ORG 100HBLOK DW X1 ,X2, (X)COUNT EQU($-BLOLOK/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=程序循环次数=答案1-10CCCCAADACB 11-20.ADBBAADDCC 二,简答题(每小题4 分,共12 分1.答:(1 005CH (2 00DCH (3 05CCH2.答:(1MOV AL, 25H(2SHL AL, 1(3MOV BL, 15H(4MUL BL最后,(AX=612H =15543.答:NEG DXNEG AXSBB DX, 0三,程序分析题(每小题6 分,共36 分1.答:(1 该程序段已占有的存储字节数是8 个字节(2 符号名DA4 的值为2,符号名DA5 的值是0026H。
2.答:(AX=0012H (BX=1221H (CX=0200H3.答:(1 在以ADRR 为起始地址的数组中,查找第一个非0 数据。
(2 若找到则将第一个非0 数据在数组中的偏移量送入RETT 单元中;若无非0 数据,则将OFFH 送入RETT 单元中。
4.答:(1 子程序的功能是判别AL 和BL 中的数是否为异号数,当为异号时交换,否则不变。
(2 AL=77H, BL=9AH5.答:(1 该程序完成的功能是从20H(32 个有符号数中找出最小的数送入RESUL T 单元中。
(2 该程序的循环次数是1FH(31 。
6.答:RESULT+2 字存储单元的内容是MAX(X1, X2, … XNBX= 100H + 2× (COUNT-1程序循环次数=COUNT。