0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机汇编语言常见错误知识点分析

h1654155282.3538 来源:网络整理 2018-04-26 15:03 次阅读

汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的惟一语言。因而对程序的空间和时间要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。

作为计算机专业及相关学科一门重要的基础课程,其重要性不言而喻。但是对于众多初学汇编语言的人来说,都普遍感到较难且不易理解和掌握,难以入门,看着有错的程序,更是不知从何改起,本文主要介绍的就是单片机汇编语言常见错误知识点分析,具体的跟随小编来了解一下。

单片机汇编语言常见错误知识点分析

一、 MAS51汇编软件汇编失败原因分析

单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误汇会造成汇编失败,常见的汇编错误如下:

1、标号重复 常见于复制、粘贴程序时忘记修改标号,造成出现多个相同的标号,标号是不允许重复的。

2、标点符号以全角方式输入 MAS51程序要求标点符号为半角方式,否则汇编失败。可以在输入:,;时切换到半角方式,或者在大写状态输入标点符号,这也是很容易犯而且不容易发觉的错误。

3、注释太长 有时为了以后读懂程序,写了很长的注释,站长发现超过20个汉子时也会造成汇编失败,解决办法可以将太长的注释分成多个注释。

4、数值#FFH 前遗漏0,根据要求应该在a~f前加0,写成#0FFH

5、字母O和数字0搞混 有时候这两个字看上去完全相同,要注意哦

6、标号后边遗漏“:”

7、标号使用了特殊字符,比如:T1、T2、A、B这些字符有特定的含义,不允许用于标号。

8、AJMP跳转超过2K地址,AJMP属于短跳转命令,有2K地址范围的限制。

9、JB P3.2,EXIT跳转超过-128~127个地址范围。这个是最容易出现的错误!你有可能程序刚才还能汇编编译成功,你加了一段程序后程序就提示出错了,你可以把JB P3.2,EXIT转换成JNB P3.2,UUUAJMP EXITUUU:

10、字母I和数字1混淆,冒失鬼的常见问题。

11、创造发明不存在的汇编语言指令,在编写程序程序的过程中可不欢迎这种创新,这种指令汇编程序不支持,芯片也不认可。

12、符号“:”“;”最好用半角书写。

使用汇编软件常见问题解答:

1、如果汇编软件出现** Unrecongnized Command **提示字样说明是汇编命令输入错误。正确的汇编命令是asm51 d:01.txt 注意asm51后面要加空格。

2、如果汇编软件出现**Dos File I/O error **提示字样说明是汇编文件的路径出错。第一要注意MASM51软件的安装路径中不能出现中文名称,例如汇编软件安装在D:单片机下面,第二要汇编的文件的路径中也不能出现中文名称,例如D:单片机01.TXT。当文件后缀不是asm时,后缀不能省略。

二、程序出错

1、寄存器重复调用:

比如主程序中设定了R4=5,表示主程序循环执行5次,而其中的一个延时子程序又用到R4,使R4的值发生紊乱,造成程序无法正常执行。

2、硬件不熟悉:

单片机一般采用下拉输出,往往端口输出0驱动外设工作,和常见的正逻辑相反,容易搞错。

三、指令系统常用符号和含义

(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。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43947

    浏览量

    620542
  • 汇编语言
    +关注

    关注

    14

    文章

    404

    浏览量

    35187
收藏 人收藏

    评论

    相关推荐

    单片机C语言知识点精华集锦(三)

    好资料分享!! 电子发烧友网讯:继《单片机学习知识点全攻略》得到广大读者好评,根据有网友提出美中不足的是所用单片机编程语言汇编,基于此,电
    发表于 07-06 10:23

    经典中的经典!《C51单片机及C语言知识点必备秘籍》

    键盘接口技术及  27:关于单片机的一些基本概念  28:实际案例实践——单片机音乐程序设计  继《单片机学习知识点全攻略》得到广大读者好评,根据有网友提出美中不足的是所用
    发表于 07-30 16:06

    单片机的一要学汇编语言

    单片机的一要学汇编语言吗????
    发表于 08-26 13:43

    单片机知识点

    单片机常见知识点,总结,归纳
    发表于 06-19 22:38

    学习单片机应该学习汇编语言

    学习单片机应该学习单片机汇编语言,因为懂的了汇编语言,才能赋予单片机的灵魂。
    发表于 03-06 20:16

    单片机汇编语言大全

    单片机汇编语言汇总拿来分享
    发表于 08-02 22:22

    利用汇编语言单片机程序

    学习利用汇编语言单片机程序的第一步是要学习汇编语言的相关理论知识,那么实践操作的第一步肯定是从点灯开始啦!编译环境:keil4编译语言
    发表于 07-20 07:27

    单片机汇编语言开发简析

    层次的掌握,能用汇编语言开发你才算掌握了这款单片机。如果了解一汇编编程话,就可以知道,堆栈是内存中一段连续...
    发表于 11-22 07:38

    关于汇编语言知识点汇总,绝对实用

    关于汇编语言知识点汇总,绝对实用
    发表于 01-18 07:32

    51单片机汇编语言教程

    51单片机汇编语言教程 本书有上下两册,共48课.本教程是最通俗易懂之单片机教材.
    发表于 05-29 10:07 1738次下载

    51单片机汇编语言教程_单片机延时程序分析

    51单片机汇编语言教程:5课单片机延时程序分析
    发表于 01-19 15:26 0次下载

    51单片机汇编语言教程_单片机汇编课程简介

    51单片机汇编语言教程:1课单片机汇编课程简介
    发表于 01-19 15:27 0次下载

    汇编语言程序设计

    电子专业单片机相关知识学习教材资料——汇编语言程序设计
    发表于 09-01 16:40 0次下载

    分享一些单片机汇编语言常见的语法和程序错误

    这里采用Keil C51软件包中的宏汇编器A51作为编绎器,单片机汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成汇编
    的头像 发表于 01-13 09:41 7262次阅读
    分享一些<b class='flag-5'>单片机</b><b class='flag-5'>汇编语言</b><b class='flag-5'>常见</b>的语法和程序<b class='flag-5'>错误</b>

    单片机 | 基础汇编语言编程实例

    单片机汇编语言编程
    的头像 发表于 06-05 18:04 9485次阅读