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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

工学汇编语言课后习题解答.docx

1、工学汇编语言课后习题解答第1章 汇编语言基础知识1简述汇编语言源程序、汇编程序、和目标程序的关系。答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。2. 简述汇编语言的优缺点。答:(1) 汇编语言的优点:可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 可与高级语言配合使用,应用十分广泛。(2) 汇编语言的缺点: 通用性和可移植性较差 相对于高级语言来说较繁锁、易出错、不够直观。3CPU的寻址能力为8KB,那么它的地址总线的宽度为多少?答:134. 1KB的

2、存储器有多少个存储单元?答:1024个字节。5. 指令中的逻辑地址由哪两部分组成?答:指令中的逻辑地址由段基址和偏移量组成。6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。(1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4)1A3F:A1FF答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据的值。答: 字节型数据:11

3、H字型数据:0A311H双字型数据:0113A311H8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为多少?若段内偏移地址为2228H,则段基地址为多少?答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH9. 在实模式环境中,一个段最长不能超过多少字节?答:64KB10. 实模式可寻址的内存范围是多少?答:1MB第2章 汇编语言源程序格式1请解释变量和标号的含义,两者有何区别?答:标号代表一条指令所在单元的地址,在代码段中定义;变量是存放数据的存储单元的地址符号名,在除代码段以外的其他段中定义。变量和标号

4、的主要区别在于变量指的是数据,而标号则对应的是指令。2. 变量和标号有什么属性?答:都具有三种属性:段属性、偏移属性和类型属性3. 伪指令语句与指令语句的区别是什么?伪指令有什么用途?答:伪指令并不像指令语句那样在程序运行期间由计算机自动执行,而是在汇编程序对源程序汇编期间由汇编程序处理的操作。伪指令可以完成如处理器选择、定义程序模块、数据定义、存储区分配、指示程序开始和结束等功能。4. 数值返回运算符有哪几种?简述LENGTH和SIZE的区别。答:数值返回运算符包括:SEG(取段地址)、OFFSET(取偏移地址)、TYPE(取类型值)、LENGTH(取长度)、SIZE(取总字节数)。对于变量

5、中使用DUP的情况,LENGTH回送分配给该变量的单元数,对于其他情况则送1;而SIZE会送分配给变量的总字节数,也就是LENGTH和TYPE的乘积。5. 画图说明下列伪指令所定义的数据在内存中的存放形式。 (1) ARR1 DB 6,34H,-7 (2) ARR2 DW 3C5DH,1,?(3) ARR3 DB 2 DUP(1,2,DUP(2,5),3) (4) ARR4 DB HELLO(5) ARR% DB 1234答:(1) 见题图2.1题图2.1 (2) 见题图2.2题图2.2(3) 见题图2.3题图2.3(4) 见题图2.4题图2.4 (5) 题图2.5题图2.56. 写出下列变量

6、定义语句。(1) 为缓冲区BUF1预留20B的存储空间。(2) 将字符串ABCD,1234存放于BUF2存储区中。答: (1) BUF1 DB 20 DUP(?) (2) BUF2 DB ABCD DB 12347. 符号定义语句如下: BUF DB 2,3,4,5,345 EBUF DB 8 LT DB EQU EBUF-BUF 问LT的值是多少?答:LT的值为78. 假设程序中的数据定义如下: A DW ? B DB 16 DUP(?) C DD ? T EQU $-A问T的值是多少?它表示什么意义?答:T的值是22;它表示从变量A到T之间分配的存储空间(字节)数目。9. 如何规定一个程序

7、执行的开始位置?主程序执行结束应该如何返回DOS?源程序在何处停止汇编过程?答:程序开始位置:END伪指令后的标号所对应的地址;应用程序开始伪指令.STARTUP处。 返回DOS:RET指令结合PUSH DS等指令;用DOS功能调用的第4CH号中断;.EXIT伪指令。END伪指令处停止汇编过程。10.EQU伪指令与“=”伪指令有何区别?答:在同一程序中,“=”伪指令可对一个符号重复定义11.指出下列伪指令表达方式的错误,并改正之。 (1) DATA SEG (2) SEGMENT CODE (3) MYDATA SEGMENT DATA ENDS (4) MAIN PROC FAR END M

8、AIN MAIN ENDP答:(1) SEG改为SEGMENT (2) 没有段名 (3) DATAENDS改为MYDATA ENDS (4) END MAIN删除第3章 8086/8088寻址方式及指令系统1什么是寻址方式,8086/8088微处理器有几种寻址方式,各类寻址方式的基本特征是什么?答:寻址方式就是寻找指令中操作数的方式,或寻找指令转移目的地址的方式。8086/8088微处理器的寻址方式分为数据寻址方式和程序转移寻址方式。数据寻址方式主要包括立即数寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式和相对基址变址寻址方式;程序转移寻址方式

