ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:42.72KB ,
资源ID:5951159      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5951159.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编语言程序设计汇编.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汇编语言程序设计汇编.docx

1、汇编语言程序设计汇编汇编语言程序设计一、选择题1、某寄存器中的值有时是地址,因此只有计算机的(指令)才能识别它。2、指令系统中采用不同寻址方式的目的主要是(缩短指令长度,扩大寻址空间,提高编程灵活性)。3、某计算机的字长16位,它的存储容量是64KB,若按字编址,那么它的寻址范围是(32K).4、用于对某个寄存器中操作数的寻址方式称为(寄存器直接)寻址。5、描述汇编语言特性的概念中,有错误的句子是( C )。A.对程序员的训练要求来说,需要硬件知识 B.汇编语言对机器的依赖性高C.用汇编语言编制程序的难度比高级语言小 D.汇编语言编写的程序执行速度比高级语言快6、算术右移指令执行的操作是(符号

2、位不变,并顺次右移1位,最低位移至进位标志位).7、寄存器直接寻址方式中,寄存器中所存的是(操作数)。8、下面描述RISC指令系统中基本概念不正确的句子是( C)。A.选取使用频率高的一些简单指令,指令条数少 B.指令长度固定C.指令格式种类多,寻址方式种类多 D.只有取数/存数指令访问存储器9、在CPU中,暂存指令的寄存器是(指令寄存器)。10、用于对某个寄存器中操作数的寻址方式称为(寄存器直接)寻址。11、指令周期是指(PU从主存取出一条指令加上CPU执行这条指令的时间)。12、执行的操作是(符号位填0,并顺次右移1位,最低位移至进位标志位).13、变址寻址方式中,操作数的有效地址等于(变

3、址寄存器内容加上形式地址)。14、由于CPU内部的操作速度较快,而CPU访问一次主存所花的时间较长,因此机器周期通常用(主存中读取一个指令字的最短时间)来规定。15、在指令的地址字段中,直接指出操作数本身的寻址方式,称为(立即寻址)。16、寄存器间接寻址方式中,操作数处在(主存单元)。17、程序控制类指令的功能是(改变程序执行的顺序)。18、堆栈寻址方式中,设A为累加寄存器,SP为堆栈指示器,Msp为SP指示器的栈顶单元,如果操作的动作是:(A)Msp,(SP)1SP,那么出栈操作的动作为:( B )A.(Msp)A,(SP)+1SP B.(SP)+1SP,(Msp)AC.(SP)1SP,(M

4、sp)A D.(Msp)A,(SP)1SP19、一个子程序在主程序执行期间可以多次被调用,甚至可以自己调用自己,实现这种调用的最好的办法是使用(堆栈)。20、指令寄存器的作用是(保存当前正在执行的指令)。21、运算型指令的寻址与转移型指令的寻址不同点在于(前者取操作数,后者决定程序转移地址)。22、寄存器直接寻址方式中,操作数处在(寄存器)。23、位操作类指令的功能是(对CPU内部通用寄存器或主存某一单元任一位进行状态检测或强置)。24、CPU从主存取出一条指令并执行该指令的时间叫做(指令周期)。二、填空题1.指令格式是指令用二进制代码表示的结构形式,通常格式中由操作码字段和地址码字段组成。2

5、.CPU中至少有如下六类寄存器指令寄存器,程序计数器,地址寄存器,通用寄存器,状态条件寄存器,缓冲寄存器。3.条件转移、无条件转移、转子程序、返主程序、中断返回指令都属于程序控制类类指令4.CPU中,保存当前正在执行的指令的寄存器为指令寄存器IR,保存当前正在执行的指令的地址的寄存器为程序计数器PC。5.CPU从存储器取出一条指令并执行这条指令的时间和称为指令周期。由于各种指令的操作功能不同,各种指令的指令周期是不相同的。6.堆栈是一种特殊的数据寻址方式,它采用先进后出原理。三、判断题1、判断下列指令书写是否正确(1) MOV AL,BX(2) MOV AL,CL(3) INC BX(4) M

