汇编语言复习资料
汇编语言参考复习题

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 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第三道题是第五章的和第六章综合。