8086汇编语言复习题解答

合集下载

汇编语言复习题(带答案)

汇编语言复习题(带答案)

汇编语言复习题(带答案)汇编语言期末复习题第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文件,最后再运行。

汇编原理复习题及答案

汇编原理复习题及答案

一、判断题1. 8253在计数过程中,如不锁存或暂停,读出的数据不一定正确。

【答案】对2. 由于8088/8086 CPU在中断响应后自动关中断,所以在中断服务结束并返回后需用户开中断,才能再次响应中断。

()【答案】错3. 8086 的中断分为可屏蔽中断和不可屏蔽中断两种。

【答案】错4. 由于8088/8086 CPU在中断响应后自动关中断,所以在中断服务结束并返回后需用户开中断。

【答案】错5. 8086CPU在响应中断时,执行两个中断响应周期。

( )【答案】对6. 对8086系统,中断类型码的大小与中断优先级高低无关。

()【答案】对7. 对8086系统,中断优先级高低与中断类型码的大小有关。

()【答案】错8. 当中断控制器8259A设定为中断自动结束时,程序设计者无须在中断服务程序结束时向8259A发出EOI命令。

【答案】对9. CPU 在未执行完当前指令的情况下,就可响应可屏蔽中断请求。

【答案】错10. CPU响应可屏蔽中断时,无须从数据总线上读取中断类型码。

【答案】错11. 在读8253计数值时,只有在锁存或暂停时才能可靠地获得正确读数。

()【答案】对12. 8253 三个计数通道结构完全相同,且独立工作( )。

【答案】对13. 8253的每个计数器能按十进制或二进制两种制式中的一种进行计数。

【答案】对14. 若要实现定时控制,则需将定时器的计数脉冲输入信号作为中断请求信号。

()【答案】错15. 读取 8253 内的计数值时,必须先用锁存命令将当前计数值锁存在输出锁存器中()【答案】对16. 8253的每个计数器只能按二进制进行计数。

【答案】错17. 8086CPU中所有的内部中断都不能被屏蔽,且每种类型的中断有唯一对应的中断类型码。

( )【答案】错18. 若主程序中已使用IF标志位置“1”,则在执行完中断服务程序并返回主程序后,IF标志位一定为“0”。

【答案】错19. 8086 响应 INTR 请求需要执行两个总线响应周期( )。

8086汇编语言(沈美明 温冬娟版)复习资料(附答案)

8086汇编语言(沈美明 温冬娟版)复习资料(附答案)

汇编语言复习资料第1、2章微处理器的结构和存储器组成1、程序设计语言分哪三类?【机器语言、汇编语言和高级语言】2、二进制数转十进制、十六制数、十进制数转二进制数、十六制数转十进数。

3、十进制数的压缩和非压缩BCD码表示方法。

4、计算机显示、打印字符的编码一般采用什么码。

【ASCⅡ码】5、8086微处理器的功能结构分哪两大部件。

【总线接口单元BIU和执行单元EU;BIU负责与存储器接口,EU部分负责指令的执行。

】6、8086有哪些通用寄存器和段寄存器?哪些可即做8位又可以作16位通用寄存器?哪些在指令中可以装偏移地址?【通用寄存器:八位:AL、AH、BL、BH、CL、CH、DL、DH十六位:AX、BX、CX、DX、DI、SI、SP、BP三十二位:EAX、EBX、ECX、EDX、EDI、ESI、ESP、EBP既可做八位又可作十六位:AX、BX、CX、DX 段寄存器:SS、CS、DS、ES、FS 】7、掌握实模式下的内存分段管理方法。

8、堆栈的基本操作有哪两种,操作原则是什么。

对堆栈完成进出栈操作后,堆栈栈顶指针SP如何改变。

9、微机的总线按功能分为哪三大总线。

【地址总线AB、数据总线DB、控制总线CB 】10、8086微机内存是分段管理的,这样存储器单元的逻辑地址分为哪两个两部分,计算为物理地址公式是什么?【逻辑地址分为段基址和偏移量。

物理地址=10H*段基址+偏移量】11、标志寄存器中有哪些状态标志位和控制标志位,中文名称和符号分别为什么?有什么作用?【状态标志位:(1)辅助进位标志AF 这个标志用于十进制算术运算指令中。