9、主要包括段内直接寻址、段内间接寻址、段间直接寻址、段间间接寻址。立即数寻址:操作数就在指令中,作为指令的一部分,跟在操作码后存放在代码段。寄存器寻址:操作数在寄存器中,指令中指定寄存器号。直接寻址方式:操作数在存储器中,指令直接包含操作数的有效地址EA。寄存器间接寻址:操作数在存储器中,操作数的有效地址在SI,DI,BX,BP这4个寄存器之一中。寄存器相对寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)或变址寄存器(SI,DI)的内容加上8位或16位的位移之和。基址变址寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)加上变址寄存器(SI,DI)的内容

10、。相对基址变址寻址:操作数在存储器中,操作数的有效地址是一个基址寄存器(BX,BP)和变址寄存器(SI,DI)的内容加上8位或16位的位移之和。段内直接寻址:转向的有效地址是当前IP寄存器的内容和指令中指定的8位或16位位移量之和。段内间接寻址:转向的有效地址是一个寄存器或是一个存储单元的内容。段间直接寻址:在指令中直接提供了转向段地址和偏移地址。段间间接寻址:用存储器里的两个相继字的内容来取代IP和CS寄存器中的原始内容,以达到段间转移的目的。2. 假定(DS)=1000H,(SI)=007FH,(BX)=0040H,(BP)=0016H,变量TABLE的偏移地址为0100H,试指出下列指令

11、的源操作数字段的寻址方式,它的有效地址(EA)和物理地址(PA)分别是多少? (1) MOV AX,1234H (2) MOV AX,TABLE (3) MOV AX,BX+100H (4) MOV AX,TABLEBPSI答:(1) 直接寻址,EA=1234H,PA=11234H (2)直接寻址,EA=0100H,PA=10100H (3) 寄存器相对寻址,EA=0140H,PA=10140H(4)相对基址变址寻址,EA=0195H,PA=10195H3. 若TABLE为数据段0032单元的符号名,其中存放的内容为1234H,试问下列两条指令有什么区别?执行完指令后,AX寄存器的内容是什么?

12、 MOV AX,TABLE LEA AX,TABLE答:第一条指令是取0032单元的内容,执行完后AX的内容是1234H 第二条指令是取TABLE的偏移地址,执行完后AX的内容为0032H4. 指出下列指令的错误。(1) MOV CX,DL (2) MOV IP,AX (3) MOV ES,1234H (4) MOV ES,DS (5) MOV AL,300H (6) MOV SP,AX(7) MOV AX,BX+DI (8) MOV 20H,AH答:(1) 两操作数长度不一致 (2) 目的操作数不能为IP (3) 立即数不能直接送段寄存器 (4) 两个段寄存器之间不能直接进行数据传送 (5)

13、 两操作数长度不一致 (6) SP不能用作间址寄存器 (7) BX+DI改为BXDI或BX+DI (8) 目的操作数不能为立即数5. 指出下列指令的错误。(1) POP CS(2) SUB SI,DI(3) PUSH AH(4) ADC AX,DS(5) XCHG SI,30H(6) OUT DX,AH(7) IN AL,3FCH (8) MUL 5答:(1) POP指令不允许使用CS (2) 两操作数不能同时是存储器寻址方式 (3) 堆栈的操作必须以字为单位(4) 段寄存器不允许直接参加运算 (5) XCHG指令的操作数不允许是立即数 (6) OUT指令只能用AL做源操作数 (7) 端口号大

14、于255,必须将其放到DX中 (8) MUL指令源操作数不允许是立即数6. 请分别用一条汇编语言指令完成如下功能。 (1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。 (2) 用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 (3) 用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。 (4) 把数0A0H与AL寄存器的内容相加,并把结果送回AL中。答:(1)ADD DX,BX (2)ADD AL,BX+SI(3)ADD BX+0B2H,CX (4)ADD AL,0A0H7.

15、求出以下各十六进制数与十六进制数58B0之和,并根据结果设置标志位SF、ZF、CF和OF的值。(1) 1234H(2) 5678H(3) 0AF50H (4) 9B7EH答:(1)和为6AE4H,SF=0,ZF=0,CF=0,OF=0 (2)和为0AF28H,SF=1,ZF=0,CF=0,OF=1 (3)和为0800H,SF=0,ZF=0,CF=1,OF=0 (4)和为0F42EH,SF=1,ZF=0,CF=0,OF=08. 执行指令ADD AL,72H前,(AL)=8EH,标志寄存器的状态标志OF、SF、ZF、AF、PF和CF全为0,指出该指令执行后标志寄存器的值。答:指令执行后,AL的内容为0000000H,且有进位,标志寄存器中各标志位的值为:OF=0,SF=0,ZF=1,AF=1,PF=1,CF=19. 已知程序段如下: MOV AX,123

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

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