- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 汇编语言程序设计 通过前面对指令系统的介绍,大家对汇编程序的基本指令有了一个大概的了解。本章将利用已经掌握的基本指令进行汇编语言程序设计,学习本章时要结合指令系统。汇编语言程序与其他高级语言相比,有其独特的优点:可以轻松地访问硬件端口,生成的可执行文件占用空间小,执行效率高。 学习了汇编语言的基础知识后,本章将完成两个具体的汇编程序设计任务。第一,用汇编语言写一个加法程序,第二,用汇编语言写两个无符号数相乘的程序。 【学习目标】 ? 学习汇编语言基本知识。 ? 学习分支程序设计。 ? 学习顺序程序设计。 ? 学习循环程序设计。 ? 学习子程序设计。 5.1 汇编语言基础知识 5.1.1 简单的汇编语言程序示例 5.1.2 汇编语言基础 程序员写的是汇编语言源程序,需要专门的系统程序将其翻译成机器代码才能够运行,这个系统程序就叫做汇编程序,这个翻译过程称为汇编。汇编程序的输出主要是“.OBJ”和“.LST”文件。对汇编程序来说,汇编得到的目标程序也不能够立即运行,它必须经过连接程序(LINK)进行连接才能够得到可执行程序文件“.EXE”。 常见的汇编程序有小汇编、宏汇编、驻留汇编、交叉汇编和嵌入式汇编。 用文本编辑工具编写汇编语言源程序后就可以在计算机上运行,常按以下步骤进行。 ? 用MASM汇编源程序汇编后产生目标文件“.OBJ”,同时产生两个辅助文件:列表文件“*.LST”和交叉引用文件“*.CRF”。 ? 用LINK把“.OBJ”文件连接成可执行的“.EXE”文件。 上面产生的目标文件“.OBJ”虽然已经是二进制文件,但它还不能直接在机器上运行,必须由LINK把其内部的浮动地址再定位,合并所有的“.OBJ”文件(假如存在多个模块的话),给它加上适当的文件头,形成可执行文件“.EXE”后才能够运行。 5.1.1 简单的汇编语言程序示例 这是一个简单而完整的汇编语言源程序。 SSEG SEGMENT PARA STACK ;堆栈段 DW 256 DUP(?) SSEG ENDS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DSEG SEGMENT ;数据段 MESS DB HELLO,0DH,0AH,$ DSEG ENDS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 5.1.1 简单的汇编语言程序示例 CSEG SEGMENT ;代码段 ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX ;设置数据段寄存器 MOV DX,OFFSET MESS MOV AH,9 INT 21H ;显示信息 MOV AH,4CH INT 21H ;返回DOS CSEG ENDS END START 5.1.2 汇编语言基础 从上面的汇编语言源程序示例中可以看到,一个源程序包括若干个段。下面详细介绍汇编语言程序的基本组成。 1.字符集 字符集是指汇编语言中所使用的字符的集合,是组成汇编语言语句的基本元素,它是ASCII和EBCD字符集的一个子集,包括以下几个组成部分。 (1)字母 ? 大写的英文字母:A、B、C、D、E…X、Y、Z。 ? 小写的英文字母:a、b、c、d、e…x、y、z。 (2)数字 阿拉伯数字:0、1、2、3、4、5、6、7、8、9。 (3)特殊字符 ? 可打印的字符:! @ # $ % * ( ) + ? / = __ [ ] { } ; . , ~ ` “ ” :?。 5.1.2 汇编语言基础 ? 不可打印的字符:空格、制表符、回车、换行。 在程序中,如果使用了字符集以外的字符,则汇编程序把它们当作空格来处理。回车、换行符后面紧跟一个“&”,表示续行并作空格处理。 2.标记、分隔符和界符 标记是程序中最小的有意义的单位,就像英语中的单词一样。 分隔符是用来分隔两个标记的字符或字符序列。用作分隔符的符号有空格、制表符及它们的序列。程序中的语句行就是标记与分隔符按照一定规则组织起来的。 界符是一些特殊的字符,可以表明某个标记的结束。如MASM宏汇编语言中的界符集包括“ , ; - ? / + ( ) [ ] . * & =”。 语句中有了界符,相应的分隔符就可以省略。 3.标识符与保留字 标识
您可能关注的文档
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 下册全部 第二十九章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 下册全部 第二十六章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 下册全部 第二十五章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 下册全部 第二十章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 下册全部 第十九章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 刑法学上册 第八章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 刑法学上册 第二章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 刑法学上册 第九章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 刑法学上册 第六章.ppt
- 刑法学(上下册)(21世纪中国高校法学系列教材) 作者 李洁 著 刑法学上册 第七章.ppt
- 云计算行业数据治理与隐私保护白皮书.docx
- 基因编辑技术在2025年罕见病治疗中的基因编辑技术临床应用指南报告.docx
- 2025年人工智能在儿科疾病诊断中的创新实践报告.docx
- 肿瘤医疗服务行业2025年发展预测:精准治疗技术市场规模分析报告.docx
- 2025年制造企业智能化生产线布局优化研究.docx
- 2025年职业教育产教融合共同体构建挑战与应对方案研究报告.docx
- 科拓生物(300858)公司2024年财务分析研究报告.doc
- 智能化半导体设备维护解决方案供应商竞争力分析.docx
- 汉服文化在海外旅游市场推广策略分析.docx
- 2025-2026学年小学信息技术(信息科技)三年级下册河南大学版(2020)教学设计合集.docx
文档评论(0)