( 2) 进位标志CF 这个标志主要用于多字节数的加、减法运算。

(3)溢出标志OF 多用于算术运算中。

(4) 符号标志SF 它的值与运算结果的最高位相同。

(5) 奇偶标志PF 这个标志可用于检查在数据传送过程中是否发生错误。

(6) 零标志ZF 若运算的结果为0,则ZF=1,否则ZF=0。

汇编语言考试复习题及答案

汇编语言考试复习题及答案

一、单项选择题(从下列每题的四个选择中选择一个正确的,填入答题纸的相应位置。

每小题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. 汇编语言是一种()。

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

汇编语言程序设计复习题答案1

1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。

2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。

3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。

4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。

5、根据功能不同,8086的标志位可分为状态标志和控制标志。

6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。

7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。

8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。

9、计算机的指令由操作码和地址码两部分组成。

10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。

11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。

12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和PF ,其中用于记录是否产生进位的标志位是 CF 。

13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。

14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。

15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。

其中代码段是源程序中必不可少的,其它的段可有可无。

16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。

数据定义伪指令为 DB 、 DW 、 DD 。

17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。

80868088汇编语言考试卷及答案

80868088汇编语言考试卷及答案

一.选择题(30)1.在一个8位二进制的机器中,-1的补码是AA.0FFH B.0FEH C.80H D.81H2.指令寄存器(IP)存放的是:____D____A.操作数B.操作码C.指令D.指令地址3.8088CPU的地址总线和数据总线分别是DA.16根和8根B.20根和16根C.16根和20根.D. 20根和8根4、5、6.用ASCII码(七位)表示字符5和7是__(1)_D_;按对应的ASCII值来比较__(2)_B; 二进制的十进制编码是___(3)_A.(1) A.1100101和1100111 B.10100011和01110111C.1000101和1100011D.0110101和0110111(2) A.“a”比“b”大 B。

“f”比“Q”大C.空格比逗号大 D。

“H”比“R”大(3)A.BCD码 B。

ASCII码 C。

机内码 D。

二进制编码7.在下列指令中,不影响堆栈内容的指令是__C_____A.PUSHB.RETC.JMPD.CALL8.中断向量地址是_B_____A.子程序入口地址B.中断服务子程序入口地址C.中断服务子程序入口地址指示器D. 剩余程序入口地址9.8088/8086工作于最大模式,是因为 CA.可以扩展内存空间B.可以扩大I/O空间C.可以构成多处理系统D.可以提高CPU主频10. 8088/8086 CPU要处理“1”号中断,其中断向量的地址在___D______A.00000H---00003HB.00001H-----00004HC.FFFF0HD.00004H----00007H11.执行串操作指令,MOVSB命令实行的操作是___B____A. (AX)←(BX)B.(DI)←(SI)C.(BX)←(BP)D.(BX)←(CX)12.汇编语言程序中的伪指令的功能是_____C___A.解释指令符号B.控制程序的执行C.控制汇编的执行D.仅给标号赋值13.可以直接存取64K字节内存的CPU地址线需要 AA.16 B。

汇编语言程序设计复习题答案

汇编语言程序设计复习题答案

《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。

2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。

3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。

4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。

5、根据功能不同,8086的标志位可分为状态标志和控制标志。

6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。

7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。

8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。

9、计算机的指令由操作码和地址码两部分组成。

10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。

11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。

12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。

13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。

14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。

15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。

其中代码段是源程序中必不可少的,其它的段可有可无。

16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。

数据定义伪指令为 DB 、 DW 、DD 。

17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。

《汇编语言程序设计》课程知识 复习 学习材料 试题与参考答案

《汇编语言程序设计》课程知识 复习 学习材料 试题与参考答案

《汇编语言程序设计》课程知识复习学习材料试题与参考答案一、单选题1.为了使MOV AX,VAR指令执行后,AX寄存器中的内容为4142H,下面哪一条数据定义会产生不正确的结果?(C)A.VAR DW 4142HB.VAR DW 16706C.VAR DB 42H,41HD.VAR DW ‘AB’2.关于8086/8088微机系列,下列说法哪个是正确的(D)A.一个存储单元由16个二进制位组成,简称字。

B.当存储一个字数据时,低字节放高地址位,高字节放低地址位。

C.在内存中,可以无限分配段,且段的大小不受限制。

D.段与段之间可以邻接,也可以重叠。

3.宏指令库以(C)格式存放在磁盘上。

A.可执行代码B.目标代码C.源代码4.计算机处理问题中会碰到大量的字符.符号,对此必须采用统一的二进制编码。

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

A.BCD码B.二进制码C.十六进制码D.ASCII码5.运算器能够完成(C)运算。

A.算术运算B.逻辑运算C.算术运算和逻辑运算D.加减运算6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)A.无符号十进制数136B.带符号十进制数-120C.压缩型BCD十进制数88D.8位二进制数-8的补码表示7.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是(B )A.MOV AX,89B.MOV AX,0809HC.MOV AX,89HD.MOV AX,08098.在执行下列指令时,需要使用段寄存器DS的指令是(D)A.STOSWB.ADD AL,CLC.NEG BXD.INC DA[BX]9.假设AL=28H,执行ROL AL,1指令之后的情况是(D ) P125A.AL=14H, CF=1B.AL=50H, CF=1C.AL=14H, CF=0D.AL=50H, CF=010.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D )A.AX=0032HB.AX=00E0HC.AX=03E0HD.AX=0FFE0H11.JMP SI的目标地址偏移量为(A)。

