单片机原理与应用-基于汇编、C51及混合编程第4章 51内核单片机汇编语言程序设计.ppt

单片机原理与应用-基于汇编、C51及混合编程第4章 51内核单片机汇编语言程序设计.ppt

  1. 1、本文档共140页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 51内核单片机汇编语言程序设计 4.1、汇编指令格式 4.2、寻址方式 4.3、指令系统 4.4、汇编程序常用伪指令 4.5、汇编语言程序设计 一、基本概念 时间属性:指一条指令执行完毕所需要的时间 空间属性:指一条指令存储于程序存储器中所占的字节数 功能属性:指一条指令所对应的一个特定的操作功能 4.2 寻址方式 寻址方式——寻找操作数或寻找操作数所在存储 单元地址的方式 共七种寻址方式: 4.3.3 逻辑运算指令 1. 位传送指令 2. 位逻辑操作指令 3. 位转移指令 三、常用伪指令 4.5 汇编语言程序设计 4.5.2 汇编程序设计示例 【例4-32】试判断片内RAM 30H单元中数的正负,若为正数,将P1.1置1,驱动绿灯亮,P1.0清0,红灯灭;若为负数,则将P1.1清0,绿灯灭,P1.0置1,红灯亮。 参考程序如下: MOV A,30H JB ACC.7,LOOP1 SETB P1.1 CLR P1.0 SJMP LOOP2 LOOP1: CLR P1.1 SETB P1.0 LOOP2: ……… 4.4 汇编程序常用伪指令 一、复习汇编程序功能 : 源程序 (汇编指令程序) 翻译 (汇编) 汇编指令与机器码指令有一一对应的关系。 汇编编译器(计算机系统软件)完成汇编工作,将源程序翻译成目标程序。 目标程序 (机器码指令程序) 伪指令是告诉编译器如何汇编源程序的指令。 伪指令既不控制机器的操作,也不能被汇编成机器代码,只向编译器提供相应的编译信息。 二、伪指令 1. 定义起始地址伪指令ORG ORG addr16 通常放在一段源程序(主程序、子程序)或数据块的前面,用于规定目标程序段或数据块的起始地址。 例如: ORG 3000H START:MOV A,30H …… 该伪指令规定MOV A,30H指令从地址3000H单元开始存放, 即标号START所代表的地址为3000H。 在一个汇编语言源程序中,可 以使用多个ORG伪指令,以规定不 同程序段的起始位置。但所规定的 地址应从小到大,不允许重叠。 2、定义汇编结束伪指令 END 告诉汇编程序,对源程序的汇编到此结束。 一个程序中只出现一次,在末尾。 3、定义字节伪指令 DB 告诉汇编程序从指定的地址单元开始,定义若干字节存储单 元并赋初值。 格式: [标号:] DB 字节表 定义多个字节时,两两之间用逗号间隔,定义的多个字节在 存储器中是连续存放的。定义的字节可以是一般常数,也可 以是字符或字符串,字符和字符串以引号括起来,字符数据 在存储器中以ASCII码形式存放。 定义的标号在程序中是字节表起始单元的地址。 例如: ORG 3000H TAB1: DB 12H,34H DB ‘5’,‘A’,‘abc’,-1 FFH 63H 62H 61H 41H 35H 34H 12H 3007H 3006H 3005H 3004H 3003H 3002H 3001H 3000H 汇编后,各个数据在存储单元中的存放情况如下: 补码 ASCII码 ‘ ’ 该指令只能为程序存储器赋初值,不能为其他存储器赋初值,尤其不能为内部数据存储器赋初值。 4、定义字伪指令DW 格式: [标号:] DW 字表 从指定地址开始,定义若干个16位数据,高八位存入低地址; 低八位存入高地址。 例如:ORG 3000H TAB2:DW 12H,3456H 汇编后,各个数据在存储单元中的存放情况如下: 56H 34H 12H 00H 3003H 3002H 3001H 3000H 5、预留存储区伪指令 DS 从指定地址开始,保留由表达式指定的若干字节空间作 为备用空间。 格式: [标号:] DS 表达式 例如: ORG 3000H TAB1: DB 12H,34H DS 4H DB 5 汇编后,存储单元中的分配情况如右: 注:DB、DW、DS 只能用于程序存储器; 而不能用于数据存储器。 35H - - - - 34H 12H 3006H 3005H 3004H 3003H 3002H 3001H 3000H 6、赋值伪指令

文档评论(0)

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

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

1亿VIP精品文档

相关文档