专题3 程序计o.ppt

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

第4章 汇编语言程序设计简介 ;4.1 程序设计与汇编 ;三、伪指令 ; 例: ORG 2000H MOV SP, #60H MOV R0, #2FH MOV R2, # 0FFH ORG伪指令说明其后面程序的目标代码在存储器中存放的起始地址是2000H, 即 存储器地址 目标程序 2000H 75 81 60 2003H 78 2F 2005H 7A FF ;2、等值指令EQU 指令格式:  字符名称 EQU 数字或汇编符号 功能: 使指令中的字符名称等价于给定的数字或汇编符号。  使用等值指令可给程序的编制、调试、修改带来方便, 如果在程序中要多次使用到某一地址,由EQU指令将其赋值给一个字符名称, 一旦需要对其进行变动, 只要改变EQU命令后面的数字即可, 而不需要对程序中涉及到该地址的所有指令逐句进行修改。 但要注意, 由 EQU等值的字符名称必须先赋值后使用, 且在同一个源程序中, 同一个标号只能赋值一次。 例:  PA8155 EQU 8001H;即给标号PA8155赋值为8001H。 ;3、 定义字节指令DB 指令格式:  [标号: ] DB 8位二进制数表 功能: 把 8 位二进制数表依次存入从标号开始的连续的存储单元中。  格式中, 标号区段可有可无, DB指令之后的 8 位二进制数表是字节常数或用逗号隔开的字节串, 也可以是用引号括起来的ASCII码字符串 (一个 ASCII字符相当于一个字节)。 例: ;ORG 1000H BUF1: DB 38H, 7FH, 80H BUF2: DB 45H, 66H ORG伪指令指定了标号BUF1的地址为1000H, 而DB伪指令是将其后的二进制数表38H, 7FH, 80H依次存放在1000H, 1001H, 1002H 3 个连续单元之中, BUF2也是一个标号, 其地址与前一条伪指令连续, 即1003H, 1004H地址单元中依次存放 45H, 66H。 ;4、 定义字指令DW 指令格式:  [标号:] DW 16 位数据表 该指令的功能与DB相似, 区别仅在于从指定地址开始存放的是指令中的 16 位数据, 而不是字节串。每个 16 位数据要占两个存储单元, 高8 位先存, 低 8 位后存, 这和MCS -51指令中的16位数据存放顺序是一致的。 ;5、 汇编结束指令END 指令格式:  [标号:] END 地址或标号 格式中标号以及END后面的地址或标号可有可无。  功能: 提供汇编结束标志。汇编程序遇到 END后就停止汇编, 对 END以后的语句不予处理, 故 END应放在程序的结束处。 ;4.2 汇编语言程序设计 ;ORG 0030H ;设置程序存放的起始地址 MOV 22H,#00H ;22H单元清零 MOV A,20H ;20H中的低 8位数送入A ADD A,30H ;两个数的低8位相加 MOV 20H,A ;低8位相加的结果送入20H中 MOV A,21H ;21H中的高8位数送入A中 ADDC A,31H ;两数高8位数相加并加低8位进位 MOV 21H,A ;高8位相加的结果送入21H中 CLR A ;A清零 ADDC A,#00H ;加上高位进位 MOV 22H,A ;保存最高位进位 RET; 例 2 将两个半字节数合并成一个一字节数。  设内部RAM 40H, 41H单元中分别存放着 8 位二进制数 要求取出两个单元中的低半字节, 并成一个字节后, 存入 50H单元中。 程序如下: ;4.2.2 分支程序设计 ;例 3 x, y均为8位二进制数, 设 x存入R0,

文档评论(0)

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

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

1亿VIP精品文档

相关文档