8086汇编语言程序格式习题及答案

8086汇编语言程序格式习题及答案

8086汇编语⾔程序格式习题及答案第4章汇编语⾔程序格式习题练习题1 单项选择题1.下列选项中不能作为名字项的是(C)。

A.FH B.A3 C.3B D.FADC2.下列指令不正确的是()。

A.MOV AL,123 B.MOV AL,123QC.MOV AL,123D D.MOV AL,123H3.下列指令不正确的是()。

A.MOV BL,OFFSET A (偏移量16位)B.LEA BX,AC.MOV BX,OFFSET A D.MOV BX,A4.若定义“BUF DB 1,2,3,4”,执⾏MOV AL,TYPE BUF 后AL=()。

A.0 B.1C.2 D.35.若定义“A EQU 100”,执⾏“MOV AX,A”后,AX=()。

A.A的偏移地址B.A单元中的内容C.100 D.A的段地址6.若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配()字节单元。

A.10 B.20 C.22 D.247.若定义“C DD 2,4”,则该伪指令分配()个字节单元。

A.2 B.4 C.6 D.88、伪指令是()规定的汇编说明符,它在源程序汇编时进⾏说明。

A、DEBUGB、LINKC、MASM(汇编程序)D、EDIT9.在上机操作过程中,MASM命令执⾏后,除了⽣成⼀个⽬标⽂件外,根据选择还可以⽣成⼀个()⽂件。

A..LST B..EXE C..MAP D..ASM10.LINK命令执⾏后可以⽣成⼀个以()为扩展名的⽂件。

A.ASM B.EXE C.OBJ D.COM11.⼀个段最⼤可定义()字节。

A.1M B.64K C.32K D.16K12.若要求⼀个段的起始位置能被256整除的单元开始,在定位⽅式选项中应选()。

A.BYTE B.WORD C.PARA D.PAGE(页)13.宏指令与⼦程序相⽐,在多次调⽤时,宏指令调⽤的⽬标程序长度⽐⼦程序调⽤的()。

A.相同B.长C.短D.不定14.宏指令与⼦程序相⽐,⼦程序调⽤的执⾏速度⽐宏指令的()。

汇编语言试卷及答案

汇编语言试卷及答案

汇编语言试卷及答案第一部分:选择题1.下列哪个寄存器是通用寄存器?A. EAX B. ESP C. EIP D. ECX 答案:D2.在8086中,IP指向的是哪个段的开始地址?A. 数据段B. 附加段C. 代码段D. 堆栈段答案:C3.以下哪个指令可以将AL寄存器中的值移动到BL寄存器中?A. MOV AL,BL B. MOVBL,AL C. MOV AH,BL D. MOV BL,AH 答案:B4.下列哪个指令可以将AX寄存器中的值右移一位?A. SHR AX,1 B. SHL AX,1 C. RORAX,1 D. ROL AX,1 答案:A5.以下哪个指令可以将DX:AX中的值除以BX中的值?A. DIV BX B. MUL BX C. SUB BX D.ADD BX 答案:A第二部分:填空题1.8086CPU有____个16位通用寄存器,分别为AX、BX、CX、DX、SI、DI、BP、SP。

