d__幻灯片定稿_第4章mcs-51汇编措辞法度模范设计.pptVIP

d__幻灯片定稿_第4章mcs-51汇编措辞法度模范设计.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文档。上传文档
查看更多
第4章MCS-51汇编语言程序设计;4.1 汇编语言概述;2.汇编语言 ;3.高级语言 ;4.1.2 单片机汇编语言源程序的编辑和汇编 ;图4-1 汇编过程;汇编语言源程序的汇编过程分为手工汇编和机器汇编。 所谓手工汇编,即采用人工查指令表的方法将汇编指令翻译成相应机器代码。通常源程序的人工汇编需要两次才能完成,第一次汇编查找每条指令的机器代码,第二次汇编完成地址偏移量的计算。由于手工汇编需要计算和查找,繁琐而且容易出错,而且程序修改时可能会引起指令的地址变化,转移指令的偏移量也随之改变,需要重新计算,所以手工汇编主要应用于设计短小程序或调试程序的场合。 所谓机器汇编,即采用汇编程序对源程序进行自动汇编,由于单片机软硬件资源的限制,该过程通常借助于PC系统机实现,象这种借助于一种计算机而为另一种计算机产生目标代码的汇编方式又称为交叉汇编。交叉汇编的原理类似于手工汇编,在汇编程序中通常存入了两张表,即MCS-51单片机的指令代码表和伪指令表。汇编程序通常通过两次扫描完成汇编,第一次扫描查找源程序中每条指令的机器代码,第二次扫描完成地址偏移量的计算,汇编后生成目标文件和列表文件。这是目前应用较广的汇编方法。;纵上,汇编的主要功能为: (1)确定程序中每条汇编语言指令的指令机器码。 (2)确定每条指令在程序存储器中的存放地址。 (3)提供语法、编辑等方面的错误信息,但不能提供程序的逻辑错误。 (4)产生目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。;4.1.3 MCS-51汇编语言的伪指令;2.DB(Define,Byte),——定义字节型常数指令 指令的功能为从指定的存储单元开始,定义或存储一个或多个字节数据。指令格式为: [标号:]DB,字节常数表 例如,,,,,,,,ORG,1000H TAB:,,,DB,,0A3H,18,‘AB’ 汇编结果为:(1000H)=A3H,,,,(1001H)=12H,,,,(1003H)=41H,,,(1004H)=42H 3.DW(Define,Word)——定义字型常数指令 指令的功能为从指定的存储单元开始,定义或存储一个或多个字数据。通常用于在程序中定义地址表。指令格式为: [标号:]DW,字常数表 一个字数据占用两个存储单元,存放时高字节存入低??地址,低字节存入高位地址。 例如, ,,ORG,1000H TAB:DW,,1234H,18,00A3H 汇编结果:(1000H)=12H,,(1001H)=34H ,,,,,,,,,,,,,,,,,,(1002H)=00H,,(1003H)=12H ,, ,,,,,(1004H)=00H,,(1005H)=A3H;4.,EQU(Equate)——等值指令 指令功能是把操作数段中的地址或数据赋值给标号。赋值后的标号可在整个源程序中使用。指令格式如下: 标号,,,EQU,,,数据或汇编符号 注意,与程序中一般意义的标号不同的是,这里的标号后不能加“:”。 例如,, ADDR,, EQU,,1000H,;给ADDR赋值1000H ,DAT1,, EQU,,0AH,,,;给DAT1赋值0AH ,,,,,,, … MAIN: MOV,,DPTR,#ADDR;DPTR←1000H ,,,,, MOV,,A,DAT1,,,,;A←(0AH) 上例中,ADDR被赋值以后,在程序中作为立即数使用,而DAT1赋值后被当作直接地址使用。需要说明的是,使用EQU指令时必须先赋值后使用。;5.DS(Define,Store)——定义存储区指令 指令功能为从指定的单元地址开始,保留一定数量的存储单元,以备使用。指令格式如下: [标号:]DS,,表达式 其中,表达式指定保留的内存单元个数。 例如,ORG,1000H ,,,,,,,,,,,DS,,10 TAB:,DB,,10H ,,,,,,… 汇编结果:从1000H地址处开始,保留10个字节单元。(100AH)=10H。 6.BIT——位地址符号指令 指令功能为将位地址赋值给指定的符号名称,通常用于位符号地址的定义。指令功能如下: 字符名称 BIT ,位地址 例如,X1,BIT,P1.0 汇编结果为将位地址P1.0赋给变量X1,即在程序中便可使用X1代替位地址P1.0。;7.DATA——数据地址赋值指令 指令功能为将数据地址或指令代码地址赋值给所指定的标号。通常在程序中用于定义数据地址。指令格式如下: 标号:DATA,表达式 例如,AA:DATA,2000H 汇编结果为:AA=2000H。 注意,DATA与EQU的区别在于:EQU定义的标识符在汇编时不在符号表中登记,因此必须先定义后使用,而DATA定义的标识符汇编时在符号表中登记,所以可以先使用后定义。 8.,END,——汇编语言源程序结束指令

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档