16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。.docVIP

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。.doc

第3章 3.1:汇编语言有什么特点 解: 汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序 3.2编写汇编语言源程序时,一般的组成原则是什么? 解: (1)完整的汇编语言源程序由段组成 (2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列 (3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点 (4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内 (5)通常,程序还需要一个堆栈段 3.3 MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪7种存储模式?各用于创建什么性质的程序? 解: 存储模式 特 点 TINY COM类型程序,只有一个小于64KB的逻辑段(MASM 6.x支持) SMALL 小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KB COMPACT 代码少、数据多的程序,只有一个代码段,但有多个数据段 MEDIUM 代码多、数据少的程序,可有多个代码段,只有一个数据段 LARGE 大应用程序,可有多个代码段和多个数据段(静态数据小于64KB) HUGE 更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制) FLAT 32位应用程序,运行在32位80x86CPU和Windows 9x或NT环境 3.4如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程? 解: 开始位置:用标号指明 返回DOS:利用DOS功能调用的4CH子功能来实现 汇编停止:执行到一条END伪指令时,停止汇编 3.5逻辑段具有哪些属性? 解: 段定位、段组合和段类型。 3.6给出采用一个源程序格式书写的例题3.1源程序 例题3.1:创建一个在屏幕上显示一段信息的程序…… 解: stack segment stack db 1024(0) stack ends data segment string db 'Hello,Assembly!',0dH,0aH,‘$’ data ends code segment 'code' assume cs:code,ds:data,ss:stack start: mov dx,offset string mov ah,9 int 21h code ends end start 3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么? 解: (1). EXE程序 程序可以有多个代码段和多个数据段,程序长度可以超过64KB 通常生成EXE结构的可执行程序 (2). COM程序 只有一个逻辑段,程序长度不超过64KB 需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式) 3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途 解: 符号定义伪指令有“等价EQU”和“等号=”: 符号名 EQU 数值表达式 符号名 EQU <字符串> 符号名 = 数值表达式 EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。例如: X= 7 ;等效于:X equ 7 X= X+5 ;“X EQU X+5”是错误的 3.9 给出下列语句中,指令立即数(数值表达式)的值 (1)mov al,23h AND 45h OR 67h (2)mov ax,1234h/16+10h 3:mov ax,23h SHL 4 4:mov al, ‘a’and(NOT(‘a’-‘A’)) 5:mov ax,(76543 LT 32768) XOR 7654h 解: (1) al=67h (2) ax=133h,dx=4h (3) ax=0230h (4) al=41h (4) ax=7654h 3.10画图说明下列语句分配的存储空间及初始化的数据值 (1)byte_var db ‘abc’,10,10h,‘EF’,3 dup(-1,?,3,dup(4)) (2:)word_var dw 10h,-5,3,dup(?) 解: (1) 41h 42h 43h 10 10h 45h 46h -1 ? 4 4 4 -1 ? 4 4 4 -1 ? 4 4 4 (2) 10h 00h 0fbh 0ffh ? ? ? ? ? ? 3.11 请设置一个数据段

您可能关注的文档

文档评论(0)

changjiali2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档