汇编语言复习资料
汇编语言参考复习题
A) BX B) DI C) SI D) DX
3.在指令MOV ES:[SI],AX 中,目的操作数为_______寻址方式。
A) 寄存器 B) 直接 C) 基址变址 D) 寄存器间接
简答题
1.写出6种常用的寻址方式。
伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配了_________字节。答案: 16个
若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=___ _____H;而当CPU执行一条段内返回指令RET 6后,(SP)=____ ______H。 6006H,6008H
A)0FH,04H B)0BH,04H C)0FH,0BH D)04H,0FH
6.若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSH AX 后,(SP)和((SS):(SP))的值分别为_________。
A)2002H,00H B)2000H,20H C)1FFFH,00H D)1FFEH,20H
A) 0—255 B) 0—65535 C) 0—1023 D) 0—32767
14.下列四条指令中,有几条指令需要使用DX寄存器_________?
MUL BX DIV BL IN AX,20H OUT 20H,AL
执行指令段: AGAIN:MOV ES:(DI), AL
INC DI
LOOP AGAIN
完成的操作,与其等效的指令组:_______________、_______________。
CLD,REP STOSB
汇编语言程序设计
汇编语言程序设计复习资料1、(单选、2.5分)汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法________。
A、名字的第一个字符可以是大写英文字母及小写英文字母B、名字的第一个字符可以是字母、数字及、@、_C、名字的有效长度≤31 个字符D、在名字中不允许出现$参考答案:B2、(单选、2.5分)当程序顺序执行时,每取一条指令语句,IP 指针增加的值是__________。
A、1B、2C、3D、由指令长度决定的参考答案:D3、(单选、2.5分)下列属于合法的指令是_________。
A、MOV DS,ESB、MOV [SI],[DI]C、MOV AX,BLD、MOV [DI],BL参考答案:D4、(单选、2.5分)下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是________。
A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS 参考答案:B5、(单选、2.5分)下列传送指令中有语法错误的是_________。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX参考答案:A6、(单选、2.5分)与MOV BX,OFFSET VAR 指令完全等效的指令是_________。
A、MOV BX,VARB、LDS BX,VARC、LES BX,VARD、LEA BX,VAR参考答案:D7、(单选、2.5分)在汇编语言程序中,对END 语句的叙述正确的是________。
A、END 语句是一可执行语句B、END 语句表示源程序到此结束C、END 语句表示程序执行到此结束D、END 语句在汇编后要产生机器码参考答案:C将DX 的内容除以2,正确的指令是_________。
A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,1参考答案:C9、(单选、2.5分)下列数值表达式和地址表达式中,错误的是_________。
汇编语言复习题附答案
汇编语言复习题附答案一、选择题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.指令指针寄存器是()。
2. DAL DB 67HNUM EQU 80H则执行AND DAL,NUM语句后DAL中的内容是()。
A. E7HB. 80HC. 67HD. 03.与指令MOV AX,NOT 0F0H等效的汇编语言指令是()。
A. MOV AX,0FHB. MOV AX,0FF0FHC. MOV AX,000FHD. MOV AX,0F0H4.一个有16个字的数据区,它的起始地址是70A0H:DDF6H,则这个数据区最末一个字单元的物理地址是()。
B5.可用作基址变址寻址或寄存器间接寻址的寄存器是()。
,BX,CX,DX ,ES,CS,SS,BP,IP,BX ,DI,BP,BXD6.在串操作指令中,下列描述中不正确的是()。
MOVSB STOSBCMPSB LODSBD7. ORG 0030HDA1 DB 0 , ‘0’, 30H偏移地址为0030H字存储单元的内容是()。
A8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。
A. CMPD9.将汇编语言源程序翻译成机器码程序的程序是()。
A.编译程序B.汇编程序C.解释程序D.目标程序B10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为()。
A. 1E4A6HB. 1E456HC. 1E556HD. 1E4F6HD11.当程序顺序执行时,每取一条指令语句,IP指针增加的值是()A.由指令长度决定的字节数A12.若AX=349DH, CX=0FH。
则执行指令AND AX,CX后,AX的值是()。
B13. 设(AX)=0FC77H, (CX) =504H, CF=1,执行SAR AX, CL指令后,AX的值是()。
A. FFC8HB. FFC9HC. FFC7HC14.假设字节单元(02398H)=12H, (02399H) =34H, (0239AH) =56H,则(02399H)字单元的内容是()。
汇编语言考试复习资料
汇编语⾔考试复习资料汇编语⾔期末复习资料整理第⼆章1、寄存器组(1)通⽤寄存器数据寄存器EAX(32位) AX(16位) AH(8位)(⾼位) AL(8位)(低位)累加器EBX(32位) BX(16位) BH(8位)(⾼位) BL(8位)(低位)基址变址ECX(32位) CX(16位) CH(8位)(⾼位)CL(8位)(低位)计数器EDX(32位) DX(16位) DH(8位)(⾼位) DL(8位)(低位)数据指针或变址寄存器ESP(32位) SP(16位)堆栈指针寄存器EBP(32位) BP(16位)基址指针寄存器EDI(32位) DI(16位)⽬的变址寄存器ESI(32位) SI(16位)源变址寄存器(2)专⽤寄存器EIP(32位) IP(16位)指令指针寄存器EFLAGS(32位) FLAGS(16位)标志寄存器ESP (32位) SP(16位)堆栈指针寄存器2、标志位的符号表⽰、3、段寄存器CS(16位)代码段 DS(16位)数据段SS(16位)堆栈段 ES(16位)附加段4、段寄存器和相应存放偏移地址的寄存器之间的默认组合第三章1、七种寻址⽅式(举例)⽴即寻 MOV AX,3069H寄存器寻 MOV AL,BH在内存中的五种寻址直接寻 MOV AX,[2000H]寄存器间接寻 MOV AX,[BX]寄存器相对寻 MOV AX,COUNT[SI] 或者 MOV AX,[SI+COUNT](不推荐) 基址变址寻址 MOV AX,[BP][DI]相对基址变址寻址 MOV AX,MASK[BX][SI]2、指令系统I.数据传送指令(1)通⽤数据传送指令MOV 传送MOVSX 带符号扩展传送⽤源操作数的符号位来填充⽬的操作数的⾼位数据位。
例:MOVSX EAX,CL把CL寄存器中的8位数,符号扩展为32位数,送到EAX寄存器中。
MOVZX 带零扩展传送恒⽤0来填充⽬的操作数的⾼位数据位例:MOVZX DX,AL把AL寄存器中的8位数,零扩展成16位数,送到DX寄存器中。
汇编复习材料
汇编复习材料第一章总线从逻辑上分为3类,下列选项中不在其中的是:2____1、数据总线2、并行总线3、地址总线4、控制总线下列哪些可以由计算机直接执行___4__。
1、汇编指令2、伪指令3、 +、-、*4、机器码下列说法正确的是:_3___1、在计算机中,存储器分为指令存储器和数据存储器。
2、电子计算机的最小信息单位是Byte。
3、微型存储器的容量是以Byte为最小单位来计算的。
4、在“1KB=1024B”中,“B”代表的是Bit。
下列哪个计算机部件能确定一组二进制数是要执行的指令还是用于操作的数据___4__。
1、显示器2、硬盘3、内存4、中央处理器1个CPU访问的最大内存地址是1023,地址总线的宽度__2___。
1、 82、 103、 134、 14计算机中一个存储单元可以存储多少信息___2__。
1、 1bit2、 1Byte3、 1KB4、 512B1KB的存储器可以存储_2___个bit1、 10242、 81923、 10004、 81KB的存储器有_2___个存储单元?1、 10002、 10243、 5124、 256一个CPU的寻址能力为8KB,那么它的地址总线的宽度为___4_。
1、 82、 103、 124、 131个CPU的寻址能力为32KB,那么它的地址总线宽度为__2___。
1、 132、 153、 184、 32k在8086的内存空间中下面哪段内存是不可写的__4___。
1、 0~9FFFF2、 A0000~B7FFF3、 B8000~BFFFF4、 C0000~FFFFF1个CPU读取1024字节的数据至少读取了512次,数据总线的宽度__3___。
1、 82、 103、 164、 32下列说法中正确的是__3__。
1、不同的微处理器有相同的机器指令集。
2、机器语言和汇编语言都需要编译程序来编译成机器指令。
3、每一个汇编指令都对应唯一的一个机器指令。
4、没有存储器CPU也可以工作。
汇编语言PDFPDF
汇编语言- 1 - 复习题要点1、指令要熟悉如跳转、转移、传送、逻辑、算术。
2、会程序分析说明结论3、字符转换、子程序、软中断4、中断向量、堆栈5、FLAGS 状态标志及意义一、填空题1、8086 CPU通过______________寄存器和______________寄存器能准确找到指令代码。
2、CPU的标志寄存器中标志位可以分为两大类其中一类称为______________标志位另一类称为______________标志位。
3、当标志位______________1时表示无符号数运算产生溢出而当标志位______________1是表示带符号数运算产生溢出。
4、执行语句MOV AX0F365H和ADD AX0E024H后AX ___________ CF___________ OF___________SF___________ ZF___________。
5、乘法指令语句MUL CL16位的乘积存放在______________中。
6、已知DS2000HBX0D00H20D00H020D01H92H ①执行DEC BYTE PTRBX 20D00H____________ ②执行ROL WORD PTRBX20D00H____________ 20D01H____________ 。
7、已知AX1A08HBX20F8H执行IMUL BL积为____________。
8、已知SS2250HSP0140H 如果在堆栈中压入5个数据则栈顶的物理地址为______________ H如果又从堆栈中弹出3个数据则栈顶的逻辑地址为______________________ H。
9、VAR DB 5 DUP 82 DUP 5 语句汇编应分配_____________个字节单元。
10、指令MOV AXSEG BUF的执行是把_____________送到AX中。
11、类型码为___________H的中断所对应的中断向量存放在0000H0080H开始的4个连续单元中若这4个单元的内容分别为___________、___________、___________、___________则相应的中断服务程序入口地址为5060H7080H。
《汇编语言程序设计》复习资料
《汇编语言程序设计》复习资料一、基本概念1、8088/8086CPU内部寄存器有__14____个,其中的AX、BX、CX、DX是通用寄存器,SP、BP、DI、SI 是基址和变址寄存器,CS、DS、ES、SS、是段寄存器,此外还有指令指针寄存器 IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是 16 _位寄存器,每个寄存器可以存放 16 位二进制数。
2、8088/8086CPU的标志位寄存器中有9个标志位,其中的DF、IF、TF是控制标志,OF、SF、ZF、CF、AF、PF 是状态标志。
3、8088/8086CPU有三组总线,它们是数据总线、控制总线和地址总线;地址总线是 20 条,因此它可以寻址的范围是 1M 字节。
通常将 1024 字节称为1K,将 1024K 字节称为1M。
4、8088/8086CPU的存储器采用分段方式管理,每个段最多可以有 64K 字节,全部存储空间可以分成 16 个大小为64K且互相不重叠的段。
5、采用分段方式管理的存储单元的地址分成物理地址和逻辑地址两种,逻辑地址由段地址和偏移地址两部分构成,段地址是每个存储器段的起始地址;偏移地址则是相对于每个段第一个存储单元的偏移值。
段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的 16 位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是__ 物理地址=段地址 16D(或10H)+ 偏移地址___。
6、存储器中,数据是以字节为单位存放的,它是一个 8位二进制数,16位二进制数是 2个字节,又称为字;每个存储单元可以存放一个字节;一个字则占用两个存储单元,存放时要将低字节放在地址较小的存储单元中。
7、计算机的指令由操作码字段和操作数字段构成,它们分别给出计算机所要执行的操作和执行操作所要的操作数。
8、指令操作数通常可以存放在指令中,也可以存放在CPU的寄存器中,大多数存放在存储器中,它们分别称为立即数、寄存器操作数和存储器操作数。
汇编语言复习资料
汇编语言复习资料【引言】汇编语言作为计算机科学中的重要一环,是掌握计算机底层工作原理的基础。
本文将为读者提供一份汇编语言的复习资料,以帮助读者巩固对汇编语言的理解,并加深对底层计算机工作过程的认识。
【一、汇编语言基础知识】1.1 汇编语言的概念和作用汇编语言是一种低级别的计算机语言,与机器语言一一对应,用于编写和调试底层程序。
掌握汇编语言可以更加直接地操作计算机硬件资源,提高程序的执行效率。
1.2 汇编指令与机器指令汇编指令是汇编语言中最基本的单位,包括机器指令和操作数。
机器指令是计算机能够识别和执行的指令,由操作码和操作数组成。
1.3 寄存器和内存寄存器是计算机内部存储器的一种,用于存储和操作数据。
常见的寄存器包括通用寄存器、指针寄存器和标志寄存器。
内存是计算机中的主要存储器,用于存储指令和数据。
1.4 数据表示和运算汇编语言中使用不同的数据格式表示整数、浮点数和字符等数据类型,并提供相应的运算指令进行数据操作。
【二、汇编语言的程序结构】2.1 汇编语言程序的基本结构汇编语言程序包括数据段、代码段和堆栈段。
数据段用于定义和初始化数据,代码段包含程序的执行指令,堆栈段用于存储程序执行过程中的临时数据。
2.2 汇编语言程序的组织方式汇编语言程序可以使用汇编宏、过程和函数来实现模块化组织,提高代码的可读性和可维护性。
2.3 汇编语言程序的调试方法汇编语言程序的调试可以使用调试器进行单步执行、断点设置和变量查看等操作,以实时监控程序的运行状态。
【三、常用的汇编语言指令】3.1 数据定义指令数据定义指令用于定义变量和常量,并分配存储空间。
常用的数据定义指令包括DB、DW和DD等。
3.2 算术和逻辑指令算术和逻辑指令用于进行加减乘除和逻辑运算等操作。
常见的算术和逻辑指令包括ADD、SUB、MUL、DIV和AND、OR等。
3.3 分支和循环指令分支和循环指令用于根据条件进行跳转或循环执行。
常用的分支和循环指令包括JMP、JZ、JCXZ和LOOP等。
汇编语言程序设计复习
知识点第一章基础知识(1)正负数的补码表示, 掌握计算机中数和字符的表示;eg.假设机器字长为8位,[+3]补=00000011B,[-3]补= 11111101 H 。
十六进制数0FFF8H表示的十进制正数为65528D,表示的十进制负数为-8D。
8位二进制数被看成是带符号补码整数时,其最小值是-128,最大值是 127 。
第二章80x86计算机组织(1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器eg: IP寄存器中保存的是?代码段中的偏移地址FLAGS标志寄存器中共有几位条件状态位6位,有几位控制状态位2位,标志寄存器分为哪2类?陷阱标志,中断标志。
(2)存储单元的地址和内容每一个字节单元给以一个唯一的存储器地址,称为物理地址;一个存储单元中存放的信息称为该存储单元的内容。
存储器地址的分段,(低位字节存放)低地址,(高位字节存放)高地址;实模式下逻辑地址、选择器和偏移地址;物理地址的表示段基地址加上偏移地址。
eg.如果SS=6000H,说明堆栈段起始物理地址是_____60000H___。
已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为__1420H______。
如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H .第三章80x86的指令系统和寻址方式与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址)。
数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS 指令,与REPE/REPZ和REPNE/REPNZ联合工作的CMPS、SCAS指令)、控制转移指令(无条件转移指令、条件转移指令、循环指令、子程序调用指令、中断)。
汇编语言期末复习题库(汇编)
一、填空题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 。
汇编语言复习题(附答案)
汇编语言复习题注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。
在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!一、选择题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时,执行串操作指令MOVS,B变址寄存器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. M UL CL 指令实现的功能是( A ) 。
汇编语言复习资料1
一、单选题(每题1分,共20分)1.PC机的最小信息单位是()。
A : bitB : 字节C : 字长D : 字2.一个CPU的寻址能力是8KB,那么它的地址总线的宽度为()位。
A : 8B : 3C : 12D : 133.在Debug中,用“d 075A:110 11F”查看内存,结果如下:075A:0110 B8 00 00 FF 07 00 B8 4C —CD 21 F3 69 20 8A 03 A1那么,字型数据00B8H对应的地址为()。
A : 076A:11B : 076A:16C : 076B:0D : 无法确定4.Debug加载程序后,假设PSP的段地址为SA,偏移地址为0,则程序的起始地址是()。
A : SA×16HB : SA×16C : (SA+16H)×16HD : (SA+16)×165.8086CPU中,任意时刻,CPU将()指向的内容当作指令来执行。
A : DS:SIB : CS:IPC : SS:SPD : ES:DI6.下列关于Debug的说法,错误的是()。
A : R命令可以修改寄存器的内容。
B : E命令可以修改内存单元的内容。
C : T命令每次只执行一条指令。
D : D命令可以查看内存单元的内容。
7.源程序中有如下两个按先后顺序定义的段:a segmentdb 1,2,3,4,5,6,7,8a endsb segmentdb 1,2,3,4,5,6,7,8b ends如果a段中“1”这个数据的物理地址是X,则b段中“1”这个数据的物理地址是()。
A : XB : X+1C : X+16D : X+648.对于8086CPU,错误的指令是()。
A : mov ax,bxB : mov ax,[bx]C : mov ds,0D : mov ax,09.对于8086CPU,正确的指令是()。
A : inc cx,1B : shl ax,2C : and [bp],alD : mov [bx][bp],ax10.以下指令执行后,寄存器ax的值为()。
汇编语言复习题
汇编语言复习题《汇编语言复习题》一、单选题1. 数字1的ASCII码值是( )。
A. 1B. 30HC. 31HD. 20H2.ASCII码字符使用( ) 位进行编码。
A. 3B. 7C. 8D. 163. 汇编语言源程序经过汇编后产生()文件。
A. .ASMB. .OBJC. .EXED. .DOC4.汇编语言源程序是()文件。
A. .EXEB. .ASMC. .OBJD. .DOC5. 汇编语言源程序中定义段的伪指令是()。
A. SEGMENT..ENDSB. PROC..ENDP C. MACRO..ENDMD. SEGMENT..END 6.汇编语言源程序中定义过程的伪指令是()。
A. SEGMENT..ENDSB. PROC..ENDP C. MACRO..ENDMD. SEGMENT..END7. 8086CPU的地址总线宽度为()。
A. 8B. 16C. 20D. 328.8086CPU的数据总线宽度为()。
A. 8B.10C.16D.209.下列哪个寄存器可拆分成2个8位寄存器()。
A. BPB. BXC. CSD. IP10. 8086CPU提供了()个16位寄存器。
A. 8B. 12C. 14D. 2211. DEBUG调试程序时查看寄存器内容的命令是()。
A.DB. EC. UD. R12.DEBUG调试程序时查看内存单元内容的命令是()。
A. RB. EC. UD. D13. 下列哪个寄存器用来指示当前栈顶的偏移地址()。
A. SPB. BXC. BPD. IP14. 下列地址信息与4015H:000FH确定的内存地址不同的是()。
A. 4013H:002FHB. 4010H:005FHC. 4000H:005FHD. 4015FH15. 下列哪个寄存器在编程时不能用来保存内存单元的偏移地址()。
A. DIB. CXC. BXD. SI16. 指令MOV AX,BX 中源操作数的寻址方式是()。
汇编语言期末复习题大全(免费)
汇编语言期末复习题DX:单项选择题 DU:多项选择题 TK:填空题 MC:名词解释v JD:简答题 CXFX:程序分析题 CXTK:程序填空题 BC:编程题第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文件,最后再运行。
汇编复习题2
汇编复习题21.填空题(1)汇编语言指令由两部分组成:表示指令的操作内容;表示指令在执行过程中所用到的数据信息。
(2)在16位CPU的寄存器间接寻址方式中,若用;;作为间接寻址的寄存器,则操作数在段中;若用作为间接寻址的寄存器,则操作数在段中。
(3)在16位CPU的基址变址寻址方式中,基址寄存器可以为或;变址寄存器可以为或;若用作为基址寄存器,则操作数在段中,若用作为基址寄存器,则操作数在段中。
(4)设AX=2000H,BX=2300H,则在执行了指令CMP AX,BX后,标志CF= ;ZF= 。
(5)当执行指令DIV BL后,被除数在中,所得商在中,余数在中。
(6)当执行指令MUL BX后,被乘数在中,所得积高16位在中,所得积的低16位在中。
2.选择题(1)若栈顶的物理地址为12000H,当执行完指令PUSH BX后,栈顶物理地址是。
A.12001HB.12002HC.11FFFHD.11FFEH(2)在程序运行过程中,确定下一条指令的物理地址的计算表达式是。
A.DS*16+SIB.CS*16+IPC.SS*16+SPD.ES*1++DI (3)下面指令执行后,将改变寄存器AX内容的指令是。
A.OR AX,AXB.AND AX,BXC.TEST AX,01HD.CMP AX,1 (4)设AH=79H,当执行指令ADD AH,98H后,标志位CF和OF的值分别是。
A.0,0B.0,1C.1,0D.1,1(5)要使寄存器AL的最低位置1,应该使用的指令是。
A.AND AL,01HB.XOR AL,01HC.OR AL,01HD.NOT AL(6)将寄存器AX的内容乘以2的正确指令是。
A.SHL AX,1B.SHR AX,1C.ROL AX,1D.RCR AX,1 (7)下列指令中操作数在代码段中的是:。
A、MOV AL,25HB、ADD AH,BLC、INC BYTE PTR DS:[25H]D、CMP AL,BL (8)用MOV指令将十进制数86以组合型BCD码格式送入AX正确的指令是:。
《汇编语言》复习题库
《汇编语言》复习题库一、单项选择题1、在下列的选项中,能够组成计算机系统的是()。
A、硬件系统和软件系统B、CPU、存储器、输入/输出设备C、操作系统、各种语言D、系统软件和应用软件2、以8086/8088为CPU的微机内存最大容量为。
A、4MBB、1MBC、640KBD、64KB3、下面几个程序中不属于翻译程序的是。
A、汇编程序B、编译程序C、解释程序D、编辑程序4、在下列的选项中,能够组成计算机系统的是()。
A、硬件系统和软件系统B、CPU、存储器、输入/输出设备C、操作系统、各种语言D、系统软件和应用软件5、汇编语言属于()。
A、用户软件B、系统软件C、高级语言D、机器语言6、汇编语言源程序是()程序。
A、不可直接执行的B、可直接执行的C、经汇编程序汇编后就可执行的D、经连接后就可直接执行的7、8086/8088 CPU的寄存器组中,8位的寄存器共有()个。
A、4B、6C、8D、108、如果指令的运算结果为0,则()标志位为1。
A、SFB、OFC、ZFD、CF9、物理地址的形成过程是将段地址左移()位加偏移地址。
A、2B、3C、4D、510、如果某一存储单元的逻辑地址为236FH:1000H。
则物理地址为()。
A、1236FHB、336FHC、336F0HD、246F0H11、如果数据存放在DI的内容为偏移地址的数据段中,设DS=3624H,DI=2200H,则此存储单元的物理地址为()。
A、38440HB、58240HC、25624HD、58240H12、汇编语言属于()。
A、用户软件B、系统软件C、高级语言D、机器语言13、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是()。
A、EXEB、OBJC、ASMD、LST14、中央处理器CPU是由()组成的。
A、运算器B、控制器C、寄存器组D、前三者15、8086/8088 CPU的寄存器组中,16位的寄存器共有()个。
A、10B、12C、13D、1416、在程序执行过程中,IP寄存器始终保存的是()。
汇编语言考试复习题及答案
一、单项选择题(从下列每题的四个选择中选择一个正确的,填入答题纸的相应位置。
每小题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.执行下面的程序段后,DA T1单元的值是。
DAT1 DB 12H,34HDAT2 DB 56H,78HMOV AX,WORD PTR DAT1CMP AX,WORD PTR DAT2JA DONEMOV BX,WORD PTR DAT2MOV WORD PTR DA T2,AXMOV WORD PTR DA T1,BXDONE:HLTA)12H B)34H C)56H D)78H8.下列指令中,正确的一条是。
《汇编语言程序设计》期末复习题及答案
汇编语言程序设计》期末复习题及答案一、选择( 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=186io, B=273s, C=0B^,把这三个数看成无符号数,则它们之间的关系是(D )D、 A<B=C6. 用一条指令实现寄存器 BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX][SI]7 .要从端口 1234H中读入8位数据,其指令应是( C )C、MOV DX, 1234HIN AL , DX&循环控制指令 LOOPNZ/LOOPNE续执行循环的条件是(B )B、CX^ 0 且 ZF=09. 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,执行“ SAR 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=Q (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, BLB、寄存器间接寻址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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汇编语言复习资料一.名词解释(16分8道题15个里选8个)存储器:存储程序数据等信息的记忆装置,微机有ram和rom两种。
堆栈:以后进先出方式工作的存储空间。
状态标志:记录指令操作结果的标志,共6位:of,sf,zf,af,pf和cf。
段寄存器:保存各逻辑段的起始地址的寄存器,8086?8088机有4个:cs,ds,ss,es。
物理地址:唯一代表存储空间中每个字节单元地址。
汇编语言:用指令的助记符、符号地址、标号等符号书写程序的语言。
机器语言:能被计算机识别的语言。
汇编程序:把汇编语言程序翻译成机器语言程序的系统程序。
指令:告诉cpu要执行的操作(一般还要指出操作数地址),在程序运行时执行。
伪指令:由汇编程序在汇编过程中执行的指令。
Cpu:分析、控制并执行指令的部件,由算术逻辑部件alu和寄存器组成。
Ip:指示下一条要执行的指令的地址。
Sp:保存当前栈顶地址的寄存器。
控制地址:控制操作的标志,如df位。
连接程序:把若干个模块连接起来成为可执行文件的系统程序。
二.判断(10个)考点:(1)mov指令ppt中(2)第一章中n个二进制数表示的数的范围,分为有符号数和无符号数范围(3)asc码表(空格、回车、数字、字母)后面有一个程序分析题。
记ABCZabcz对应的值(4)上机debug中命令,如:—d(5)dup下面判断题必考1.MOV DS,AX ( )2.MOV CS,AX ( )3.MOV CH,4050H ( )4.MOV DL,5BH ( )5.MOV DX,5BH ( )6.MOV DX,AL ( )7.MOV V A1,V A2 ( )8.MOV 45,DL ( )三.解答题(7道){(1)段地址,偏移地址的范围注:课件上有个小例子(2)与、或、异或三个指令应用(3)栈指令实现交换[PUSH PUSH POP POP]}注意:问题问得很详细,注意不要少写答案1.书上3.8题假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名V AL的偏移地址值为0050H,是指出下列源操作数字段的寻址方式是什么?其物理地址值是多少?(1)MOV AX,0ABH 立即数寻址无物理地址(2)MOV AX,BX 寄存器寻址无物理地址(3)MOV AX,[100] 直接寻址20100H(4)MOV AX,VAL 直接寻址20050H(5) MOV AX,[BX] 寄存器间接寻址20100H(6) MOV AX,ES:[BX] 直接寻址21100H(7) MOV AX,[BP] 寄存器间接寻址20010H(8)MOV AX,[SI] 寄存器间接寻址200A0H(9) MOV AX,[BX+10] 寄存器相对寻址20110H(10)MOV AX,VAL[BX] 寄存器相对寻址20150H(11) MOV AX,[BX][SI] 基址变址寻址201A0H(12) MOV AX,VAL[BX][SI] 相对基相变址寻址201F0H2.书上3.10如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令有什么区别?指令执行完后AX寄存器的内容是什么?(1)MOV AX,TABLE 是把符号地址TABLE里的内容送到AX里,指令执行完后,(AX)=1234H(2)LEA AX,TABLE 是把符号地址TABLE 的有效地址(这里是偏移量)送到指定寄存器AX里,指令执行完后,(AX)=0032H书上3.15求出一下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF、ZF、CF和OF的值。
运算结果:SF,ZF,CF,OF各位的值(从左至右依次往下~)(1)1234 结果为74D4H SF=0 ZF=0 CF=0 OF=0(2)4321 结果为A5C1H SF=1 ZF=0 CF=0 OF=1(3) CFA0 结果为4240 H SF=0 ZF=0 CF=1 OF=0(4)9D60 结果为0000 H SF=0 ZF=1 CF=1 OF=03.书上3.16求出一下各十六进制数与十六进制数4AE0之差,并根据结果设置标志位SF、ZF、CF和OF的值。
(1)1234 结果为5D14 SF=0 ZF=0 CF=0 OF=0(2)5D90 结果为A870 SF=1 ZF=0 CF=0 OF=1(3)9090 结果为D870 SF=1 ZF=0 CF=0 OF=0(4)EA04 结果为34E4 SF=0 ZF=0 CF=1 OF=04.书上3.17写出执行以下计算的指令序列,其中X、Y、Z、R和W均为存放16位带符号数单元地址。
(1)Z——W+(Z—X)MOV AX,Z ;把Z送到AXSUB AX,X ;Z-XADD AX,W ;W+(Z-X)MOV Z,AX ;结果保存在Z中(2). Z——W—(X+6)—(R+9)MOV AX,R ;R送到AX中ADD AX,9 ;R+9MOV BX,X ;X送到BX中ADD BX,6 ;X+6ADD AX,BX ;(R+9)+(X+6),结果保存在AX中MOV BX,W ;W送到BX中SUB BX,AX ;W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和~ MOV Z,BX ;最终结果送到Z中前两道题中必考一道(3)Z——(W*X)/(Y+6),R——余数MOV AX,W ;把W送到AXIMUL X ;W*X 注意:低十六位保存在AX里,高十六位保存在DX里MOV BX,Y ;把Y送到BXADD BX,6 ;Y+6IDIV BX ;(W*X)/(Y+6) 注意:商保存在AX里,余数保存在DX里MOV Z,AX ;把商送到Z中,MOV R,DX ;把余数送到R中(4)Z——((W—X)/5*Y)*2MOV AX,W ;把W送到AX中SUB AX,X ;W-XCWD ;把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保;在DX中MOV BX,5 ;把5送到BX中IDIV BX ;(W-X)/5 被除数为32位,除数为16位商为16位IMUL Y ;上一步结果再乖以Y,积为32位MOV BX,2 ;把2送到BX中IMUL BX ;上一步乘法所得的积再乘以2,各为64位MOV Z,EAX ;把结果中低32位放入Z双字单元中MOV [Z+4],EDX ;把结果中高32位放入Z+4双字单元中两道必考一道书上3.18已知程序段如下:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CXINT 20H(1)每条指令执行完后,AX寄存器的内容是什么?(2)每条指令执行完后,进位、符号和零标志的值是什么?(3)程序结束时,AX和DX的内容是什么?答:本条指令执行完后AX的内容执行完后CF,SF,ZF的值MOV AX,1234H 1234H 0 0 0MOV CL,4 1234H 0 0 0ROL AX,CL 2341H 1 0 0DEC AX 2340H 1 0 0MOV CX,4 2340H 1 0 0MUL CX 8918H 0 0 0INT 20H程序结束后,(AX)=8918H (DX)=0000H5.书上3.28下列程序段执行完以后,BX寄存器中的内容是什么?MOV CL,3MOV BX,0B7HROL BX,1ROR BX,CL该程序段执行完后,BX寄存器的内容是:C02DH四.程序补充分析(6道题3个补充1个分析2个写功能)书上例题3.76 3.77 3.80课件上jmp jcc小程序五.改错(1道题10分)题下面给出一个有病句的程序(error.exe),请阅读修改:实现功能:在屏幕上显示:Hello worldMy name is DJX1 data segment2 out1 db 'Hello world'3 ax db 'My name is DJX'4 data ens6 code segment7 assume cs:code,ds:data8 start: ?????????lea dx,out1 mov ax,data9 mov ah,2 mov ds,ax10 int 21h12 mov dl,0ah13 mov ah,214 int 21h15 mov dl,0dh16 moo ah,217 int 21h18 lea dx,ax29 mov ah, 920 int 21h ?????21 code ends22 end start:六.程序编程(三道题分别为8分、7分、五分)第一道题是循环体例:从键盘接收十进制数并存入BX1 2 531 32 35……mov bx, 0newchar: mov ah, 1 ;键盘输入int 21hsub al, 30hjl exit ; <0退出cmp al, 9jg exit ; >9退出cbwxchg ax, bx ( ( 0×10)+1 )×10+2 )×10+5mov cx, 10mul cx 算法:bx初值为0,(bx)=(bx)*10+ax但是乘法需要ax乘,所以xchg使用xchg ax, bxadd bx, axjmp newcharexit: ……第二道是分支题如:例:编写汇编程序,要求对键盘输入的小写字母用大写字母显示出来。
code segmentassume cs:codestart:again:mov ah,1int 21hcmp al,61hjb againcmp al,7Ahja againsub al,20hmov dl,almov ah,2int 21hmov ah,4chint 21hcode endsend start例:编写汇编程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,并按顺序显示这三个字符。
code segmentassume cs:codestart:again:mov ah,1int 21hcmp al,61hjbe againcmp al,7Ahjae againsub al,2mov cx,3mov dl,alprint:inc dlmov ah,2int 21hloop printcode endsend start第三道题是第五章的和第六章综合。