第一章计算机的基础知识.docVIP

  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文档。上传文档
查看更多
第一章计算机的基础知识

第四章汇编语言程序设计 第一节汇编语言源程序的格式和伪指令 (一)学习要求 (二)内容提要 一:汇编语言源程序的格式 1、语句格式 汇编语言源程序是由汇编语句(即指令)组成的。汇编语言一般由四部分组成。其典型的汇编语句格式如下: 标号: 操作码 操作数 ;注释 START: MOV A,30H ;A←(30H) (1) 标号段 标号是用户定义的符号地址。 (2) 操作码段 操作码段是每一语句中不可缺少的部分,也是语句的核心部分,用于指示计算机进行何种操作,汇编程序就是根据这一字段生成目标代码的。 (3) 操作数段 指出了参与操作的数据或存放该数据的地址。通常有目的操作数和源操作数之分。 (4) 注释段 为了增强程序的可读性,可在某行指令的后面用分号起头,加上注释,用以说明该条指令或该段程序的功能、作用,以供编程人员参考。此注释内容程序汇编时CPU不予处理,不产生目标代码。二:伪指令 1、定位伪指令ORG(Origin) 格式: [标号:] ORG m m:16位二进制数,代表地址。 功能:指出汇编语言程序通过编译,得到的机器语言程序的起始地址。 2、定义字节伪指令DB(Define Byte) 格式:[标号:] DB X1,X2,~Xn Xn:单字节二进制、十进制、十六进制数,或以‘ ’括起来的字符串,数据符号。 功能:定义程序存储器从标号开始的连续单元,用来存放常数、字符和表格。 ? 3、定义字伪指令DW(Define Word) 格式:[标号:] DW Y1,Y2,~Yn Yn:双字节二进制、十进制、十六进制数,或以‘ ’括起来的字符串,数据符号。 功能:同DB,不同的是为16位数据。 4、汇编结束命令END 格式:[标号:] END 功能:END是汇编语言源程序的汇编结束标志,在它后面所写的指令均不予处理。 5、等值命令EQU 格式:字符名称 EQU 数或汇编符号 功能:将一个数或特定的汇编符号赋予规定的字符名称。先定义后使用。 6、数据地址赋值命令DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的字符名称 ()汇编语言源程序的格式第二节汇编语言源程序汇编 (一)学习要求 (1) 掌握。 (2) 了解。 (二)内容提要用汇编语言编写的源程序称为汇编语言源程序。汇编通常由专门的汇编程序来进行,通过编译后自动得到对应于汇编源程序的机器语言目标程序,这个过程叫机器汇编。另外还可用人工汇编。 一、汇编程序的汇编过程 汇编过程是将汇编语言源程序翻译成目标程序的过程。汇编程序是两次扫描。第一次扫描是进行语法检查并建立该源程序使用的全部符号名字表。在这个表中,每个符号名字后面跟着一个对应的值。第一次扫描中如有错误则显示出错信息,扫描完,显示出错数目,然后返回编辑状态。这时可对源程序进行修改。如没有错误可进行第二次扫描,最后生成目标程序的机器码并得到对应于符号地址(即标号地址)的实际地址值。第二次扫描还产生相应的列表文件,此文件中有与每条源程序相对应的机器码、地址和编辑行号以及标号地址的实际地址等,可作为程序调试时使用。 二、人工汇编 由程序员根据MCS-51的指令集将汇编语言源程序的指令逐条人工翻译成机器码的过程叫人工汇编。人工汇编同样采用两次汇编方法。第一次汇编,首先查出各条指令的机器码,并根据初始地址和各条指令所占的字节数,确定每条指令所在的地址单元。第二次汇编,求出标号地址所代表的实际地址及相对应地址偏移量的具体补码值。 例:对下列程序进行人工汇编 ORG 1000H START:MOV R7,#200 DLY1:NOP NOP NOP DJNZ R7,DLY1 RET 第一次汇编查指令集,确定每条指令的机器码和字节数。通过ORG伪指令可依次确定各指令的首址。结果如下: 地址 指令码 ORG 1000H 1000H 7F C8 START:MOV R7,#200 1002H 00 DLY1:NOP 1003H 00 NOP 1004H 00 NOP 1005H DF 地址偏移量rel DJNZ R7,DLY1 1007H 22

文档评论(0)

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

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

1亿VIP精品文档

相关文档