第四章 2指令系统和汇编语言程序设计(下).pptVIP

第四章 2指令系统和汇编语言程序设计(下).ppt

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

第四章 指令系统和 汇编语言程序设计(下) ;4.4 汇编语言程序格式和环境 4.4.1 汇编语言的基本概念 1.机器语言;⑴ 汇编语言仍然是各种系统软件(如操作系统)设计的基本语言。利用汇编语言可以设计出效率极高的核心底层程序,如设备驱动程序。迄今在许多高级应用编程中,32位汇编语言编程仍然占有较大的市场。 ⑵ 用汇编语言编写的程序一般比用高级语言编写的程序执行得快,且所占内存较少。 ⑶ 汇编语言程序能够直接有效地利用机器硬件资源,在一些实时控制系统中更是不可缺少和代替。 ⑷ 学习汇编语言对于理解和掌握计算机硬件组成及工作原理是十分重要的,也是进行计算机应用系统设计的先决条件。 根据运行汇编的主机不同,汇编程序可以分为交叉汇编和驻留汇编两种。 (1)交叉汇编程序:运行这种汇编程序的计算机与该汇编程序所要汇编成目的程序的机器是不同的。例如,汇编程序可以在IBM-PC/XT系统上运行,而所汇编成的目的代码是在MCS-51系列单片机、ARM上执行的。 (2)驻留汇编程序:运行这种汇编程序的微机系统就是执行汇编后形成目的代码程序的系统。例如在PC机上对8086的汇编语言源程序进行汇编,汇编后的目的程序就在PC机上执行。 ;4.4.2 汇编语言程序的组成 1.汇编语言源程序的结构 例 4.15 将一个8位二进制数分成高4位和低4位分别转换为两个ASCII字符。设待转换的数据及转换好的ASCII字符均存放在数据段中。完整的汇编语言源程序见P50。; 汇编语言源程序一般包括了数据段、堆栈段和代码段,即程序由段结构组成。它们由段定义开始语句“SEGMENT”和段定义结束语句“ENDS”来定义一个段。每个段都有一个段名,段名可自由选取,如数据段的段名为“DATA”, 堆栈段的段名为“STACK”, 代码段的段名为“CODE”。语句不区分大小写。 数据段、堆栈段和代码段的作用各不相同。数据段用于存放变量、数据和结果,堆栈段用于执行压栈和弹栈操作,以及子程序调用和参数传递,代码段则是所编制的执行程序或常数表格。各个段都由一系列语句组成。语句包括指令语句和伪指令语句。指令语句(Instruction Statements)产生对应的机器代码,指定CPU做什么操作,而伪指令语句(Directive Statements)并不产生机器代码,仅仅起控制汇编过程的作用,它指定汇编器(Assembler)作何种操作。 汇编器(汇编程序)是专门把汇编语言源程序汇编成机器语言的工具软件。它通过伪指令来了解诸如“变量名列表”、“变量所在位置”、“过程名”等信息。 ;4.4.2 汇编语言的程序格式 1、语句的种类 在8086汇编语言中,有两种语句:指令性语句和指示性语句。 1)指令性语句:就是指令系统中的指令,这些代码是命令微处理器执行某些操作。如MOV,ADD等。其中宏指令语句是指令语句的另一种形式。 2)指示性语句:又称伪指令,汇编程序并不把它们也不可能把它们翻译成机器代码。而是指示、引导汇编程序在汇编过程中做一些操作,如给符号地址(标号或变量)给予数值地址,给符号赋予具体数值,将一些数据放入指定的存储单元中,在存储器留一些空单元等等。;2、汇编语言的语句格式 汇编语言程序的每行语句由四项组成。指令性语句和伪指令语句在格式上稍有区别,指令语句的标号后有冒号“:”,而伪指令语句的标号后则没有冒号。 指令语句的格式为: [LABEL:] OPERATION [OPERAND] [;COMMENT] 标号域 指令助记符域 操作数域 注释域 伪指令语句的格式为: [LABEL] OPERATION [OPERAND] [;COMMENT] 标号域 伪指令助记符域 操作数域 注释域;3、标号(label);标号属性有: ① 段属性:定义标号的段起始地址,此值必在CS段寄存器中; ② 偏移属性:标号的偏移地址是16位无符号数,它代表从段起始地址到定义标号的位置之间的字节数,标号的偏移地址在IP寄存器中。 ③类型属性:用来指出该标号是在本段内引用还是其它段中引用的。如在段内引用的,则称NEAR? PTR(默认),段间引用FAR? PTR。 在同一个汇编单位(以END结束的程序模块)中,标号域中的标号不能相同。;4. 操作数域(Operand Fields) 操作数可以是常数、变量、标号、寄存器名或表达式。 ⑴ 常数: 汇编语言语句中出现的常数一般有5种: ① 二进制数

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档