答案:82.在8086中,IP指向的是____段的开始地址。

答案:代码段3.指令MOV AX,BX中,AX为____,BX为____。

答案:目的操作数,源操作数4.指令ADD AX,4中,4为____。

答案:操作数5.在8086CPU中,用于保存当前程序的返回地址的寄存器是____。

答案:IP第三部分:简答题1.简述8086CPU的寻址方式。

答案:8086CPU的寻址方式有直接寻址、寄存器间接寻址、基址变址寻址、相对基址变址寻址、相对基址加变址寻址和堆栈寻址。

2.简述寄存器在汇编语言中的作用。

答案:寄存器在汇编语言中用于存储数据、进行运算和地址计算等。

8086CPU有8个16位通用寄存器,用于存储数据。

其中AX、BX、CX和DX可以单独使用或组合使用,SI和DI通常用于存储指针地址,BP和SP 用于操作堆栈。

3.简述如何进行数据传送操作。

答案:数据传送操作可以使用MOV指令。

MOV指令的语法为:MOV 目的操作数,源操作数。

80868088汇编语言考试卷及答案

80868088汇编语言考试卷及答案

一.选择题(30)1.在一个8位二进制的机器中,-1的补码是AA.0FFH B.0FEH C.80H D.81H2.指令寄存器(IP)存放的是:____D____A.操作数B.操作码C.指令D.指令地址3.8088CPU的地址总线和数据总线分别是DA.16根和8根B.20根和16根C.16根和20根.D. 20根和8根4、5、6.用ASCII码(七位)表示字符5和7是__(1)_D_;按对应的ASCII值来比较__(2)_B; 二进制的十进制编码是___(3)_A.(1) A.1100101和1100111 B.10100011和01110111C.1000101和1100011D.0110101和0110111(2) A.“a”比“b”大 B。

“f”比“Q”大C.空格比逗号大 D。

“H”比“R”大(3)A.BCD码 B。

ASCII码 C。

机内码 D。

二进制编码7.在下列指令中,不影响堆栈内容的指令是__C_____A.PUSHB.RETC.JMPD.CALL8.中断向量地址是_B_____A.子程序入口地址B.中断服务子程序入口地址C.中断服务子程序入口地址指示器D. 剩余程序入口地址9.8088/8086工作于最大模式,是因为 CA.可以扩展内存空间B.可以扩大I/O空间C.可以构成多处理系统D.可以提高CPU主频10. 8088/8086 CPU要处理“1”号中断,其中断向量的地址在___D______A.00000H---00003HB.00001H-----00004HC.FFFF0HD.00004H----00007H11.执行串操作指令,MOVSB命令实行的操作是___B____A. (AX)←(BX)B.(DI)←(SI)C.(BX)←(BP)D.(BX)←(CX)12.汇编语言程序中的伪指令的功能是_____C___A.解释指令符号B.控制程序的执行C.控制汇编的执行D.仅给标号赋值13.可以直接存取64K字节内存的CPU地址线需要 AA.16 B。

汇编语言复习题(2)

汇编语言复习题(2)

汇编语⾔复习题(2)汇编语⾔复习题第2章8086CPU寄存器的结构及使⽤1.8086CPU由指令执⾏部件EU和总线接⼝部件BIU两部分组成。

其中EU的功能是控制和执⾏指令,主要由算术逻辑部件ALU、EU控制部件、8个16位寄存器和⼀个标志寄存器FLAGS组成。

BIU的功能是从存储器预取指令和数据,以及所有EU需要的总线操作,实现CPU与存储器和外设间信息传递。

BIU由指令队列、指令指针寄存器、段寄存器、地址加器组成。