6、OV 5,AL (5) MOV BX,SI(6) MOV BL,F5H(7) MOV DX,2000H(8) POP CS(9) MOV CS,2000H(10)MOV AX,DX(11)MOV DS,ES(12)MOV DS,2000H(1)() (2) () (3) () (4) () (5) () (6) () (7) () (8) () (9) () (10) () (11) () (12) ()2、要想完成把2000H送1000H中,用指令 MOV 1000H ,2000H是否正确?如果不正确,应用什么办法?()应用 MOV AX, 2000H MOV 1000H, AX四、简答题1

7、、分析汇编语言源程序应该由哪些逻辑段组成?各段的作用是什么?语句标号和变量应具备哪3种属性?解:汇编语言源程序应该由若干个逻辑段组成,可以有若干个数据段、代码段、堆栈段和附加数据段,至少要有一个代码段。各段的作用如下:1)代码段用来存放程序和常数。2)数据段用于数据的保存。3)堆栈段用于保护数据,尤其在子程序调用、中断过程中进行现场信息保护。4)附加数据段用于数据的保存。语句标号和变量应具备的3种属性:段属性、偏移属性和类型属性。2、比较宏指令与子程序,它们有何异同?它们的本质区别是什么?解:宏与子程序两者的相同之处在于都是用来处理在编程过程中多次使用的功能程序的方法,两者均能简化源程序。两者

8、的区别在于:1)宏调用通过宏指令名进行,汇编时,随时调用随时展开,并不简化目标程序;子程序调用是在程序执行期间执行CALL指令,代码只在目标程序中出现一次,所以也简化了目标程序。2)宏调用时的参数由汇编程序通过实参转换成形参的方式传递,具有很大的灵活性。宏定义中允许设置若干形式参数代替数值、指令、寄存器、各种字符串等。宏调用时可用程序所需要的实际参数来替换,使编程人员感觉非常灵活;而子程序的参数传递要麻烦得多。3)宏调用在汇编时完成,不需要额外的时间开销;子程序调用和子程序返回都需要时间,还涉及堆栈操作。故若优先考虑速度,用宏指令;若优先考虑存储空间,用子程序。3. 说明存储器操作数有效地址E

9、A的构成。通常有效地址是由位移量、基址、变址之和决定。4简述指令LEA与LDSLES区别。LEA 指令取内存储器操作数的16位段内偏移量地址装入指定的通用寄存器。LDS和LES 指令则将指定存储器中连续 4个单元内的低地址连续二个字节内容送通用寄存器,高地址连续二个字节内容送数据段(LDS)或送附加段(LES)5. 实现寄存器AX清零的方法有哪些?实现清零方法如下。1)传送指令:MOV AX,02)减法指令:SUB AX,AX;SBC AX,AX3)异式指令:XOR AX,AX6. 当8086微处理器响应总线请求发出HLDA信号后,有哪些引脚信号处于高阻?,IO,处于高阻,ALE无效。7. 指

10、令AND与TEST有何异同?AND与 TEST指令均为将目标操作数与源操作数进行逻辑与操作,AND指令运算结果要送回目标操作数,TEST指令不送回目标操作数。两者标志位都有相同的位发生变化。8. 简述80868088端口寻址方式,并说明各自的端口寻址范围。端口寻址方式有如下两种。1)直接寻址方式:如IN AL,20H;OUT 40H,AL;端口数为0255。2)间接寻址方式:如IN AL,DX; OUT DX,AX;端口数为065535。9. 简述AAA与DAA指令的区别。AAA指令为非压缩BCD 码加法调整指令,将非压缩BCD码相加的结果仍调整为非压缩形式的BCD码。DAA为压缩BCD码加法

