| | 网站首页 | 资讯 | 培训中心 | 技术文章 | 软件下载 | 产品展示 | 留言板 | 电子商城 | 供求信息 | 求职招聘 | |
| 您现在的位置: 华信单片机 > 培训中心 > 教学资源 > 讲义资料 > 培训正文 |
|
|||||
| 编写汇编语言常见错误分析 | |||||
作者:华信单片… 培训来源:本站原创 点击数: 更新时间:2005-6-8 ![]() |
|||||
|
这里采用Keil C51软件包中的宏汇编器A51作为编绎器,单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成汇编失败,常见的汇编错误如下:
9.字母I和数字1混淆: 二、程序出错: 编写汇编语言的忠告: 要养成良好的程序书写习惯,比如标号对齐、参数对齐、注释对齐,这样看起来赏心悦目,也不容易出错。标号最好采用有意义的英文,这样比较直观,注释尽量详细准确,便于以后读懂,而且有利于其它程序中作为子程序模块的调用。还有要注意典型程序模块的积累,再复杂的程序也是由一个个小程序模块组成的,在初学阶段可以对典型程序比如:延时子程序、查表子程序、按键消抖子程序等编写实践一次,这样印象深刻,便于以后引用。 三、指令系统常用符号和含义
(1)Ri:工作寄存器0和工作寄存器1,i=0或1。即R0~R1。 (2)Rn:工作寄存器R0~R7,n=0~7。 (3)@Ri:寄存器Ri间接寻址8位存储器单元00H~FFH。 (4)direct:8位直接地址,它可以是内RAM 00H~7FH或SFR的80H~FFH。 (5)#data:8位立即数。 (6)#data16:16位立即数。 (7)addr16:16位目的地址。用于LCALL和LJMP指令,能调用或转移到64K程序存储器空间的任何地方。 (8)addr11:11位目的地址。用于ACALL和AJMP指令,可在下条指令地址所在的2K字节页面内调用或转移。 (9)rel:带符号的8位偏移地址,用于SJMP和所有的条件转移指令。其范围是相对于下一条指令第1字节地址的-128~+127个字节。 (10)DPTR:数据指针,可用作16位的地址寄存器。 (11)bit:位地址。片内RAM中的可位寻址及SFR中的可寻址位。 (12)A:累加器Acc。 (13)B:通用寄存器,主要用于乘法MUL和除法DIV指令中。 (14)Cy:进位标志位或布尔处理器中的累加器。 (15)@:间接寄存器或基址寄存器的前缀。如@Ri,@DPTR,@A+PC,@A+DPTR。
|
|||||
| 培训录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关培训 | ||
| 没有相关培训 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 企业招聘 | 管理登录 | | |
![]() |
Copyright © 2004-2008 hx51.com hx51.cn All Rights Reserved |