汇编试题

合集下载

汇编语言试题及参考答案

汇编语言试题及参考答案

汇编语言试题及参考答案一、选择题(每题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的作用是________。

汇编语言试题 (2)

汇编语言试题 (2)

汇编语言试题题目一:寄存器及栈操作假设有一段汇编代码如下,请根据代码的功能回答相应的问题:push ebpmov ebp, espmov eax, dword ptr [ebp + 8]add eax, dword ptr [ebp + 12]pop ebpret1.以上汇编代码中,push ebp和pop ebp的作用分别是什么?2.mov ebp, esp的作用是什么?有什么作用范围?3.dword ptr是什么意思?4.请解释ret的作用。

解答:1.push ebp的作用是将ebp的值保存到栈中,而pop ebp的作用是将栈中的值弹出,并将其赋给ebp寄存器。

这是函数调用的常用操作,用来保存和恢复函数的堆栈帧。

12.mov ebp, esp的作用是将栈顶地址存入ebp寄存器中,以便在函数内部可以通过ebp寄存器来访问函数参数和局部变量。

作用范围是当前函数内部。

3.dword ptr是一个内存访问修饰符,用来指定要访问的内存单元的大小和类型。

在本题中,dword ptr指示要访问的内存单元是一个 32 位的双字(double word)。

4.ret指令用于函数返回,它将弹出栈顶的返回地址,并跳转到该地址执行,从而实现函数的返回。

题目二:条件分支和循环请完成以下汇编代码的功能描述,并回答相应问题:mov eax, 10mov ecx, 0loop:cmp eax, 0je endadd ecx, eaxdec eaxjmp loopend:1.请描述以上汇编代码的功能。

2.eax和ecx分别用来存储什么数据?请解释mov eax, 10和mov ecx,0的作用。

3.cmp eax, 0和je end的作用是什么?24.dec eax是什么意思?5.jmp loop的作用是什么?解答:1.以上汇编代码的功能是计算从 10 累加到 1 的结果,并将结果存储在ecx寄存器中。

2.eax用来存储循环计数器(初始值为 10),ecx用来存储累加结果。

汇编在线考试

汇编在线考试

12.第12题单选题十六进制数88H,可表示成下面几种形式,请找出错误的表示()A、无符号十进制数136B、带符号十进制数 -120C、压缩型BCD码十进制数88D、8位二进制数 -8的补码表示标准答案:D18.第18题单选题若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )A、1400HB、77F8HC、0000HD、0FFFFH标准答案:A14.第14题单选题假设(AL)=0FFH,执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为 ( )。

A、0和0B、0和1C、1和0D、1和1标准答案:A3.第3题单选题在标志寄存器中表示溢出的标志( )。

A、AFB、CFC、OFD、SF标准答案:C12.第12题 单选题 在程序状态字寄存器中,当方向标志DF 位为0时,每次操作后使变址寄存器SI 和DI( )。

A 、减量B、增量 C、保持不变? D 、地址减1 标准答案:B 16.第16题 单选题 指令指针寄存器是( )。

A 、IP B、SP C、BP D 、BX 标准答案:A 5.第5题 单选题 若有BUF DW 1, 2, 3, 4,则可将数据02H 取到AL 寄存器中的指令是( )。

A 、MOV AL BYTE PTR BUF+ 1 B 、MOV AL BYTE PTR BUF +2 C 、MOV AL BYTE PTR BUF+ 3 D 、MOV AL BYTE BUF 2 标准答案:B20.第20题 单选题 设AL =0B4H ,BL =11H ,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF 的值为( )。

