单片机第4章汇编语言程序设计概论.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机第4章汇编语言程序设计概论

第四章 汇编语言 程序设计 ;4.1.1 单片机编程语言 常用的编程语言是汇编语言和高级语言。 1.汇编语言 用英文字符来代替机器语言,这些英文字符被称为助记符汇编语言:用助记符表示的指令。 汇编语言源程序:用汇编语言编写的程序。 “汇编”:汇编语言源程序需转换(翻译)成为二进制代码表示的机器语言程序,才能识别和执行。 完成“翻译”的程序称为汇编程序。经汇编程序“汇编”得到的以“0”、“1”代码形式表示的机器语言程序称为目标程序。 ;优点:用汇编语言编写程序效率高,占用存储空间小,运行速度快,能编写出最优化的程序, 缺点:可读性差,离不开具体的硬件,是面向“硬件”的语言通用性差。 2.高级语言 不受具体“硬件”的限制,优点:通用性强,直观、易懂、易学,可读性好。 目前多数的51单片机用户使用C语言(C51)来进行程序设计,已公认为高级语言中高效简洁而又贴近51单片机硬件的编程语言。 将C语言向单片机上移植,始于20世纪80年代的中后期。 ;经过十几年努力,C51已成为单片机的实用高级编程语言。 尽管目前已有不少设计人员使用C51来进行程序开发,但在对程序的空间和时间要求较高的场合,汇编语言仍必不可少。 在这种场合下,可使用C语言和汇编语言混合编程。在很多需要直接控制硬件且对实时性要求较高的场合,则更是非用汇编语言不可。 掌握汇编语言并能进行程序设计,是学习和掌握单片机程序设计的基本功之一。; 伪指令:为了便于编程和对汇编语言程序进行汇编,各种汇编程序都提供一些特殊的指令,供人们编程使用。 由伪指令确定的操作称为伪操作。 伪指令又称汇编程序控制译码指令。 “伪”体现在汇编时不产生机器指令代码,不影响程序的执行,仅指明在汇编时执行一些特殊的操作。 ; ⒈ ORG 汇编起始地址伪指令 指令格式为: ORG <表达式> 含义:向汇编程序说明,下述程序段的起始地址由表达式指明。表达式通常为16进制地址码。 ??一般规定,在由ORG伪指令定位时,其地址应当由小到大,不能重叠。 ??它的有效范围一直到下一条ORG伪指令??现为止。 ??跟在ORG伪指令后面的程序段或数据段是绝对地址还是浮动地址段,依赖于ORG右边的表达式性质。 ; ORG 1000H START:MOV A,#12H 含义:通知汇编程序,从 START开始的程序段,其起始地址由1000H开始。由于1000H是立即数型地址码,所以还隐含地指明该程序段是绝对地址段。 假定ORG右边的表达式是浮动程序段中定义的标号RELOCA,则 ORG RELOCA SUBROU:…… 表明 SUBROU起始于 RELOCA(它是相对地址)浮动地址的程序段。 ; ⒉ END(END of assembly) 汇编结束伪指令 ?汇编结束伪指令一般有以下两种格式: 主程序模块:<标号> END <表达式> 子程序模块: <标号> END 含义:通知汇编程序,该程序段汇编至此结束。 END语句应设置在整个程序(包括伪指令在内)的后面。 当源程序为主程序时,END伪指令中可有标号,这个标号应是主程序第一条指令的符号地址。若源程序为子程序,则在 END伪指令中不需要带标号。 ; ⒊ EQU 赋值伪指令 ? 指令格式为:<标号> EQU <表达式> 含义:把表达式赋值于标号,这里的标号和表达式是必不可少的。例如: LOOP EQU 2002H 是向汇编程序表明,标号LOOP的值为2002H。又如: LOOP1 EQU LOOP LOOP已赋值为2002H,则相当于LOOP1=LOOP,即LOOPI也为2002H,在程序中LOOP和LOOP1可以互换使用。 用EQU语句给一个标号赋值以后,在整个源程序中该标号的值是固定的,不能更改。;; 若不采用ORG伪指令专门规定数据区的起始地址,则数据区的起始地址即根据DB命令前一条指令的地址确定。这时DB所定义的数据字节的起始地址为DB命令前一条指令的地址加上该指令的字节数。?; 5. DW(Define Word) 定义字伪指令 指令格式为:<标号> DW <表达式或表达式表> 含义:把字或字串值存入由标号开始的连续存储单元中,且把字的高字节数存入低地址单元,低字节数存入高地址单元。按顺序连续存放。 DW 100H,3456H,814 表示按顺序存入01H,00H,34H,56H,03H

您可能关注的文档

文档评论(0)

***** + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档