11、调整指令。将压缩BCD码相加,其结果仍调整为压缩形式的BCD码。两条指令编程时放在加减法指令后面,以便调整。10. 什么是寻址方式? 简述80868088寻址方式。所谓寻址方式是寻找操作数的方法。80868088微处理器寻址方式有寄存器寻址、立即寻址、直接寻址、寄存器间接寻址、基址寻址、变址寻址、基址变址寻址方式。11. 说明JMP与JXX所能实现转移的范围。与使用JMP指令进行转移时,其转移范围不受限制,可在段内直接或间接转移,也可以在段间直接或间接转移。JXX指令是条件转移指令,执行指令时,根据微处理器标志寄存器的状态决定是否控制程序转移,若满足条件,则将控制转移到指令所规定的目标;若条件

12、不满足,则继续顺序执行。所有的条件转移指令都是段内转移,且是短距离的,即目标必须在当前指令段内,且与下一条指令的第一字节距离在-128+127字节之内。1280868088微处理器当响应总线请求发出HLDA信号后,执行部件EU是否立即停止操作?执行部件此时将继续执行已经进入微处理器指令队列中的指令,直到遇到一条需要使用总线的指令时,执行部件才停下来。13. 指令系统中哪些指令是成对出现的?指令系统中成对出现的指令、即在程序中两者同时出现,有PUSHPOP、PUSHFPOPFF、CALL/RET。14说明指令MOV AL,LOHSI中源操作数的寻址方式及其存放位置?指令 MOV AL,20HSI

13、中源操作数的寻址方式是变址寻址方式,待寻找的操作数在内存储器中。15. 执行SAHF和LAHF指令可对哪些标志位进行处理?SAHF和LAHF指令是对F寄存器中的低8位SF、ZF、AF、CF进行处理。45. INC AX与ADD AX,1指令有何异同?两条指令都能使AX内容增1,但前者CF标志无影响,后者CF有影响。16. 简述SAR与SHR指令的区别。SHR指令为逻辑右移指令,可用于无符号数除2的操作;SAR指令为算术右移指令,可用于带符号数除2的操作。 执行SHR指令时,右移一位,最高位补零,执行SAR指令一次,右移一位,最高位自动这回,保留原值不变。17. 指令SUB与CMP 有何异同?两

14、条指令都能将目标操作数与源操作数进行相减操作,SUB能将结果送目标操作数中,并反映在标志位。18. 什么叫指令?什么叫指令系统?指令就是要计算机执行某种操作的命令指令系统就是一台计算机中所有机器指令的集合19. 说明CPU中的主要寄存器及其功能。1.指令寄存器(IR):用来保存当前正在执行的一条指令。2.程序计数器(PC):用来确定下一条指令的地址。3.地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。4.缓冲寄存器(DR):作为CPU和内存、外部设备之间信息传送的中转站。补偿CPU和内存、外围设备之间在操作速度上的差别。在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。

15、20.通用寄存器(AC):当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。21.状态条件寄存器:保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。除此之外,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。22.什么是指令周期?什么是机器周期?什么是时钟周期?三者之间的关系如何?指令周期是完成一条指令所需的时间。包括取指令、分析指令和执行指令所需的全部时间。机器周期也称为CPU周期,是指被确定为指令执行过程中的归一化基准时间,通常等于取指时间(或访存时间)。时钟周期是时钟频率的倒数,也可称为节拍脉冲或T周期,是

16、处理操作的最基本单位。一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。23.指出下列指令中的源操作数与目的操作数的寻址方式(1) MOV SI,200(2) MOV CX,DATASI(3) ADD AX,BXDI(4)AND AX,BX(5)MOV SI,AX(6)PUSHF(1)源:立即寻址 ;目的:寄存器寻址(2)源:变址寻址 ;目的:寄存器寻址(3)源:基址变址寻址 ;目的:寄存器寻址(4)源:寄存器寻址 ;目的:寄存器寻址(5)源:寄存器间接寻址 ;目的:寄存器寻址(6)源:寄存器寻址 ;目的:直接寻址24.给定 (BX)=637DH,(SI)=2A9BH,位移