2.Intel8086CPU共有14个16位寄存器,它们分别是通⽤寄存器8个即AX、BX、CX、DX、SP、BP、SI、DI,其中能⽤作寄存器间接寻址的寄存有BX、BP、SI和DI,控制寄存器2个即IP、PSW,段寄存器4个即DS、SS、CS和ES它们的含义分别是:其中在编程过程中程序的段基值由汇编程序装⼊的段寄存器是SS和CS,由编程者⽤汇编指令将段基值装⼊的段寄存器是DS 和ES,其具体指令是MOV AX,数据段段/附加数据段名,MOV DS/ES,AX,编程⼈员不能⽤指令去取其值或给其设置给定值的寄存器是IP,但是可以通过某些指令的执⾏⽽⾃动修改其内容,如JMP NEXT指令的功能是将⽬的地址的偏移量送⼊IP。

3.PSW是程序状态字寄存器⼜称为标志寄存器,⽤来反映微处理器在程序运⾏时的某些状态,其中的6个状态标志位分别是OF、SF、ZF、AF、PF和CF,反映了刚执⾏完算术或逻辑运算指令后的某些特征。

三个控制标志位是DF即⽅向标志、IF即中断标志位和TF陷阱标志。

如两个8位的⼆进制数相加其状态标志位中各标志的值是多少?10110101+10011011。

4.8086CPU数据总线16根地址总线是20根能访问的最⼤存储空间是1MB。

第3章存储器的分段1.在8086CPU中存储器的编址原则是按字节编址即每⼀个字节单元是⼀个存储器地址,在源程序中⽤常⽤⼗六进制数或符号来表⽰⼀个存储单元的地址。

汇编语言考试复习题及参考答案

汇编语言考试复习题及参考答案

第三套题一、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’D. 56004.如果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=0D.ZF=110.逻辑移位指令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. 汇编语言是一种低级语言,它与机器语言之间的关系是: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、8086的指令格式由哪些部分组成?什么是操作码?什么是操作数?什么是寻址方式?2、8086/8088中有关操作数的寻址方式有哪几种?3、汇编语言程序应该由哪些逻辑段组成?各段的作用是什么?4、写出以下结构类定义语句的格式。

过程定义:段定义:5、简述标志寄存器各位的定义。

6、写出具有下列功能的伪指令语句:在DAl为首地址的存储单元中连续存放字节数据:2个54,5个‘A’, 10个(3,5)。

7、解释段基地址、逻辑地址、偏移地址、有效地址、物理地址的含义。

物理地址如何计算?(P35)教材P57,1~6教材P112,7~14教材P140,6~9,11教材P198,9(1)~(5)二、选择题1、若(AX)=0122H,4个标志位CF,SF,ZF,OF的初始状态为0,执行指令SUB AX,0FFFH 后,这4个标志位的状态是A、(CF)=0,(SF)=0,(ZF)=0,(OF)=0B、(CF)=0,(SF)=0,(ZF)=1,(OF)=1C、(CF)=1,(SF)=1,(ZF)=0,(OF)=0D、(CF)=1,(SF)=1,(ZF)=1,(OF)=12、当运算结果为0时,不能转向标号L1处的指令为A、JE L1B、JGE L1C、JNZ L1D、JAE L13、当程序结束要退回DOS时,在系统功能调用中,INT 21H指令前,先必须执行的指令是()。

AMOV AH,01H B、MOV AH,4CHC、MOV AH,02HD、MOV AH,09H4、DOS功能调用的子功能号应存放在()寄存器中A、AHB、ALC、DHD、DL5、比较两个同长度的字符串,全相等则转移到ST2的是()。

A、REPE CMPSBB、REPNE CMPSBJZ ST2 JZ ST2C、REP MOVSBD、REPNE MOVSBJZ ST2 JZ ST26、设ALPHA DW 7435H,396,8321,AUl DB 10 DUP(?)BETA DD 9543HCNT EQU BETA-ALPHA,则CNT的值为()。

汇编语言复习题(附答案)

汇编语言复习题(附答案)

汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。

在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。

A.汇编程序B.连接程序C.机器语言程序D.源代码程序2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C )。

A..SS和SPB.DS和DIC.CS和IPD.ES和SI3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。

A.物理地址B. 逻辑地址C. 端口地址D.段地址4.MOV AX,3064H,该指令中源操作数采用的寻址方式是( A )。

A.立即B.直接C.寄存器相对D.寄存器间接5.换码指令的助记符是( C )。

A. XCHGB. LEASC.XLATD. MOV6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是 ( JGE )。

