第5章汇编语言程序设计3讲述.ppt

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

第5章 汇编语言程序设计 5. 1 概述 5.1.1 程序设计语言 1. 机器语言 2. 汇编语言 3. 高级语言 图5-1 源程序、汇编程序、目的程序之间关系示意图 5.1.2 汇编语言规范 1. 汇编语句格式 [标号:][指令助记符] [操作数][;注释] 不同仿真器提供的汇编环境对标号有不同的要求。 一般均应符合如下要求: 指令助记符、寄存器名、伪指令记忆符等不能作标号; 同一标号在一个独立程序中只能定义一次; 标号由1--8个ASCII字符组成,第一个字符必须是字母。 2. 80C51汇编程序设计中常用的伪指令 (1)ORG 汇编起始指令 规定目标程序的起始地址,格式如下: 标号 操作码 操作数 ORG 表达式(exp) (2) EQU 赋值指令 把操作数段中的地址或数据赋值给标号,格式如下: 标号 操作码 操作数 字符名称 EQU 数或汇编符号 例1 AA EQU R1 ;R1与AA等值 则 MOV A,AA 指令与 MOV A,R1指令结果相同。 (3) DB定义字节指令 定义程序存储器中存放的8位常数表,格式如下: 操作码 操作数 DB 字节常数或ASCII字符 例 ORG 1000H DB 76H,73,‘C’,‘B’ ;括号 ‘ ’表示ASCII字符 DB OACH (4) DW 定义字指令 定义程序存储器中存放的16位常数表 格式 DW 16位数据表 例3 ORG 2200H DW 1246H,7BH,10 则 (2200H)=12H (2201H)=46H (2202H)=00 (2203H)=7BH (2204H)=00 (2205H)=0AH (5) BIT 定义位地址指令 格式 字符名称 BIT 位地址 例4 ABC BIT P1.0 Q4 BIT P2.2 则汇编后,位地址P1.0,P1.2分别赋给变量ABC和Q4。 (6) END 汇编结束指令 5.2 顺序与循环程序设计 5.2.1 顺序程序设计 例1:将20H单元的两个BCD码拆开并变成ASCII码,存入21H、22H单元。注意ASCII码0~9为30H~39H。 解:采用先把20H中低4位BCD码交换出来加以转换、存放,然后再把高4位BCD码交换至低4位加以转换、存放。 地址 机器码 周期数 源程序 ORG 0000H 0000H 02 02 00 3 LJMP MAIN MAIN: 200H 78 22 1 MOV R0,#22H ;(R0)=22 202H 76 00 1 MOV @R0,#0H ;(22)=0 204H E5 20 1 MOV A,20H ;(A)=20 206H D6 1 XCHD A, @R0 ;A与(22)低 四位交换 207H 43 22 30 2 ORL 22H,#30H 20AH C4 1 SWAP A 20BH 44 30 1 ORL A,#30H 20DH F5 21 1 MOV 21H,A 20FH 80 FE 2 SJMP $ END 5.2.2 循环程序设计 例3 已知:80C51单片机使用的晶振为6MHz,要求设计一个软件延时程序,延时时间为10ms。 解:延时程序的延时时间主要与两个因素有关,一个是所用晶振,一个是延时程序中的循环次数。一旦晶振确定之后,则主要是如何设计与计算需给定的

文档评论(0)

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

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

1亿VIP精品文档

相关文档