单片机汇编语言常见错误分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机汇编语言常见错误分析
一、汇编软件汇编失败原因分析:
这里采用Keil C51 软件包中的宏汇编器A51 作为编绎器,单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成
汇编失败,常见的汇编错误如下:1. 标号重复:常见于复制、粘贴程序时忘
记修改标号,造成出现多个相同的标号,标号是不允许重复的。2.标点符号
以全角方式输入:汇编程序要求标点符号为半角方式,否则汇编失败。可以
在输入:,;时切换到半角方式,或者在大写状态输入标点符号,这也是很容易
犯而且不容易发觉的错误。3.数值#FFH 前遗漏0:根据要求应该在a~f 前加0,写成#0FFH4.字母O 和数字0 搞混:有时候这两个字看上去完全相同,要注意哦~~5.标号后边遗漏”:”6.标号使用了特殊字符:标号不能用指令
助记符、伪指令、特殊功能寄存器名和8051 在指令系统中用的“#”、“@”等,长
度以2~6 字符为宜,第一字母必须是英文字母。比如:T1、T2、A、B 这些字
符有特定的含义,不允许用于标号。7.AJMP 跳转超过2K 地址:AJMP 属于短跳转命令,有2K 地址范围的限制。8.超过地址范围:JB P3.2,EXIT 跳转超过-128~127 个地址范围。这个是最容易出现的错误!你有可能程序刚才还
能汇编编译成功,你加了一段程序后程序就提示出错了,你可以把JB
P3.2,EXIT 转换成JNB P3.2,LD01AJMP EXITLD01: AJMP EXIT……9.字母I 和数字1 混淆:冒失鬼的常见问题。10.创造发明不存在的汇编语言指令:在编写程序程序的过程中可不欢迎这种创新,这种指令汇编程序不支持,芯片也不
认可。11.符号“:”“;”最好用半角书写。
二、程序出错:
1.寄存器重复调用:比如主程序中设定了R4=5,表示主程序循环执行5 次,