7.下列符号中,可用作标识符的是( C )。

A.MOVB.AXC.MSG1D.1ABC8.X DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。

A.20DB.10DC.20HD.10H9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C )。

A. 不变B.减1C.加1D.无法确定10.如下指令可将AX寄存器内容改变的是( A )。

A.AND AX , BX B.TEST AX , BX C.CMP AX , BX D.XCHG AX , AX11.16位CPU支持的I/O地址范围是( D )。

A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH12.MUL CL指令实现的功能是( A )。

A.无符号乘法:AX← AL×CL B.有符号乘法:AX← AL×CLC.无符号乘法:DX← AL×CL D.有符号乘法:DX← AL×CL13.DOS系统功能调用(INT 21H)中,显示字符串的功能号是( D )。

8086汇编语言复习题解答

8086汇编语言复习题解答

8086/8088汇编语言习题解答第一章1.1、试根据自己使用计算机的经历,列举几个必须使用或最好是使用汇编语言编制程序的事例。

1.2、试完成下列数制间的转换⑴、十进制数转换为8位二进制数十进制:100 对应二进制:01100100B十进制:56 对应二进制:00111000B十进制:111 对应二进制:01101111B十进制: 120 对应二进制:01111000B十进制: 70 对应二进制:01000110B⑵、8位二进制数(无符号数)转换为十进制数二进制:01010101B 对应十进制:85二进制:10101010B 对应十进制:170二进制:11110000B 对应十进制:240二进制:00001111B 对应十进制:15⑶、十进制数转换为十六进制数十进制:40 对应二进制:00101000B十进制:80 对应二进制:01010000B十进制:105 对应二进制:01101001B十进制: 114 对应二进制:01101101B十进制: 207 对应二进制:11001111B1.3、试把下面用补码表示的二进制数转换为对应的十进制真值二进制补码:01111000 对应的十进制值数真值:+120二进制补码:11011001 对应的十进制值数真值:-39二进制补码:10000001 对应的十进制值数真值:-127二进制补码:10001000 对应的十进制值数真值:-120二进制补码:00100111 对应的十进制值数真值:+39二进制补码:11110000 对应的十进制值数真值:-161.4、由键盘输入字符通常都是以该字符的ASCII码形式表示的。

若现在从键盘上输入十六进制数0~F,那么应如何处理才能把十六进制转换为4位二进制数0000~1111.答:将键盘输入的数0~F的ASCII码,每输入一个字符,减去30H后,再存入内存,这样就完成了把从键盘上输入的十六进制ASCII码转换为4位二进制数0000~1111.1.5、试分别判断下列各组数据中哪个数据最大?哪个最小?①、A=0.101B B=0,101D C=0,101H②、A=1011B B=1011D C=1011H答:第①组:A=1×21-+1×23-=0.625B=0.101C=1×161-+163-=0.0625+0.00024414=0.06274414所以A最大,C最小第②组,B最大,A=B最小1.6、现有一个二进制数10110110.若将该数看着是无符号数、原码表示的带符号数、补码表示的带符号数,它对应的十进制数的真值是多少?答:10110110.的无符号数的十进制是:+182;10110110.的原码带符号数的十进制是:-5410110110.补码表示的带符号数的十进制是:+741.7、下列各组数据均为十进制数,先将各数据转换为补码表示的带符号数,然后用补码的加减运算分别完成下列各小题,并用十六进制数形式回答运算结果。

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

8086/8088汇编语言习题解答第一章1.1、试根据自己使用计算机的经历,列举几个必须使用或最好是使用汇编语言编制程序的事例。

1.2、试完成下列数制间的转换⑴、十进制数转换为8位二进制数十进制:100 对应二进制:01100100B十进制:56 对应二进制:00111000B十进制:111 对应二进制:01101111B十进制: 120 对应二进制:01111000B十进制: 70 对应二进制:01000110B⑵、8位二进制数(无符号数)转换为十进制数二进制:01010101B 对应十进制:85二进制:10101010B 对应十进制:170二进制:11110000B 对应十进制:240二进制:00001111B 对应十进制:15⑶、十进制数转换为十六进制数十进制:40 对应二进制:00101000B十进制:80 对应二进制:01010000B十进制:105 对应二进制:01101001B十进制: 114 对应二进制:01101101B十进制: 207 对应二进制:11001111B1.3、试把下面用补码表示的二进制数转换为对应的十进制真值二进制补码:01111000 对应的十进制值数真值:+120二进制补码:11011001 对应的十进制值数真值:-39二进制补码:10000001 对应的十进制值数真值:-127二进制补码:10001000 对应的十进制值数真值:-120二进制补码:00100111 对应的十进制值数真值:+39二进制补码:11110000 对应的十进制值数真值:-161.4、由键盘输入字符通常都是以该字符的ASCII码形式表示的。