17、量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址(2)直接寻址(3)使用BX的寄存器寻址(4)使用BX的间接寻址(5)使用BX的寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址(1)立即寻址 0(2)直接寻址 7237H(3)使用BX的寄存器寻址 0(4)使用BX的间接寻址 637DH(5)使用BX的寄存器相对寻址 637DH+7237H=D5B4H(6)基址变址寻址 637DH+2A9BH=8E18H(7)相对基址变址寻址637DH+2A9BH+7237H =1004FH25、试根据下列要求写出相应的汇编语言指令(1)把BX 寄存器和DX寄存器的内容相加,结

18、果存到DX寄存器中。(2)用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,结果存到AL寄存器中。(3)用寄存器BX和位移量0B2H寄存器相对寻址方式把存储器中的一个字与(CX)相加,结果存到存储器中。(4)用位移量0524H直接寻址方式把存储器中的一个字与数2A59H相加,结果存到存储器中。(5)把数0B5H与(AL)相加,并把结果存到AL中。(1) MOV AX , BX ADD AX , DX MOV DX , AX(2) ADD AL ,BYTE BXSI(3) MOV AX,CX ADD AX,BX+0B2H MOV BX+0B2H, AX(4) MOV

19、 AX , 2A59H ADD AX , 0524H MOV 0524H , AX(5) ADD AL, 0B5H 26、现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各指令执行后AX寄存器的内容。(1)MOV AX, 1200H(2)MOV AX, BX(3)MOV AX,1200H(4)MOV AX, BX(5)MOV AX,1100 BX(6)MOV AX, BXS

20、I(7)MOV AX, 1100BXSI(1)AX= 1200H(2)AX=0100H(3)AX=4c2AH(4)AX=3412H(5)AX=4c2AH(6)AX=7856H(7)AX= 65B7H27、假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,数据段中变量名VAL的偏移地址为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址是什么?(1)MOV AX, 0ABH (2)MOV AX, BX (3)MOV AX, 100H (4)MOV AX, VAL (5)MOV AX, BX (6)M

21、OV AX,ES: BX (7)MOV AX, BP (8)MOV AX, SI (9)MOV AX, BX+10 (10)MOV AX,VALBX (11)MOV AX, BXSI (12)MOV AX, VALBXSI (1)立即寻址 0(2)寄存器寻址 0(3)直接寻址 20100H(4)直接寻址 20050H(5)基址寻址 20100H(6)段超越的基址寻址 21100H(7)堆栈段基址寻址 15010H(8)源变址寻址 200A0H(9)带偏量的基址寻址20110H(10)带偏移量的基址寻址20150H(11)基址加变址寻址201A0H(12)带偏移量的基址加变址寻址201F0H28

22、、如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令有什么区别?指令执行完后AX寄存器的内容是什么? MOV AX,TABLE LEA AX,TABLE将TABLE为偏移量的内存中数据放入AX将TABLE的地址偏移量的放入AX29、假设(BX)=0E3H,变量VALUE中存放的内容为79H,确定下列指令单独执行后的结果。(1)XOR BX,VALUE (2)AND BX,VALUE(3)OR BX,VALUE(4)XOR BX,0FFH(5)AND BX,0(6)TEST BX,01H(1)11100111 XOR 01111001 = 10011110H

23、(2)01100001(3)11111111H(4)0001100021(5)00000000(6)0E3H30、试分析下面程序段执行完成什么样的功能?MOV CL,04 SHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL, BL将DX,AX中的双字节左移四位31、试写出程序段把DX,AX中的双字右移四位。MOV CL,04HSHR AX,CLMOV BL, AHMOV BH,DLSHR BX,CLOR AH,BLSHR DX,CL32、假定(DX)=0B9H,(CL)=3,(CF)=1,确定下列指令单独执行后的DX中的内容。(1)SHR DX ,1(2)SAR

24、 DX ,CL(3)SHL DX ,CL(4)SHL DX ,1(5)ROR DX ,CL(6)ROL DX ,CL(7)SAL DH ,1(8)RCL DX ,CL(9)RCR DX ,1(1) (DX)=05CH(2) (DX)=017H(3) (DX)=05C8H(4) (DX)=0172H(5) (DX)=2017H(6) (DX)=05C8H(7) (DX)=0172H(8) (DX)=05CCH(9) (DX)=805CH五、综合题计算21*12-117/9的源程序.答:mov al,21;将21取出来mov bl,17;将17取出来mul bl;计算21*17mov cx,ax;

