汇编语言期末复习题库
汇编语言期末试题及答案

汇编语言期末试题及答案一、选择题(每题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表示将堆栈顶的值弹出到_________寄存器中。
汇编语言期末试卷(答案).

汇编语言期末试卷一、单项选择题(每小题1分,共10分)1、十进制数269变换为十六进制数是(C)。
(A)10B (B)10C (C)10D (D)10E2、指令mov 100[si][bp],ax目标操作数的隐含段为(B)。
(A)数据段(B)堆栈段(C)代码段(D)附加段3、以下语句汇编后,CENTH的值是(C)buf1 dw 8,19buf2 db 6,'abc$',10 dup('5')CENTH equ buf2—buf1A.14B.8C.4D.174、若栈顶物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为(D)。
(A)20102H (B)20101H (C)200FFH (D)200FEH5、执行下列指令后,正确的结果是(B )。
MOV AL,100MOV BL,-2(A)AL=100H,BL=02H (B)AL=64H,BL=0FEH(C)AL=64H,BL=82H (D)AL=100H,BL=0FEH6、假定AX的内容为-32768,在执行了指令NEG AH后,标志位(SF,OF)为(D )。
(A)0,0 (B)0,1 (C)1,0 (D)1,17、设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为(B)。
(A)OF=1,CF=0 (B)OF=1,CF=1 (C)OF=0,CF=0 (D)OF=0,CF=18、当A≥B时转移的条件转移指令为(A,B为带符号数)(D )。
(A)JA (B)JAE (C)JG (D)JGE9、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(A)。
(A)MOV AL,00H (B)AND AL,00H(C)XOR AL,AL (D)SUB AL,AL10、已知CALL BX执行前SP=100H,执行后SP的内容为(D )。
(A)100H (B)102H (C)98H (D)0FEH二、填空题(每空1分,共10分)1、(00101011)B+(13)D+(1B)H=(123 )Q2、IBM PC机内存容量最大为(1M )B,要寻找这样大的空间,需要()根地址线。
(完整版)汇编语言复习题

汇编语言程序设计复习题一、单项选择题1.假设(AL)=0FFH依次执行ADD AL,0FH指令后,标志位ZF和SF的状态分别为(A )A. 0和0B. 0和1C. 1和0D. 1和12.假设V AR为变量,指令MOV BX,V AR 的寻址方式是( A )A.直接寻址B.间接寻址C.立即寻址D.存储器寻址3.下列指令中,不影响标志位的是( C )A.SUB BX,BX B.ROR AL,1 C.JNC Lable D.AND AL,CL4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=0AAH,试问执行指令MOV BX,[DI]后,(BX)= ( C )A.0100H B.55AAHC.AA55H D.4100H5.执行下列哪一条指令后,就能用条件转移指令判断AL和BL寄存器中的最高位是否相同?(D )A. TEST AL BLB. CMP AL BLC. AND AL BLD. XOR AL BL 6.堆栈中当前出栈的存储单元地址是(A )A. SS*10H+SPB. SS*10H+BPC. SS*10+SPD. SS*10+BP7.已知V AR DW l,2,$+2,5,6 若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( D )A.6H B.14H C.5H D.16H8.循环控制指令REPNZ继续执行循环的条件是(B )A. CX≠0且ZF=1B. CX≠0且ZF=0C. CX≠0或ZF=1D. CX≠0或ZF=09.设NUM=11011011B,指令“MOV AL,NUM SHL 3”执行后AL中的值是(B )A.11011011000BB.11011000BC.00011011BD.00011011011B10.下面XCHG指令语句中,语法正确的是(B)A. XCHG AX,DSB. XCHG BL,[BX]C. XCHG AL,OFHD. XCHG [SI],[DI]11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是( A )A。
汇编语言期末考试试题及复习资料

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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分)编写一个汇编程序,实现一个简单的文本编辑器功能。
汇编语言复习题附答案