A 、OF =1,CF =B 、OF =1,CF =111、对于下面的数据定义,三条MOV 指令分别会变成什么?TAB1 DW 10 DUP(?)TAB2 DB 10 DUP(?)TAB3 DB ‘1234’```MOV AX, LENGTH TAB1MOV BL,LENGTH TAB2MOV CL,LENGTH TAB3答:MOV AX,10MOV BL,10MOV CL,1C 、OF =0,CF=0 D 、OF =0,CF =1 标准答案:B10.第10题 单选题 操作数直接存放在指令中,则它的寻址方式是( )。

汇编语言试题试题及其答案和评分

汇编语言试题试题及其答案和评分

汇编语言原理习题集一、单项选择题(每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( )A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( )A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是( )。

A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX10,且ZF=0D、CX10,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是( )。

A、SHR AX,1 SHR AX,1B、SHL AX,1 SHL,AX,1C、ROL AX,1 ROL AX,1D、RCR AX,1 RCR AX,15、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( )。

A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是( )。

A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=17、下列传送指令中有语法错误的是( )。

A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是( )。

A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是( )。

A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是( )。

MOV AL,82HCBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET VAR指令完全等效的指令是( )。

汇编期末考试题及答案

汇编期末考试题及答案

汇编期末考试题及答案试题:汇编期末考试题一、选择题(每题2分,共20分)1. 汇编语言中,用于定义常量的指令是:A. EQUB. DBC. DWD. DD2. 下列哪个指令用于将立即数送入累加器:A. MOV AX, 5B. MOV AL, 5C. MOV [100], 5D. MOV AX, [100]3. 在汇编语言中,哪个指令用于将数据从内存传送到寄存器:A. MOV AX, [BX]B. MOV [BX], AXC. MOV AX, BXD. MOV BX, AX4. 汇编语言中的循环结构通常使用以下哪个指令来实现:A. LOOPB. JUMPC. CMPD. RET5. 以下哪个指令用于将寄存器的内容清除为0:A. XOR AX, AXB. MOV AX, 0C. CLR AXD. SET AX, 06. 在汇编语言中,用于计算两个寄存器内容的和并存储结果的指令是:A. ADD AX, BXB. MOV AX, BXC. SUB AX, BXD. CMP AX, BX7. 下列哪个指令用于设置中断向量表:A. MOV AX, [100H]B. MOV [100H], AXC. MOV AX, @DATAD. MOV @DATA, AX8. 在汇编语言中,哪个指令用于无条件跳转:A. JMPB. JEC. JNED. JZ9. 汇编语言中,用于将寄存器的内容与立即数进行比较的指令是:A. CMP AX, BXB. MOV AX, BXC. ADD AX, BXD. SUB AX, BX10. 下列哪个指令用于将累加器的内容输出到屏幕上:A. OUT 0E0H, ALB. MOV AL, 0E0HC. MOV DX, 0E0HD. MOV AX, 0E0H二、简答题(每题5分,共20分)1. 解释汇编语言中的段寄存器的作用。

2. 描述汇编语言中堆栈的工作原理。

3. 解释汇编语言中的宏定义和条件编译指令。

汇编语言复习试题

汇编语言复习试题

一、选择1.下面指令执行后,改变AL寄存器内容的指令是( D )。

A.TEST AL,02HB.OR AL,ALC.CMP AL,BLD.AND AL,BL2.对寄存器AX的内容乘以4的正确指令序列是( B )。

A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A )A.85B92HB.86192HC.BB690HD.12169H4.指令JMP FAR PTR DONE属于 CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址5.将DX的内容除以2,正确的指令是 CA.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,16.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。

A.CMPB.SUBC.ANDD.MOV7.下列指令执行后既能使AX=0同时又使CF=0,OF=0的是A。

A.XOR AX,AXB.AND AX,AXC.OR AX,AXD.TEST AX,08.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B )A. 14HB. 0104HC. 74HD. 04H9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D )A. MOV AX,89B. MOV AX,0809C. MOV AX,89HD. MOV AX,0809H10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A )A. MOV DA1,32HB. MOV DA1,32C. MOV WORD PTR DA1,3234HD. MOV WORD PTR DA1,‘24’MOV DA1+1,34H MOV DA1+1,3411.设NUM1 EQU 100NUM2 =64H 下面指令执行后,BL中全为1的指令是 D 。

汇编语言试题及答案

汇编语言试题及答案

汇编语言试题及答案一、选择题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. 论述汇编语言在现代计算机系统中的作用和局限性。

答案:汇编语言在现代计算机系统中主要用于系统底层开发、硬件驱动编写、嵌入式系统编程等领域。

其作用在于能够直接控制硬件,实现高效的资源利用。

然而,由于其复杂度高、可读性差、可移植性低,它在高级应用开发中的使用受到限制。

《汇编语言程序设计》必考试题及答案

《汇编语言程序设计》必考试题及答案

汇编语言程序设计试题及答案一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。

1.寄存器:计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。

2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。

3.段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。

4.寻址方式:指令获取操作数的方式。

5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。

二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。

1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?答案:二进制为 01100100B,十六进制为64H2.假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100H[BX],AL,其目的操作数的物理地址为多少?答案:EA = (BX)+0100H = 0310H,物理地址 = (DS)*16 + EA = 0C000H + 0310H = 0C310H3.假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,[BX][SI],其源操作数的偏移量为多少?答案:EA = (BX)+(SI)+ 0 = 0120H4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?答案:每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H – 5*2 =0060H -000AH = 0056H5.对于一个十进制数– 80,其二进制补码表示形式为多少?答案:首先求得二进制真值为– 01010000B,负数补码为变反加1的结果,即 10110000B三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、项选择题1. CPU发出的访问存储器的地址是( )A. 物理地址B.偏移地址C.逻辑地址D.段地址2. 将高级语言的程序翻译成机器码程序的实用程序是( )A.编译程序B.汇编程序C.解释程序D.目标程序3. DEC BYTE PTR[BX]指令中的操作数的数据类型是( )A.字B.双字C.字节D.四字4. 在下列语句中,BUFFER称为( ) BUFFER DB 01H,0AHA.符号B.变量C.助记符D.标号5. 串操作指令中,源串操作数的段地址一定在( )寄存器中。

A. CSB. SSC. DSD. ES6. 使计算机执行某种操作的命令是( )A.伪指令B.指令C.标号D.助记符7. 将数据5618H存放在存储单元中的伪指令是( )A. DA TA1 DW 1856HB. DA TA1 DB 18H,56HC. DA TA1 EQU 5618HD. DA TA1 DB 18H,00H,56H,00H8. 若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )A. 1400HB. 77F8HC. 0000HD. 0FFFFH9. 计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。

目前,微机中普遍采用的是( )码。

A. BCD码B.二进制码C.ASCII码D.十六进制码10. 用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为( )A.汇编语言B.高级语言C.机器语言D.低级语言二、填空题(每空1分,共20分)1. 在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是_SCAS__。

2. 通常所说的计算机系统包括_硬件__和_软件__两大部分。

3. 8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是_CS___、__DS__、__ES___、__SS__。

4. 现有AX=2000H, BX=1200H, DS=3000H, DI=0002H, (31200H)=50H, (31201H)=02H, (31202H)=40H, 请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。

A. ADD AX,1200H;问AX=_3200_H,ZF=__0___B. SUB AX,BX;问AX=__0E00__H,ZF=__0____C. MOV AX,[BX];问AX=__0250__H CF=__不影响______D. NEG WORD PTR[1200H];问(31200H)=_0B0___H CF=__1___5. 设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址,填入括号中。

A.使用D的直接寻址( 0A2B1 H )B.使用BX的寄存器间接寻址( 1000 H )C.使用BX和D的寄存器相对寻址( 0B2B1 H )D.使用BX、SI和D的相对基址变址寻址( 0B3B1 H )E.使用BX、SI的基址变址寻址( 1100 H )三、简答题(共20分)1.程序在数据段中定义的数组如下:(4分)ARRAY DB 'YES IS'DB 20┇DB 'DO NOT'请指出下列指令是否正确?若不正确,错在哪里?(答案做在旁边)A. MOV BX,OFFSET ARRAYMOV AX,[BX+8] A.正确B .MOV AX,ARRAY B.数据类型不匹配错C. MOV BX,2MOV SI,3MOV AX,ARRAY[BX][SI] C.前两条指令正确,第三条数据类型不匹配D. MOV BX,2*2MOV SI,3 D.前两条正确,后两条不正确MOV AX,OFFSET ARRAY[BX][SI];在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值,在汇编指令时还是未知的,所以第三条指令不正确INC [AX];第四条指令中,AX不能作为基址寄存器用2.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么?(3分)MOV AX,TABLE 2.第一条指令传送的是0100H单元中的内容AX=0FF00H MOV AX,OFFSET TABLE 第二条指令传送的是地址0100H AX=0100H 3.对于下面的数据定义,三条MOV指令分别汇编成什么?(3分,答案写在对应指令的右边) TAB1 DW 10 DUP(?)TAB2 DB 10 DUP(?)TAB3 DB '1234'┇MOV AX,10MOV BL,10MOV CL,1MOV AX,LENGTH TAB1MOV BL,LENGTH TAB2MOV CL,LENGTH TAB34.子程序的说明文件中应包括哪几方面的内容?(5分)A.子程序名B.子程序的功能C.子程序所用到的寄存器、工作单元的情况D.子程序的输入参数E.子程序的输出参数5、分别指出下列指令中源操作数的寻址方式:(5分,答案写在对应指令的右边)A. MOV SI,100B. MOV CX,DA TA[SI]C. MOV [SI],AXD. ADD AX,[BX][DI]E. POP HF四、程序分析1.下列程序段完成什么工作?DA T1 DB 30 DUP(?)DA T2 DB 10 DUP(?)┇MOV CX,10MOV BX,20MOV SI,0MOV DI,0NEXT:MOV AL,DA T1[BX][SI]MOV DA T2[DI],ALINC SIINC DILOOP NEXT 1.把DA T1+20存储单元开始的10个字节搬到DA T2开始的连续10个存储单元中。

2.执行下列指令后,AX寄存器中的内容是什么?START DW 10H,20H,30H,40H,50HEE1 DW 3┇MOV BX,OFFSET STARTADD BX,EE1MOV AX,[BX]AX寄存器中的内容是3000H3.试分析下面程序段的功能是什么?CMP AL,'A'JC OTHERCMP AL,'Z'+1JNC OTHERJMP LETTER┇OTHER:┇LETTER:┇.判断AL的内容,若为'A'~'Z'的大写字母时,程序转LETTER处理,否则转OTHER处理。

4. 下面程序段执行完以后,AL的内容是什么?MOV BX,00FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH AL的内容是0F00H五、程序设计(每小题10分,共30分)1. 试编写出把DX、AX中的双字右移四位的程序段。

MOV CL,04SHR AX,CLMOV BL,DLSHR DX,CLSHL BL,CLOR BL,AH2. 定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20次,并显示出复制结果。

.DA TA SEGMENTPA TTERN DB 23H,24H,25H,26HDISPLAY DB 80 DUP(' '),'$'DA TE ENDSCODE SEGMENT┇CLD LEA SI,PA TTERNLEA DI,DISPLAYMOV CX,80REP MOVSBMOV AH,09HLEA DX,DISPLAYINT 21HRETCODE ENDS3.内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100,60~89,60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中,(要求画出程序流程图,各段定义完整)DA TA SEGMENTBUF DB 40H,64H,51H…RESUT DB 3 DUP(0)DA TA ENDSSTACK SEGMENT STACKDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME DS∶DA TA,ES∶DA TA,SS∶STACK,CS∶CODESTART PROC FARPUSH DSMOV AX,0PUSH AXMOV AX,DA TAMOV DS,AXMOV ES,AXMOV、AX,STACKMOV SS,AXLEA SI,BUFMOV CX,100CLDAO:LODSBCMP AL,5AHJL L60INC [RESUT]JMP COML60:CMP AL,3CHJGE K8960INC [RESUT+1]JMP COMK8960:INC [RESUT+2]COM:LOOP AORETSTART ENDPCODE ENDSEND START。

相关文档
最新文档