25、将结果暂存起来(得结果1)mov ax,117;将117取出来mov bl,13;将13取出来div bl;计算117/13(得结果2)sub cx,ax;将结果1-结果2,得到最终结果hlt2、执行下列指令后,AX寄存器中的内容是什么?TABLE DB 10,20,30,40,50ENTRY DW 3 MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BXAX= 【解答】AX= 3228H 3、执行完下列程序后,回答指定的问题。MOV AX,0MOV BX,2MOV CX,50LP:ADD AX,BXADD BX,2LOOP LP问:(1) 该程序的功能是。(2)

26、程序执行完成后,(AX)= 。解:(1)完成0到100间所有偶数求和的功能。(2)25504、编写程序,计算下面函数的值。【解答】DATA SEGMENT X DW 34 S DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,X ;将X送到AX中 CMP AX,0 ;(AX)0吗? JL DOUB ;是,转向doub CMP AX,10 ;否,(ax)10吗? JLE TRIB ;是,转向trib SAL AX,1 ;否,乘以4 SAL AX,1 JMP EXITDOUB: SA

27、L AX,1 ;乘以2 JMP EXITTRIB: SAL AX,1 ;乘以3 ADD AX,XEXIT: MOV S,AX ;保存结果 MOV AH,4CH ;结束 INT 21HCODE ENDS END START注意,在比较的过程中使用的是针对带符号数的跳转指令,应该看作带符号数。程序中还用了移位指令代替了乘法指令。5、从键盘输入一系列字符,以回车符结束,编程统计其中非数字字符的个数。【解答】DATA SEGMENT BLOCK DB 100 DUP (?) COUNT DB ?DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV

28、AX,DATA MOV DS,AX MOV DL,0 LEA SI,BLOCKLP: MOV AH,1INT 21HCMP AL,0DHJZ EXIT MOV SI,AL CMP AL,30HJAE NEXTCMP AL,39HJBE NEXT INC DLNEXT: INC SI JMP LPEXIT: MOV COUNT,DLMOV AH,4CH INT 21HCODE ENDS END START6、已知在内存中从BLOCK单元起存放有20个带符号字节数据,统计其中负数的个数并放入COUNT单元。【解答】DATA SEGMENT BLOCK DB -7,1,12,-90,-70,34,-

29、1,56,45,-12 DB -3,-4,23,0,12,11,-9,-8,67,-56 CN EQU $-BLOCK COUNT DB ?DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV DL,0 LEA SI,BLOCK MOV CX,CNLP: MOV AL,SI TEST AL,80H JZ NEXT INC DLNEXT: INC SI LOOP LP MOV COUNT,DL MOV AH,4CH INT 21HCODE ENDS END START7、从键盘输入一个大写英文字母,

30、将其转换为小写字母并显示出来,要求输入其它字符时,能够有出错提示信息。【解答】DATA SEGMENT MESS DB INPUP ERROR!,0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV AH,01H INT 21H CMP AL,A JB ERR CMP AL,Z JA ERR ADD AL,20H MOV DL,AL MOV AH,02H INT 21H JMP EXITERR: MOV DX,OFFSET MESS MOV AH,09H INT 21HEXIT: MOV AH,02H INT 21HCODE ENDS END START8、试定义将一位十六进制数转换为ASCII码的宏指令。【解答】HEXTOA MACRO AND AL,0FH CMP AL,9JNA HEXTOA1ADD AL,7HHEXTOA1:ADD AL,30HENDM9、变量X,Y为二进制的ASCII码串,请编程序计算并显示出下式的值:ZX(Y5)答案:求一个代数式(或表达式)的值,一般的做法是根据运算符的优先级顺序进行计算,如上式先计算(Y15),

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1