若现在从键盘上输入十六进制数0~F,那么应如何处理才能把十六进制转换为4位二进制数0000~1111.答:将键盘输入的数0~F的ASCII码,每输入一个字符,减去30H后,再存入内存,这样就完成了把从键盘上输入的十六进制ASCII码转换为4位二进制数0000~1111.1.5、试分别判断下列各组数据中哪个数据最大?哪个最小?①、A=0.101B B=0,101D C=0,101H②、A=1011B B=1011D C=1011H答:第①组:A=1×21-+1×23-=0.625B=0.101C=1×161-+163-=0.0625+0.00024414=0.06274414所以A最大,C最小第②组,B最大,A=B最小1.6、现有一个二进制数10110110.若将该数看着是无符号数、原码表示的带符号数、补码表示的带符号数,它对应的十进制数的真值是多少?答:10110110.的无符号数的十进制是:+182;10110110.的原码带符号数的十进制是:-5410110110.补码表示的带符号数的十进制是:+741.7、下列各组数据均为十进制数,先将各数据转换为补码表示的带符号数,然后用补码的加减运算分别完成下列各小题,并用十六进制数形式回答运算结果。

①、58+36 ②、(-58)+36 ③、58+(-36)④、(-58)+(-36)⑤、58-36 ⑥、(-58)-36 ⑦、58-(-36)⑧、(-58)-(-36)答:①、58+36的运算结果是:00111010+00010100=01001110=01011110②、(-58)+36的运算结果是:11000110+00010100=11101010=-000101001③、58+(-36)的运算结果是:00111010+11011100=00010110④、(-58)+(-36)的运算结果是:11000110+10100010=10100010⑤、 58-36的运算结果是:00111010+11011100=00010110⑥、(-58)-36的运算结果是:11000110+10100010=10100010⑦、58-(-36)的运算结果是:00111010+00010100=01001110=01011110⑧、(-58)-(-36)的运算结果是:11000110+00010100=11101010=-000101001第二章2.1、试说明8086/8088CPU中有哪些寄存器?各有什么用途?答:寄存器AX、AL:在乘法指令中,存放乘数和乘积;在除法指令中,存放被除数和商;在未组合BCD码运算的校正指令中在某些串操作指令(LODS,STOS,SCAS)中在输入输出令中作数据寄存器寄存器AH:在LAHF指令中作目的寄存器寄存器AL:在组合型BCD码的加减法校正指令中在XLAT指令中作目的寄存器寄存器BX:在XLAT指令中基址寄存器寄存器CX:在循环指令中作循环次数计数器寄存器CL:在移位指令中作移位次数计数器寄存器DX: 在字数据的乘法和除法指令中辅助累加器寄存器SP:在堆栈操作中作堆栈指计寄存器SI:在串操作指令中作源变址寄存器寄存器DI:在串操作指令中作目的变址寄存器2.2、试说明8086/8088CPU中标志寄存器各标志位的意义?答:8086/8088CPU中标志寄存器各标志位的意义是:CF:进位标志PF:奇遇标志AF:辅助进位标志ZF:零值标志SF:符号位标志TF:单步标志IF: 中断允许标志 DF:方向标志OF:溢出标志2.3、哪些操作只能隐含使用某个段寄存器,而不能用其他寄存器替代?哪些操作除隐含使用某个段寄存器外,还可以用其他段寄存器替代?答:在“取指令”、“堆栈操作”、“存目的串”三操作时,只能分别使用隐含段寄存器“CS”、“SS”“ES”,不能用其他寄存器替代;在“取源串”、“以BP作基址”、“存取一般变量”三操作时,除了可分别使用隐含段寄存器“DS”、“SS”“DS外,还可分别使用“CS、SS、ES”,“CS、DS、ES” 、“CS、SS、ES”等进行替代。

