单片机汇编程序设计.ppt
《单片机汇编程序设计.ppt》由会员分享,可在线阅读,更多相关《单片机汇编程序设计.ppt(69页珍藏版)》请在第壹文秘上搜索。
1、第第4章章 汇编语言程序设计简介汇编语言程序设计简介 4.1 伪指令伪指令 4.2 汇编语言程序设计汇编语言程序设计 4.1 伪伪 指指 令令 伪指令伪指令 是是 对汇编过程对汇编过程 起控制作用,但本起控制作用,但本身并没有对应的机器代码的指令。身并没有对应的机器代码的指令。 一、一、 汇编起始指令汇编起始指令 ORG 指令格式为指令格式为: ORG nn 该指令的作用是指明后面的程序或数据块的起始地址该指令的作用是指明后面的程序或数据块的起始地址, 它总是出现在每段源程序或数据块的开始。它总是出现在每段源程序或数据块的开始。 式中式中, nn为为 16 位地址位地址, 汇编时汇编时nn确定
2、了此语句后面第一条指令或第一个数确定了此语句后面第一条指令或第一个数据的地址据的地址,此后的源程序或数据块就依次连续存放在以后的地此后的源程序或数据块就依次连续存放在以后的地址内址内, 直到遇到另一个直到遇到另一个ORG指指令为止。令为止。 例例: ORG 2000H MOV SP, 60H MOV R0, 2FH MOV R2, 0FFH ORG伪指令说明其后面程序的目标代码在存储器中存放的伪指令说明其后面程序的目标代码在存储器中存放的起始地址是起始地址是2000H, 即即 存储器地址存储器地址 目标程序目标程序 2000H 75 81 60 2003H 78 2F 2005H 7A FF
3、二、等值指令二、等值指令EQU 指令格式指令格式: 字符名称字符名称 EQU 数字或汇编符号数字或汇编符号 例例: PA8155 EQU 8001H ;即给标号即给标号PA8155赋值为赋值为8001H。 功能功能: 使指令中的字符名称等价于给定的数字或汇编符号。使指令中的字符名称等价于给定的数字或汇编符号。 使用等值指令可给程序的编制、调试、修改带来方便使用等值指令可给程序的编制、调试、修改带来方便, 如果如果在程序中要多次使用到某一地址在程序中要多次使用到某一地址,由由EQU指令将其赋值给一个指令将其赋值给一个字符名称字符名称, 一旦需要对其进行变动一旦需要对其进行变动, 只要改变只要改变
4、EQU命令后面的数命令后面的数字即可字即可, 而不需要对程序中涉及到该地址的所有指令逐句进行而不需要对程序中涉及到该地址的所有指令逐句进行修改。修改。 但要注意但要注意, 由由 EQU等值的字符名称必须先赋值后使用等值的字符名称必须先赋值后使用, 且在同一个源程序中且在同一个源程序中, 同一个标号只能赋值一次。同一个标号只能赋值一次。 三、三、 定义字节指令定义字节指令DB 指令格式指令格式: 标号标号: DB 8位二进制数表位二进制数表 功能功能: 把把 8 位二进制数表依次存入从标号开始的连续的位二进制数表依次存入从标号开始的连续的存储单元中。存储单元中。 格式中格式中, 标号区段可有可无
5、标号区段可有可无, DB指令之后的指令之后的 8 位二进制位二进制数表是字节常数或用逗号隔开的字节串数表是字节常数或用逗号隔开的字节串, 也可以是用引号括也可以是用引号括起来的起来的ASCII码字符串码字符串 (一个一个 ASCII字符相当于一个字节字符相当于一个字节)。 例例: ORG 1000HBUF1: DB 38H, 7FH, 80HBUF2: DB 45H, 66H ORG伪指令指定了标号伪指令指定了标号BUF1的地址为的地址为1000H, 而而DB伪指令是将其后的二进制数表伪指令是将其后的二进制数表38H, 7FH, 80H依次存放在依次存放在1000H, 1001H, 1002H
6、 3 个连续单元之个连续单元之中中, BUF2也是一个标也是一个标号号, 其地址与前一条伪指令连其地址与前一条伪指令连续续, 即即1003H, 1004H地址单元中依次存放地址单元中依次存放 45H, 66H。 四、四、 定义字指令定义字指令DW 指令格式指令格式: 标号标号: DW 16 位数据表位数据表 该指令的功能与该指令的功能与DB相似相似, 区别仅在于从指定地区别仅在于从指定地址开始存放的是指令中的址开始存放的是指令中的 16 位数据位数据, 而不是字节串。而不是字节串。每个每个 16 位数据要占两个存储单元位数据要占两个存储单元, 高高8 位先存位先存, 低低 8 位后存位后存,
7、这和这和MCS -51指令中的指令中的16位数据存放顺序是位数据存放顺序是一致的。一致的。 五、五、 汇编结束指令汇编结束指令END 指令格式指令格式: 标号标号: END 地址或标号地址或标号 格式中标号以及格式中标号以及END后面的地址或标号可有可无。后面的地址或标号可有可无。 功能功能: 提供汇编结束标志。汇编程序遇到提供汇编结束标志。汇编程序遇到 END后就后就停止汇编停止汇编, 对对 END以后的语句以后的语句不予处理不予处理, 故故 END应放在应放在程序的结束处。程序的结束处。 4.2 汇编语言程序设计汇编语言程序设计 4.2.1 简单程序设计简单程序设计 例例 1 两个无符号双
8、字节数相加。两个无符号双字节数相加。 设被加数存放于内部设被加数存放于内部RAM的的40H(高位字节)(高位字节), 41H(低位字节)(低位字节), 加数存放加数存放于于50H(高位字节)(高位字节), 51H(低位字节)(低位字节), 和数存入和数存入 40H和和41H单元中。单元中。 程序如下: START: CLR C ; 将将Cy清零清零 MOV R0, 41H ; 将被加数地址送数据指针将被加数地址送数据指针R0 MOV R1, 51H ; 将加数地址送数据指针将加数地址送数据指针R1 AD1: MOV A, R0 ; 被加数低字节的内容送入被加数低字节的内容送入AADD A,R1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 汇编程序 设计