汇编语言复习题附答案一、选择题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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题1.中央处理器包括运算器、控制器、寄存器组。
2.物理地址是指实际的20 位主存单元地址,每个存储单元对应唯一的物理地址。
3.用二进制代码书写指令和程序的语言,称为机器语言。
4.计算机中的指令由操作码和操作数两部分组成。
5.把A和B两个寄存器的内容进行异或运算,若运算结果是0 ,那么A、B寄存器的内容必定相同。
6.AL,BL中存放着压缩的BCD数,(AL)=18H,(BL)=47H,执行如下两条指令ADD AL,BL 和DAA后,(AL)=65H 。
7.当指令“SUB AX,BX”执行后,CF=1,说明最高有效位有借位;对有符号数,说明操作结果溢出。
8.FLAG状态标志寄存器中,AF为辅助进位标志,CF为进位标志,SF为符号标志,ZF为零标志,OF为溢出标志,PF为奇偶性标志。
9.指出下列指令源操作数的寻址方式:MOV AX,ARRAY[SI] 变址寻址MOV AX,ES:[BX] 寄存器间接寻址MOV AX,[200H] 直接寻址MOV AX,[BX+DI] 基址变址寻址MOV AX,BX 寄存器寻址MOV AX,1200H 立即数寻址MOV AX,20[BX+SI]基址变址寻址MOV AX,[DI+20] 变址寻址10.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21023H)=65H,下列指令执行后填入AX寄存器的内容:(1)MOV AX,1200H;(AX)= 1200H(2)MOV AX,BX;(AX)=0100H(3)MOV AX,[1200H];(AX)= 4C2AH(4)MOV AX,[BX];(AX)= 3412H(5)MOV AX,1100[BX];(AX)= 4C2AH(6)MOV AX,[BX][SI];(AX)= 7856H(7)MOV AX,1100[BX][SI];(AX)= 65B7H11.已知‘A’的ASCII是41H,那么‘E’的ASCII是45H 。
12.Ends 是段定义结束伪指令,与Segment配套使用。
13.逻辑地址由段基值和偏移量组成。
将逻辑地址转换为物理地址的公式是段基值*16+偏移量。
其中的段基值是由段寄存器存储。
14.一个有16个字的数据区,它的起始地址为70A0:0100H,那么该数据区的最后一个字单元的物理地址为70B1E H。
15.DEBUG命令中,显示内存命令 D ,显示寄存器命令R,汇编命令 A ,执行命令G 。
16.根据操作数的个数,汇编指令可以分为无操作数指令, 单操作数指令和双操作数指令。
17.令(AL)=98H,(BL)=12H,则执行指令MUL BL后,(AX)=0AB0H ,OF= 1 ,CF= 1 。
二、单项选择1.下列四个寄存器中,不能作为间接寻址的寄存器是(C)A、BXB、BPC、DXD、DI2.存储器每段最长(B)A、64BB、64KBC、16MBD、1MB3.下列指令中,正确的是(A)A、ADD AX,[BX+SI]B、MOV AH,BXC、MOV CS,AXD、NOT CX,AX4.表示一条指令的存储单元的符号地址称(A)A、标号B、变量C、类型D、偏移量5.下列不是变量的类型的是( B )A、字节型B、字符型C、字型D、双字型6.分别写出下列寄存器的位数AX, BH, CX, CS(D)A、8位、16位、32位、16位B、16位、8位、32位、16位C、8位、16位、16位、32位D、16位、8位、16位、16位7.INC指令不影响(B)标志。
A、OFB、CFC、SFD、ZF8.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是(D)A、20102HB、20101HC、200FEHD、200FFH9.设(AL)=86,(BL)=68,执行SUB AL,BL指令后,正确的结果是( D )。
A、SF=1B、ZF=1C、CF=1D、OF=110.将累加器AX的内容清零的正确操作是(C)。
A、ADD AX,0B、OR AX,AXC、XOR AX,AXD、CMP AX,AX11.一个完整的计算机系统通常应包括( C )。
A、系统软件和应用软件B、计算机及其外部设备C、硬件系统和软件系统D、系统硬件和系统软件12.计算机的软件系统一般分为( A )两大部分。
A、系统软件和应用软件B、操作系统和计算机语言C、程序和数据D、DOS和Windows13.用高级语言编写的程序( C )。
A、只能在基本种计算机上运行B、无需经过编译或解释,即可被计算机直接执行C、具有通用性和可移植性D、几乎不占用内存空间14.下面几个不同进制的数中,最小的数是( C )。
A、1001001BB、75C、37DD、A7H15.十进制正数38的八位二进制补码是(D)。
A、00011001B、10100110C、10011001D、0010011016.MOV AX,ES:[BX][SI]的源操作数的物理地址是( B )。
A、16d×(DS、+(BX、+(SI、B、16d×(ES、+(BX、+(SI、C、16d×(SS、+(BX、+(SI、D、16d×(CS、+(BX、+(SI、17.下列数据中,可能是八进制数的是(B)。
A、488B、317C、597D、18918.计算机语言有许多种,其中与硬件直接相关的是( C )A、网络语言B、操作系统C、机器语言D、高级语言19.执行指令MOV AL, [BP] 时,所读取的数据应在( C )A、CS段中B、DS段中C、SS段中D、ES段中20.和外存相比,内存的特点是( A )。
A、容量小、速度快、成本高B、容量小、速度快、成本低C、容量大、速度快、成本高D、容量大、速度快、成本低21.运算器的主要功能是( C )。
A、算术运算B、逻辑运算C、算术运算与逻辑运算D、函数运算22.汇编程序的循环控制指令中,隐含使用( C )寄存器作为循环次数计数器。
A、AXB、BXC、CXD、DX23.下面关于寄存器不正确的表述是:(C)A、AX寄存器是算术运算的主要寄存器,又称为累加器B、BP、SP通常作为地址指针寄存器C、IP指令指针寄存器可以通过MOV命令改变其值D、标志位寄存器中的状态标志位会受算术单元的运算结果而改变。
24.用来存放下一条将要执行的的指令地址的寄存器是( B )A、S PB、IPC、BPD、CS25.完成将BX清零,并使标志位CF清零,下面错误的指令是(B)A、SUB BX ,BXB、MOV BX,00HC、XOR BX,BXD、AND BX,00H三、判断1、当运算的结果有奇数个1时,PF=0。
(√)2、MOV AL, BX 是正确指令。
(×)3、SP的内容可以不指向堆栈的栈顶。
(×)4、DW伪指令用来定义双字。
(×)5、MOV指令要影响标志位。
(×)6、同一物理地址,可以有不同的逻辑地址。
(√)7、1KB=1000B。
(×)8、存储器中的各段不允许重叠。
(×)9、立即数不能作为目的操作数。
(√)10、所有的条件转移指令都不影响标志位。
(√)11、汇编语言是一种高级程序语言。
(×)12、1个cpu的寻址能力为8kb,那么它的地址总线宽度为12。
(×)13、伪指令也有相对应的机器指令。
(×)14、SS:SP有时候可以不指向栈顶元素。
(√)15、jmp的短转移是一种段间转移。
(×)16、loop指令能够实现段间转移。
(×)17、add指令只影响ZF标志位的取值。
(×)18、push指令可以将一个字节压入栈中。
(×)四、程序分析1、写出指令运行结果MOV AL ,80HMOV BL ,08HMUL BL则(AX)= 0400H 。
该指令完成AL 寄存器和BL寄存器的内容相乘,结果存入AX寄存器中。