2.4、8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由哪两部分组成?答:在8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由段基值和偏移量两部分组成,它们都是16位无符号二进制数。

2.5、设IBM PC微机内存某一单元的物理地址是12345H,试完成下列不同的逻辑地址表示:①、1234H:0005_H ;EA=段基值+DISP=12340H+0005H=12345H②、1200H:0345H ;EA=段基值+DISP=12000H+0345H=12345H2.6、假设某用户程序装入内存后,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部(字单元)物理地址是是多少?2.7、设堆栈段寄存器(SS)=3E4BH,程序中设置堆栈长度为200个字节。

试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。

2.8、设某用户程序(SP)=30H,(AX)=1234H,(DS)=5678H。

如现有两条指令:PUSH AXPUSH DS试问两条指令执行后,图2.18中各单元的数据是多少?(SP)=?答: (SP)=30H-4H=2CH2.9、在IBM-PC微机上,分别进行下列8位二进制数的运算后,标志寄存器中OF、ZF、SF、CF的值各是多少?①、10101011+01010101 ②、11011010+11101101③、01010101-00111110 ④、10110011-011000102.10、设(SP)=50HPUSH AXPUSH BXPUSH CX执行上述三条指令后,(SP)= 44H。

2.11、设(SP)=6EHPOPFPOP AX执行上述两条指令后,(SP)= 72H 。

第三章3.1、试分别说明下列各指令中源操作数和目的操作数使用的寻址方式:①、AND AX,0FFH ;立即数寻址②、AND BL,[0FFH] ;直接寻址③、MOV DS,AX ;寄存器寻址④、CMP [SI],CX ;寄存器间接寻址⑤、MOV DS:[0FFH],CL ;带前缀的直接寻址⑥、SUB [BP][SI],AH ;基址变址寻址⑦、ADC AX,0ABH[BX] ;基址寻址⑧、OR AX,-35[BX][DI] ;基址变址寻址⑨、PUSH DS ;寄存器寻址⑩、CMC ;立即数寻址3.2、试分别指出下列各指令语句的语法是否有错,若有错,指明是什么错误。

①、MOV [BX][BP],AX ;错,BX与BP必须二选一②、TEST [BP],BL ;正确③、ADD [SI],DA_BYTE ;错,源目操作数不能同时为存储器④、AND DH,DL ;错,同一寄存器高、低字节不能与⑤、CMP CL,1234H ;正确⑥、SHR [BX][DI],3 ;正确⑦、NOT CX,AX ;错,NOT指令只有一个操作数⑧、LEA DS,35[SI] ;正确⑨、INC CX,1 ;正确⑩、PUSH 45[DI] ;正确3.3、下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态?MOVDL,,86ADDDL,0AAH答:以上两条指令执行后:CF=AF=ZF=SF=OF=3.4、在8086/8088CPU中可用于作地址指针的寄存器有哪些?答:3.5、已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H(CX)=5678H,(BP )=0024H,(SI)=0012H,(DI)=0032H,单元(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH 下各指标令或程序段分别执行后的结果如何?①、MOV CL,20H[DI][SI]②、MOV [BP][DI],CX③、LEA BX,20H[BX][SI]MOV AX,2[BX]④、LDS SI,[BX][DI]MOV [SI],BX⑤、XCHG CX,32H[BX]XCHG AX,[SI]3.6、已知(SS)=0915H,(DS)=0930H,(SI)=0A0H,(DI)=1C0H,(BX)80H,(BP)=470H.现有一指令“MOV AX,OPRD”,若源操作数的物理地址为095C0H,试用4种不同寻址方式该写此指令(要求上述每个已知条件至少要使用一次)。

3.7、已知(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464HLEA SI, [SI]MOV AX, [SI]MOV [SI+22H], 1200HLDS SI, [SI+20H]ADD AX, [SI]上述程序执行后:(DS)= ,(SI)= (AX)=3.8、已知(AX)=0A5C6H,(CX)=0F03H,CF=1RCL AX, CLAND AH, CHRCR AX, CL上述三条指令执行后:(AX)=,CF=。

相关文档
最新文档