嘉应学院汇编语言期末复习试卷
汇编语言期末试题及答案
汇编语言期末试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令用于将数据从内存加载到寄存器中?A. MOVB. CMPC. JMPD. CALL答案:A2. 在汇编语言中,以下哪个指令用于实现无条件跳转?A. JZB. JCC. JMPD. JS答案:C3. 假设当前数据段的偏移地址是1000H,那么以下哪个地址是有效的内存地址?A. 1000HB. 2000HC. 3000HD. 4000H答案:B4. 在汇编语言中,以下哪个寄存器用于存储当前指令的偏移地址?A. AXB. BXC. IP答案:C5. 假设AL寄存器的值为0F6H,执行指令AND AL, 0F0H后,AL寄存器的值是多少?A. 0F0HB. 0F6HC. 0F0HD. 00H答案:D6. 以下哪个指令用于将一个字节的值从寄存器移动到内存?A. MOVB. MOVSC. MOVZXD. MOVSX答案:A7. 在汇编语言中,以下哪个指令用于实现循环操作?A. LOOPB. JZC. JMPD. CALL答案:A8. 假设CS寄存器的值为1000H,IP寄存器的值为0100H,那么当前指令的物理地址是多少?A. 10000HB. 10100HC. 11000HD. 11100H9. 在汇编语言中,以下哪个指令用于实现子程序的调用?A. JMPB. CALLC. RETD. INT答案:B10. 假设DX寄存器的值为1234H,执行指令SHL DX, 1后,DX寄存器的值是多少?A. 2468HB. 1234HC. 0468HD. 0234H答案:A二、填空题(每题2分,共20分)1. 汇编语言中,指令MOV AX, [BX]表示将_________的值移动到AX寄存器中。
答案:BX寄存器指向的内存地址2. 汇编语言中,指令PUSH AX表示将AX寄存器的值压入_________。
答案:堆栈3. 汇编语言中,指令POP BX表示将堆栈顶的值弹出到_________寄存器中。
汇编语言考试复习题及答案
汇编语⾔考试复习题及答案⼀、单项选择题(从下列每题的四个选择中选择⼀个正确的,填⼊答题纸的相应位置。
每⼩题2分,共30分)1.下列指令有语法错误的是__________。
A) PUSH AL B) ADDC AX,50HC) MOV [SI],[DI] D) JMP WORD PTR[BX+5]见书:35页,PUSH2.执⾏下列程序段后,(AX)= ________。
TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX, OFFSET TABADD BX,ENTRYMOV AX,[BX]A) 0003H B) 0300H C) 0400H D) 0004H3.NC 指令不影响 _________标志。
A) OF B) CF C) ZF D) SF4.执⾏下列指令后:STR1 DW ‘AB’STR2 DB 16 DUP(?)CNT EQU $ -STR1MOV CX,CNTMOV AX,STR1HLT寄存器CL的值是________,寄存器AX的值是________。
① A) 10H B) 12H C) 0EH D) 0FH② A) 00ABH B) 00BAH C) 4142H D) 4241H5.汇编语⾔源程序经汇编后不能直接⽣成⽂件。
A).OBJ B).LST C).EXE D).CRF6.8086 CPU在基址加变址的寻址⽅式中,已知BX=2000H,SI=1234H,则指令“MOV AX,[BX+SI+2]”的源操作在中。
(A)数据段中偏移量为3236H的字节(B)数据段中偏移量为3234H的字节(C)附加段中偏移量为3236H的字节(D)附加段中偏移量为3234H的字节(A)19,20 (B)20,⽆右孩⼦(C)⽆左孩⼦,20 (D)⽆左孩⼦,⽆右孩⼦7.执⾏下⾯的程序段后,DAT1单元的值是。
DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DAT2,AXMOV WORD PTR DAT1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的⼀条是。
汇编语言期末考试试题及复习资料
汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.下列叙述正确的是参考答案为:CA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令[解析]对于无符号数和有符号数的比较都采用CMP指令;CMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+(128-1)×2即 12ABH×10H+00ABH+(128-1)×2=12C59H。
4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或 DEC WORD PTR [BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
汇编语言期末考试试题
汇编语言期末考试试题一、选择题(每题2分,共20分)1. 在汇编语言中,以下哪个指令用于将立即数或常量值送入寄存器?A. MOVB. ADDC. SUBD. MUL2. 汇编语言中的指令MOV AX, BX等价于以下哪个高级语言语句?A. AX = BXB. AX + BXC. AX - BXD. AX * BX3. 以下哪个指令用于将内存中的数据传送到寄存器?A. MOV AX, [BX]B. MOV [BX], AXC. ADD AX, [BX]D. SUB AX, [BX]4. 在汇编语言中,哪个指令用于实现无符号数的比较?A. CMPB. TESTC. JZD. JE5. 下列哪个指令用于实现条件跳转?A. JMPC. RETD. INT6. 汇编语言中的循环结构通常使用哪个指令来实现?A. LOOPB. JUMPC. JZD. JE7. 在汇编语言中,哪个指令用于实现子程序的调用?A. MOVB. CALLC. RETD. INT8. 汇编语言中的段寄存器CS用于存储什么?A. 数据B. 指令C. 代码段地址D. 堆栈地址9. 汇编语言中的指令PUSH AX和POP AX分别用于什么?A. 将AX寄存器的内容压入堆栈B. 将AX寄存器的内容弹出堆栈C. 将AX寄存器的内容加到堆栈D. 将AX寄存器的内容减去堆栈10. 在汇编语言中,哪个指令用于实现中断调用?A. INTB. IRETD. STI二、简答题(每题5分,共10分)1. 解释汇编语言中的立即寻址方式和直接寻址方式的区别。
2. 描述汇编语言中如何实现一个简单的加法程序。
三、编程题(每题15分,共30分)1. 编写一个汇编程序,实现将AX寄存器中的值与BX寄存器中的值相加,并将结果存储在CX寄存器中。
2. 设计一个汇编程序,实现从键盘接收一个字符,然后将其转换为ASCII码对应的十进制数值,并显示在屏幕上。
四、综合应用题(每题40分)编写一个汇编程序,实现一个简单的文本编辑器功能。
《汇编语言程序设计》期末复习题和答案.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的状态寄存器中的条件码标志来决定是否跳转到指定的标签处执行。
汇编期末考试题及答案
汇编期末考试题及答案试题:汇编期末考试题一、选择题(每题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. 解释汇编语言中的宏定义和条件编译指令。
汇编语言期末试题及答案A
汇编语言期末试题及答案A1. 选择题(共10题,每题2分)1) 汇编语言中,以下哪个寄存器用于存放返回地址?A. AXB. CXC. DXD. IP答案:D2) 汇编语言中,以下哪个指令用于将标志寄存器的值传送到累加器中?A. MOVB. PUSHFC. POPFD. LAHF答案:D3) 汇编语言中,以下哪个指令用于将字节BCH扩展成字形式?A. CBWB. CWDC. CDQD. CQO答案:A4) 汇编语言中,以下哪个指令用于将字节AL扩展成字形式?A. MOVSXB. MOVZXC. LEAD. LDS答案:B5) 汇编语言中,以下哪个指令用于将字节AL和字节BL的逻辑与结果存放在字节AL中?A. AND AL, BLB. OR AL, BLC. XOR AL, BLD. NOT AL答案:A6) 汇编语言中,以下哪个指令用于将字节AL和字节BL的逻辑或结果存放在字节AL中?A. AND AL, BLC. XOR AL, BLD. NOT AL答案:B7) 汇编语言中,以下哪个指令用于将字节AL和字节BL的逻辑异或结果存放在字节AL中?A. AND AL, BLB. OR AL, BLC. XOR AL, BLD. NOT AL答案:C8) 汇编语言中,以下哪个指令用于将字节AL的补码存放在字节AL中?A. NEG ALB. NOT ALC. INC ALD. DEC AL答案:A9) 汇编语言中,以下哪个指令将字节AL左移一位?B. ROL AL, 1C. SAL AL, 1D. SAR AL, 1答案:A10) 汇编语言中,以下哪个指令将字节AL右移一位?A. SHR AL, 1B. ROR AL, 1C. SHL AL, 1D. SAR AL, 1答案:A2. 简答题(共5题,每题4分)1) 解释汇编语言中的“段”和“偏移”的概念,并说明它们的作用。
答案:在汇编语言中,段(Segment)和偏移(Offset)是用来定位内存中的数据和指令的。
汇编语言期末考试试题
汇编语言期末考试试题汇编语言期末考试试题汇编语言作为计算机科学专业的一门重要课程,对于学生来说是一项必修课程。
期末考试是对学生所学知识的综合考核,下面将为大家提供一些汇编语言期末考试试题,希望对大家复习和备考有所帮助。
一、选择题1. 汇编语言是一种低级语言,它与高级语言相比的主要优势是:A. 代码简洁易懂B. 可以直接操作硬件C. 可以实现更高的性能D. 更易于调试和维护2. 在汇编语言中,用于表示寄存器的符号是:A. #B. $C. @D. %3. 在8086汇编语言中,用于表示立即数的符号是:A. #B. $C. @D. %4. 在汇编语言中,用于表示寄存器间接寻址的符号是:A. []B. ()C. {}D. <>5. 在汇编语言中,用于表示寄存器的通用寄存器是:A. AXB. BXC. CXD. DX二、填空题1. 8086汇编语言中,用于将立即数存储到寄存器中的指令是________。
2. JMP指令用于实现无条件跳转,其操作码是________。
3. MOV指令用于将数据从源操作数传送到目的操作数,其操作码是________。
4. 在8086汇编语言中,用于将数据存储到内存中的指令是________。
5. 在汇编语言中,用于表示标号的符号是________。
三、编程题请编写一个8086汇编语言程序,实现将一个数组中的所有元素相加,并将结果存储在指定的寄存器中。
解答:```DATA SEGMENTARR DB 1, 2, 3, 4, 5LEN EQU $-ARRSUM DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV CX, LENMOV SI, 0MOV AL, 0ADD_LOOP:ADD AL, ARR[SI]INC SILOOP ADD_LOOPMOV SUM, ALMOV AH, 4CHINT 21HCODE ENDSEND START```本程序首先定义了一个数据段,其中包括一个数组ARR和数组长度LEN,以及一个用于存储结果的寄存器SUM。
(完整)汇编语言期末考试试题及答案,推荐文档
汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.下列叙述正确的是参考答案为:CA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令[解析]对于无符号数和有符号数的比较都采用CMP指令;CMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+(128-1)×2即 12ABH×10H+00ABH+(128-1)×2=12C59H。
4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或 DEC WORD PTR [BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
汇编语言期末考试复习题及参考答案-专科
《汇编语言》复习题一、填空题1、26.25D= B= O= H2、-56D的原码为 B,反码为 B,补码为B。
3、0C51H的反码为 B,补码为 B。
4、十进制数87的压缩BCD码为 B,非压缩BCD码为 B。
5、若(CS)=0100H,(IP)=1051H,则当前指令的物理地址为。
6、设(BX)=1000H,(DI)=0010H,(DS)=2100H,在指令MOV AX,[BX+DI]中,源操作数的寻址方式为;物理地址为。
7、设BUF为数据段0234H单元的符号名,其中存放的内容为3456H。
写出下列指令单独执行后的结果。
(1)MOV AX,BUF (AX)=(2)LEA AX,BUF (AX)=8、子程序的参数传递方法包括、、。
9、实模式下存储器的20位物理地址由加形成。
10、25= B= O= H11、32D的原码为 B,反码为 B,补码为 B。
12、十进制数15的压缩BCD码为;非压缩BCD码为。
13、8086CPU可以直接寻址的内存空间大小为,程序员在编程时需要把存储器分段,每段的大小不能超过。
14、设DI=0100H,DS=3000H,在指令MOV CX,[100+DI]中,源操作数的寻址方式为;物理地址为。
15、汇编语言源程序有三种基本结构形式:顺序结构、和。
16、从功能上,8086CPU分为和两部分。
17、直接输入/输出指令的最大端口号是,间接输入/输出指令的端口号必须送寄存器。
18、DIV BX指令执行后,余数在中,商在中。
二、选择题1、下列通用数据传送指令的几种传送中,错误的传送方式是( )。
A、从累加器到存储器B、立即数到存储器C、从寄存器到存储器D、从存储器到存储器2、使进位位置1的指令是( )。
A、CLCB、CMCC、STCD、NOP3、设AL,BL中都是有符号数,当AL<=BL时转至NEXT处,在CMP AL,BL指令后,应选用正确的条件转移指令是( )。
A、JBEB、JNGC、JNAD、JNLE4、指令LOOPZ的循环执行条件是( )。
(word版)汇编语言期末考试试题及答案
汇编语言模拟试题及答案一,单项选择题〔在每题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每题1分,共20分〕1.指令JMPFARPTRDONE 属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.以下表达正确的选项是参考答案为:CA.对两个无符号数进行比拟采用CMP指令,对两个有符号数比拟用CMPS指令B.对两个无符号数进行比拟采用CMPS指令,对两个有符号数比拟用CMP指令C.对无符号数条件转移采用JAE/JNB 指令,对有符号数条件转移用JGE/JNL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令[解析]对于无符号数和有符号数的比拟都采用CMP指令;CMPS指令是串比拟指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔〔128-1=〕127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+〔128-1〕×2即12ABH×10H+00ABH+〔128-1〕×2=12C59H。
4.在以下指令的表示中,不正确的选项是参考答案为:CA.MOVAL,[BX+SI]B.JMPSHORTDONIC.DEC[BX]D.MULCL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DECBYTEPTR[BX] 或DECWORDPTR[BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
汇编语言期末考试试题及答案
A.上一条指令的首地址
B.下一条指令的首地址
C.正在执行指令的首地址
D.需计算有效地址后才能确定地址
[解析]在程序运行过程中,它始终指向下一条指令的首地址,它与CS代码段寄存器联合确定下一条指令的物理地址。
15.PSW寄存器中共有______位条件状态位,有______位控制状态位。参考答案为:A
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
[解析]循环参数置初值,应在进入循环以前给出。
6.条件转移指令JNE的测试条件为参考答案为:A
A.ZF=0
B.CF=0
C.ZF=1
D.CF=1
[解析]略。
7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为参考答案为:DA.BX或CX
精品文档
汇编语言模拟试题及答案
一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)
1.指令JMPFARPTRDONE属于参考答案为:C
A.段内转移直接寻址
B.段内转移间接寻址
C.段间转移直接寻址
D.段间转移间接寻址
[解析]略
2.下列叙述正确的是参考答案为:C
A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令
D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令
。
2
汇编语言 期末试题和答案 三套 有详细解释
汇编语言期末试题和答案三套有详细解释汇编语言期末试题和答案三套有详细解释一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.cpu要访问的某一存储单元的实际地址称()a.段地址b.偏移地址c.物理地址d.逻辑地址2.某存储单元的物理地址就是12345h,可以做为它的段地址存有()a.2345hb.12345hc.12340hd.1234h3.执行后使bx=0的同时也使cf=0,of=0的指令是()a.xorbx,bxb.orbx,bxc.andbx,bxd.cmpbx,bx4.循环控制指令loopnz/loopne掌控循环继续执行的条件就是()a.cx≠0且zf=1b.cx≠0且zf=0c.cx≠0或zf=1d.cx≠0或zf=05.在执行daa指令,当高四位bcd码校正时产生进位,如要把此进位值送入ah中,对这进位值的操作应是()a.daa校正指令的功能已自动加到ah中b.进位值在af中,校正后根据af内容再加在ah中c.进位值在cf中,校正后根据cf内容再加在ah中d.位次值在al最低位上,校正后根据al最低位内容再加在ah中6.and,or,xor,not为四条逻辑运算指令,下面的解释正确的是()a.指令xorax,ax执行后,ax内容不变,但设置了标志位b.指令ordx,1000h执行后,将dx最高位置1,其余各位置0c.指令andax,ofh执行后,分离出al低四位d.notax,执行后,将ax清07.在继续执行以下指令时,须要采用段寄存器ds的指令就是()a.stoswb.addal,clc.negbxd.incda[bx]8.无论bh中原有的数是奇数或偶数,若要使bh中的数一定为奇数,应执行的指令是()a.addbh,01hb.orbh,01hc.xorbh,01hd.testbh,01h9.完成对cl寄存器的内容乘以4的正确操作是()a.rolcl,1b.mul4rolcl,1c.shlcl,1d.movcl,2shlcl,1shlcl,cl10.下面各传输指令中,恰当的就是()a.mov[di],[si]b.mov[dx+di],alc.movwordptr[bx],0100hd.moval,bx11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()a.名字的第一个字符可以是大写英文字母及小写英文字母b.名字的第一个字符可以是字母、数字及、@、_c.名字的有效长度≤31个字符d.在名字中不允许出现$112.要实现使beta的值为56,应采用语句为()a.betadb56b.betadb56hc.betaequ56d.betaequ56h13.repzcmpsw指令,重复执行的终止条件是()a.cx=0或zf=0b.cx=0且zf=0c.cx=0或zf=1d.cx=0且zf=114.下面程序段执行后,al中的内容是()movax,8833haddal,ahdaaa.21b.21hc.0c1hd.0ddh15.比较两个带符号的数a、b,当a=b时程序转移,测试的条件为()a.zf=1b.zf=0c.sf=1d.sf=016.检查二个并无符号数的关系,若必须同时实现al≥bl时分支回去lop1处为,那么在“cmpal,bl”指令后应当与的分支指令就是()a.jnclop1b.jalop1c.jclop1d.jgelop117.在以下串成操作方式指令中,同时采用源串和目的串成地址指针的指令就是()a.stoswb.lodswc.scaswd.cmpsw18.设al=0ah,下列指令执行后能使al=05h的是()a.notalb.andal,0fhc.xoral,0fhd.oral,0fh19.da1dw?ab?,?cd?,?ef?,?gh?()┇movax,da1+3指令继续执行后ax中的内容就是a.?ef?b.?cd?c.?bc?d.?fc?20.使用dos系统功能调用时,使用的软中断指令是()a.int21b.int10hc.int16hd.int21h二、填空题(本大题共12空,每空0.5分后,共6分后)恳请在每小题的空格中填入恰当答案。
期末汇编语言试题及答案
期末汇编语言试题及答案(正文开始)第一节:多项选择题1. 汇编语言是一种_____。
A. 低级语言B. 高级语言C. 中级语言D. 汇编语言不属于编程语言范畴答案:A2. 汇编语言是一种_____。
A. 机器语言B. 人机交互语言C. 使用英文单词和符号的编程语言D. 汇编语言不属于编程语言范畴答案:C3. 在汇编语言中,用来表示无符号整数的数据类型是_____。
A. BYTEB. WORDC. DWORDD. QWORD答案:A4. 汇编语言中,用来表示有符号整数的数据类型是_____。
A. BYTEB. WORDC. DWORDD. QWORD答案:B5. 汇编语言中的寻址方式包括_____。
A. 直接寻址B. 寄存器寻址C. 间接寻址D. 所有选项都是正确的答案:D第二节:填空题1. 汇编语言的基本单元是_____。
答案:指令(instruction)2. 汇编语言中,用来表示寄存器的通用约定是_____。
答案:以字母E或R作为前缀(例如:EAX、RBX)3. 汇编语言中,关键字和指令通常是以_____开头的。
答案:小写字母4. AL寄存器是_____位的寄存器。
答案:85. 汇编语言中,用来表示内存地址的数据类型是_____。
答案:PTR第三节:简答题1. 简述汇编语言的优点和缺点。
答:汇编语言的优点包括:- 直接操作底层硬件,可以实现高度的性能优化。
- 对机器指令的控制更加精细,可以实现特定的功能。
- 内存占用小,执行效率高。
汇编语言的缺点包括:- 学习曲线陡峭,需要掌握底层硬件架构和指令集。
- 编写和维护成本高,可读性差。
- 可移植性差,需要针对不同硬件平台编写不同版本的汇编代码。
2. 简述汇编语言指令的执行过程。
答:汇编语言指令的执行过程包括以下几个步骤:1. 从内存中读取指令:处理器根据程序计数器(Program Counter,PC)的值,从内存中读取指令。
2. 解析指令:处理器将读取到的指令解析成可执行的操作码和操作数。
汇编期末试题及答案
汇编期末试题及答案一、选择题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. 简述汇编语言相比高级编程语言的优缺点。
答:汇编语言相比高级编程语言的优点包括:- 可执行性强:汇编语言编写的程序可以直接在计算机上执行,无需额外的翻译和解释工作;- 控制权高:汇编语言可以直接操作硬件,对于特定应用领域的程序开发非常有优势;- 精确控制:汇编语言可以直接控制底层细节,如内存和寄存器,具有高度的灵活性和精准度。
汇编语言相比高级编程语言的缺点包括:- 可读性低:由于汇编语言的语法严谨,代码较为冗长,使得程序的可读性非常低;- 开发效率低:相比高级编程语言,汇编语言的开发效率较低,需要编写更多的代码才能完成相同的功能;- 可移植性差:汇编语言依赖于具体的硬件平台,不同的计算机体系结构可能需要不同的汇编语言程序。
汇编语言a期末考试试题及答案
汇编语言a期末考试试题及答案汇编语言A期末考试试题及答案一、选择题(每题2分,共20分)1. 以下哪个指令用于将立即数加载到寄存器中?A. MOVB. ADDC. SUBD. JMP答案:A2. 在汇编语言中,哪个指令用于将一个寄存器的内容复制到另一个寄存器?A. MOVB. PUSHC. POPD. CMP答案:A3. 假设CS:IP指向当前执行的指令,那么DS:SI指向的是?A. 源地址B. 目的地址C. 下一条指令D. 前一条指令答案:A4. 以下哪个指令用于将一个字节的值从内存加载到寄存器?A. MOVC. MOVZXD. MOVSX答案:A5. 在汇编语言中,哪个指令用于比较两个寄存器的值?A. CMPB. TESTC. ANDD. OR答案:A6. 假设AL寄存器的值为0x0F,执行指令SHL AL, 1后,AL的值是多少?A. 0x0EB. 0x1EC. 0x07D. 0x1F答案:B7. 在汇编语言中,哪个指令用于无条件跳转到指定的地址?A. CALLB. JMPC. RETD. INT答案:B8. 以下哪个指令用于将寄存器的内容推送到堆栈中?A. PUSHB. POPC. CALL答案:A9. 假设CF标志位为1,执行指令RCL AX, 1后,AX的值会如何变化?A. 左移一位B. 右移一位C. 循环左移一位D. 循环右移一位答案:C10. 在汇编语言中,哪个指令用于将一个字节的值从寄存器移动到内存?A. MOVB. MOVSC. MOVZXD. MOVSX答案:A二、填空题(每题4分,共20分)1. 在汇编语言中,指令MOV AX, 1234H的结果是将____值加载到AX寄存器中。
答案:1234H2. 指令PUSH AX的作用是将AX寄存器的内容压入到____中。
答案:堆栈3. 指令AND AX, BX的结果是将AX和BX寄存器的值进行____操作。
答案:逻辑与4. 指令JMP 0100H的作用是跳转到内存地址____执行指令。
汇编语言期末试卷复习(附答案)【范本模板】
选择题1。
已知X=78,Y= -83则[X+Y]补=( )A.0F5HB.0A1HC.0FBH D。
65H2。
MOV AX, ES:COUNT[DI] 源操作数的寻址方式是()A。
基址寻址 B.立即寻址 C.变址寻址D。
基址变址寻址3。
指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为()A.17500HB.16500HC.14500H D。
13500H4。
下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是( )A。
AX,BX,CX,DX B。
BP,SP,IP,CSC.BX,BP,SI,DID.BH,BL,CH,CL5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是( )A。
表示结果中含1的个数为偶数B。
表示结果中含1的个数为奇数C。
表示该数为偶数 D. 表示结果中低八位含1的个数为偶数6. 下列传送指令中,有语法错误的指令是()。
A。
MOV CS,AX B.MOV DS,AX C。
MOV ES,AX D。
MOV SS,AX7。
MOV SP,3210HPUSH AX执行上述指令序理后,SP寄存器的值是()。
A。
3211H B. 320EH C。
320FH D. 3212H8. 设(DH)=20H,执行NEG DH指令后,正确的结果是()A。
(DH)=20H CF=1B。
(DH)=20H CF=0C。
(DH)=0E0H CF=0 D.(DH)=0E0H CF=19。
执行下面指令序列后,结果是( )MOV AL,82HCBWA.AX=0FF82HB.AX=8082H C。
AX=0082H D。
AX=0F82H10。
串操作指令中,目标串操作数的段地址一定在( )寄存器中.A。
CS B。
SS C。
DS D。
ES11。
MOV DX, COUNT[BP][DI]的源操作数的寻址方式是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言程序设计一、单项选择题1.CPU要访问的某一存储单元的实际地址称()A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有()A.2345H B.12345H C.12340H D.1234H3.执行后使BX=0的同时也使CF=0,OF=0的指令是()A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是()A.CX≠0且ZF=1B.CX≠0且ZF=0C.CX≠0或ZF=1D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()A.DAA校正指令的功能已自动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是()A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C.指令AND AX,0FH执行后,分离出AL低四位D.NOT AX,执行后,将AX清07.在执行下列指令时,需要使用段寄存器DS的指令是()A.STOSW B.ADD AL,CL C.NEG BX D.INC DA[BX]8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是()A.ROL CL,1B.MUL4ROL CL,1C.SHL CL,1SHL CL,1D.MOV CL,2SHL CL,1SHL CL,CL10.下面各传送指令中,正确的是()A.MOV[DI],[SI]B.MOV[DX+DI],ALC.MOV WORD PTR[BX],0100H D.MOV AL,BX11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()A.名字的第一个字符可以是大写英文字母及小写英文字母B.名字的第一个字符可以是字母、数字及、@、_C.名字的有效长度≤31个字符D.在名字中不允许出现$12.要实现使BETA的值为56,应采用语句为()A.BETA DB56B.BETA DB56H C.BETA EQU56D.BETA EQU56H13.REPZ CMPSW指令,重复执行的终止条件是()A.CX=0或ZF=0B.CX=0且ZF=0C.CX=0或ZF=1D.CX=0且ZF=114.下面程序段执行后,AL中的内容是()MOV AX,8833H ADD AL,AH DAA DAA是一个把16进制转换作十进制来运算的汇编指令A.21B.21H C.0C1H D.0DDH15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()A.ZF=1B.ZF=0C.SF=1D.SF=016.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()A.JNC LOP1B.JA LOP1C.JC LOP1D.JGE LOP117.在下列串操作指令中,同时使用源串和目的串地址指针的指令是()A.STOSW B.LODSW C.SCASW D.CMPSW18.设AL=0AH,18.下列指令执行后能使AL=05H的是()A.NOT AL B.AND AL,0FH C.XOR AL,0FH D.OR AL,0FH 19.DA1DW…AB‟,…CD‟,…EF‟,…GH‟MOV AX,DA1+3指令执行后AX中的内容是()A.…EF‟B.…CD‟C.…BC‟D.…FC‟20.使用DOS系统功能调用时,使用的软中断指令是()A.INT21B.INT10H C.INT16H D.INT21H二、填空题21.十六进制数0FFF8H22.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA23.CPU是表示带符号数运算产生溢出。
25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前26.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是三、简答题(本大题共4小题,每小题2分,共8分)27.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。
(1)MOV AL,[BX](2)MOV CS:[BX+DI],AH解:(1)21357H;(2)43357H28.0P1DB1,20P2DW3412H,5678HMOV AX,OP1+1;字单元(OP1+1)(OP1前加WORD PTR)AX MOV BL,OP2+1;字节单元(OP2+1)BL(OP2前+BYTE PTR)上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。
29.下列语句在存储器中分别为变量分配多少字节?(1)AD2DW10DUP(?),10(2)AD3DD100DUP(?)解:(1)AD2分配了22个字节(2)AD3分配了400个字节30.简述下面两条指令分别是什么语法错误?MOV[BX],[SI]MOV指令不能在两个存储器操作数之间进行MOV AX,DL;操作数类型不匹配四、程序分析题(本大题共6小题,每小题6分,共36分)31.MOV DL,ALAL===>*1**NOT DL;DL===>*1**TEST DL,04HDL===>*0**JE NEXT NEXT:…若上述程序段执行时产生分支,说明AL中的数第几位一定为1?程序段执行后CF是多少?答:AL中第二位为1,执行后CF=032.DA1DB“ABCDEFGHI”DA2DB9DUP(0)LEA SI,DA1LEA DI,DA2MOV CX,9CLD LOP:LODSBSUB AL,10HSTOSB LOOP LOP...试问:①写出程序执行后DA2各字节中的数据。
123456789②保持程序功能情况下,程序中可否改写为不能更改33.已知:BX=4567H NEG BX INC BX NEG BX DEC BX34.MOV BL,64HMOV CL,03HXOR AX,AXAGAIN:ADD AL,BLADC AH,0DEC CLJNZAGAIN问:(1)该程序段完成的功能是:将AX内容×3传送到BX中35.已知数据段中定义DAT1DB12H,34H,56H,78HMOV CX,0MOV AX,WORD PTR DAT1MOV CL,DAT1+3当程序段执行完后36.DA1DB83H,72H,61H,94H,5AHMOV CX,WORD PTR DA1AND CX,0FHMOV AL,DA1+3SHL AL,CL五、程序填空题(本大题共2小题,每小题6分,共12分)37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。
MOV AX,NUMWXOR DX,DX DIV BXMOV QUI,AX38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串…COMPUTER‟(不显示字符…$‟!).试在空白处填上适当的一条指令。
STRING DB…COMPUTER‟,…$‟MOV BX,0FFSET STRINGLOP:MOV DL,[BX]MOV AH,02HINT21HJNE LOP六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符…Y‟(设DA_BY存储区已有ES指向)。
解:LEA DI,DA_BYMOV CX,32MOV AL,‘Y’CLDREP STOSB40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。
解:DATA SEGMENTDA1DW XXXXDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA SI,DA1MOV CX,16XOR BL,BLAGAIN:MOV AL,[SI]HL AL,1JC NEXTINC NEXTINC BLNEXT:INC SILOOP AGAINTEST BL,01HJNE L1CLCJMP DONEL1:STCDONE:MOV AH,4CHINT21HCODE ENDS。