创作

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

3天内不再提示

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

陈翠 来源:网络整理 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后面要加空格。

二、程序出错

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。

收藏 人收藏

    评论

    相关推荐

    VSCode概述及安装方法说明

    Visual Studio Code(简称“VS Code” )是Microsoft在2015年4月....
    的头像 国产单片机入门那些事 发表于 05-28 19:42 129次 阅读
    VSCode概述及安装方法说明

    基于STM32+华为云IOT设计的智能防盗单车锁

    近年来随着国民经济的发展,交通拥堵和环境污染问题越来越突出,而自行车对改善交通与环境起到了重要作用。....
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 14:21 233次 阅读
    基于STM32+华为云IOT设计的智能防盗单车锁

    STM32F407入门开发: 外部中断配置

    嵌入式开发中,中断是非常重要的知识点,专门用来处理紧急事件。各种产品设备都有处理紧急事件的产生情况,....
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 13:45 140次 阅读
    STM32F407入门开发: 外部中断配置

    STM32F407入门开发: 基本定时器使用

    定时器是单片机开发必备是外设功能,很多事件都需要使用到定时器;
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 13:44 140次 阅读
    STM32F407入门开发: 基本定时器使用

    CC2530(zigbee)入门开发: 安装IAR开发环境

    CC2530本身是一个51单片机内核,开发过51的搞起来非常容易,也就是多了一个无线射频部分;如果不....
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 13:38 145次 阅读
    CC2530(zigbee)入门开发: 安装IAR开发环境

    CC2530(zigbee)入门开发: 按键检测(输入)

    在学习单片机、嵌入式过程中;按键是必学的一个外设,常见的按键分为为独立按键、矩阵按键等。下面这里介绍....
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 13:34 135次 阅读
    CC2530(zigbee)入门开发: 按键检测(输入)

    CC2530(zigbee)入门开发: 外部中断配置

    中断在单片机里非常常用,专门来处理紧急事件。比如: 串口接收中断可以实时知道有数据到达,定时器超时中....
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 13:33 102次 阅读
    CC2530(zigbee)入门开发: 外部中断配置

    CC2530(zigbee)入门开发: 定时器使用实例

    定时器在单片机里也是属于基本必备功能,非常常用;程序设计里,很多地方都需要使用到时间的概念,比如:使....
    的头像 DS小龙哥-嵌入式技术 发表于 05-28 13:31 133次 阅读
    CC2530(zigbee)入门开发: 定时器使用实例

    怎样使用Arm汇编去实现一种快速排序算法呢

        area word,code,readonly     entry     b start move     stmfd   ...
    发表于 05-27 17:53 3565次 阅读

    Microchip推出业界首款PIC32CM LS60单片机

    Microchip Technology Inc.(美国微芯科技公司)今日宣布推出业界首款在单一封装....
    的头像 科技绿洲 发表于 05-27 17:48 267次 阅读

    如何去实现一种ARM汇编语言程序设计呢

    ARM 程序设计 由于 C 语言便于理解,有大量的支持库,所以它是当前 ARM 程序设计所使用的主要编程语言 对硬件系统的初始...
    发表于 05-27 17:37 3422次 阅读

    Microchip发布业界首款集成强大安全子系统和Arm® TrustZone®技术的 单片机

    安全威胁日益复杂,给物联网(IoT)、消费、工业、医疗和其他市场产品开发带来了挑战。这些产品必须具备....
    的头像 21克888 发表于 05-27 15:22 377次 阅读
    Microchip发布业界首款集成强大安全子系统和Arm® TrustZone®技术的 单片机

    基于51设计的宠物防丢系统(蓝牙+Android上位机)

    手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Lin....
    的头像 DS小龙哥-嵌入式技术 发表于 05-27 10:37 129次 阅读
    基于51设计的宠物防丢系统(蓝牙+Android上位机)

    单片机STC15F104W初始软件安装及按键控制灯

    群里的朋友说现在的8脚小单片机很厉害,可以直接驱动3代中九机器上的数码管。由于原材料我这都有,也来试....
    发表于 05-27 10:07 22次 阅读
    单片机STC15F104W初始软件安装及按键控制灯

    基于CC2530设计的自动晾衣杆

    现在都市的生活越来越忙,很多人都没有时间和精力来管理一些细节上的东西,比如,在合适的阳光温度时间内晾....
    的头像 DS小龙哥-嵌入式技术 发表于 05-27 09:50 1674次 阅读
    基于CC2530设计的自动晾衣杆

    ESP8266应用案例 基于STM32核心板获取网络天气数据

    ESP8266 WIFI模块自带TCP/IP网络协议栈,通过AT指令集完成网络模式配置。知心天气采用....
    的头像 嵌入式技术 发表于 05-27 09:16 2310次 阅读
    ESP8266应用案例 基于STM32核心板获取网络天气数据

    FlyMcu单片机在线编程软件下载

    FlyMcu单片机在线编程软件免费下载。
    发表于 05-26 17:47 15次 阅读

    咨询一下RA2A1系列单片机,能否在线升级

    在这方面,谁有详细例程,谢谢啦~~ 最好是Renesas R7FA2A1AB这个系统芯片 ...
    发表于 05-26 16:27 962次 阅读

    NFC 双向通讯 13.56MHZ 非接触式阅读器芯片 --Si512 替代 PN512

    射频识别 (RFID) 技术在酒店门锁等非接触式读卡领域,现存的方案普遍因读卡电流较大,容易受外部干扰,从而造成芯片跑飞。基...
    发表于 05-26 15:53 2420次 阅读

    基于语音芯片的水位漏水报警器设计

    水位漏水报警器,在超过水位设定值之后为防止发生事故,会通过信号触发、声光报警等方式使人可以早期发现及....
    发表于 05-26 11:11 11次 阅读

    Microchip推可配置单片机CEC1736信任盾系列产品

    Microchip Technology Inc.(美国微芯科技公司)宣布推出基于完全可配置单片机的....
    的头像 科技绿洲 发表于 05-26 09:51 366次 阅读

    mqtt协议怎么用?以MQTT3.1协议ESP8266连接阿里云物联网平台

    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协....
    的头像 嵌入式技术 发表于 05-25 18:32 1702次 阅读
    mqtt协议怎么用?以MQTT3.1协议ESP8266连接阿里云物联网平台

    基于51单片机的雨刷控制系统Proteus仿真

    基于51单片机的雨刷控制系统Proteus仿真
    发表于 05-25 15:42 25次 阅读

    单片机电子密码锁 1602 6位

    是个人都能用
    发表于 05-25 15:05 10次 阅读

    mh188 超高灵敏双极锁存性霍尔 2.5V~24V 适用筋膜枪 直流无刷电机

    Mh188是一颗超高灵敏度双极锁存性霍尔元件。它是温度稳定的抗应力传感器。利用斩波稳定技术,能够达到卓越的高温工作性能。降...
    发表于 05-25 11:55 1117次 阅读
    mh188 超高灵敏双极锁存性霍尔 2.5V~24V 适用筋膜枪 直流无刷电机

    基于WT588F02B语音芯片的手写提示板方案

    你是不是经常忘记做某些事情?你是不是经常沉浸在自己的工作中而错过了其他的工作?你是否想要一个没有手机....
    发表于 05-25 11:48 12次 阅读

    芯昇mcuXS32F030的性能介绍

    XS32F030性能介绍
    发表于 05-25 09:52 27次 阅读
    芯昇mcuXS32F030的性能介绍

    单片机驱动AT24C02存储芯片使用手册

    AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公....
    发表于 05-24 17:28 15次 阅读

    高灵敏度单极霍尔IC的特点及应用介绍

    mh282 高灵敏单极性霍尔开关;电压2.5V~24V;待机电流2.5mA;输出电流50mA;高灵敏....
    发表于 05-24 15:15 36次 阅读
    高灵敏度单极霍尔IC的特点及应用介绍

    汇编语言题目库

    汇编语言2005-2006学年第二学期期末考试复习题及参考答案
    发表于 05-24 15:02 14次 阅读

    超级电容三种用途及应用

           超级电容又称为电化学电容、双电层电容、黄金电容、法拉第电容等。不同于传统的化学电源,超级电容...
    发表于 05-24 10:21 1285次 阅读

    如何移植RT-Thread工程师到32位单片机?这6个经典学习笔记,工程师都学过

    如何才能有效地学习RT-Thread?在越来越多的人迈入RT-Thread开发者行列,经常很多人会问....
    的头像 jf_35791075 发表于 05-24 09:40 4次 阅读
    如何移植RT-Thread工程师到32位单片机?这6个经典学习笔记,工程师都学过

    便携式手持补水仪芯片—DLT8P65SA图解

    审核编辑:符乾江
    发表于 05-23 17:05 12次 阅读
    便携式手持补水仪芯片—DLT8P65SA图解

    ARM指令对CPU有何意义

    一、汇编语言与C等高级语言的差异     1、汇编难写,C好写     2、汇编无可移植性,C语言有一定可移植...
    发表于 05-23 15:40 2698次 阅读

    CS5210_HDMI to VGA(不带音频)方案_规格书

    CS5210_HDMItoVGA(不带音频)方案
    发表于 05-23 15:37 3次 阅读

    CS5211_eDP转LVDS方案_规格书

    CS5211_eDP转LVDS方案
    发表于 05-23 15:37 3次 阅读

    CS5212_DP转VGA(内置Flash可更新FW)规格书

    CS5212_DP转VGA(内置Flash可更新FW)
    发表于 05-23 15:37 4次 阅读

    CS5213_HDMI转VGA(带音频)单转方案_规格书

    CS5213_HDMI转VGA(带音频)单转方案
    发表于 05-23 15:37 4次 阅读

    CS5216_DP to HDMI(1080P)方案_规格书

    CS5216_DPtoHDMI(1080P)方案
    发表于 05-23 15:36 4次 阅读

    CS5218_DP转HDMI(4K@30Hz)方案_规格书

    CS5218_DPtoHDMI(4K@30Hz)方案
    发表于 05-23 15:36 5次 阅读

    CS5220HDMI转VGA(内置Flash可更新FW)方案

    CS5220_HDMI转VGA(内置Flash可更新FW)方案
    发表于 05-23 15:32 3次 阅读

    CS5261_Type-C转HDMI(4k@30Hz)规格书

    CS5261_Type-C转HDMI4k@30Hz
    发表于 05-23 15:32 3次 阅读

    CS5262_DP转HDMI(4k@60Hz)+VGA规格书

    CS5262_DP转HDMI(4k@60Hz)+VGA
    发表于 05-23 15:24 3次 阅读

    CS5263_DP转HDMI 4k@60Hz单转方案_规格书

    CS5263_DP转HDMI4k@60Hz单转方案
    发表于 05-23 15:24 3次 阅读

    CS5265_Typoe-C转HDMI 4K@60Hz规格书

    CS5265_Typoe-C转HDMI4K@60Hz
    发表于 05-23 15:24 4次 阅读

    CS5266_Type-C转HDMI+USB3.0+PD快充

    CS5266_Type-C转HDMI+USB3.0+pd3.0+usb3.0
    发表于 05-23 15:20 4次 阅读

    CS5267_Type-C转HDMI带PD3.0方案_规格书

    CS5267_USB-CtoHDMI4K@60Hz+PD3.0(NoUSB3.0)
    发表于 05-23 15:20 5次 阅读

    CS5268_Type-C转HDMI多功能拓展坞设计资料

    CS5268_USB-CtoHDMI4K@30Hz+VGA+PD3.0(+USB3.0)
    发表于 05-23 15:19 3次 阅读

    CS5269_USB-C转HDMI+VGA+PD3.0规格书

    CS5269_USB-C转HDMI4K@60Hz+VGA+PD3.0(NoUSB3.0)
    发表于 05-23 15:14 6次 阅读

    一文弄懂ARM芯片的地址重映射

    映射就是一一对应的意思。重映射就是重新分配这种一一对应的关系。 我们可以把存储器看成一个具有输出和输入口的黑盒子。如下图...
    发表于 05-23 15:03 1544次 阅读

    基于GD32F450的高级定时器实现六步换向

    一、六步换向 六步换向是针对直流无刷电机的一种较简单的控制算法,三相导通顺序循环按照(A,B),(C,B),(C,A),(B,...
    发表于 05-23 14:34 1088次 阅读

    生物信号采集处理系统的心电描记“新发现”

    心脏在机体内处于体液所构成的容积导体之中,在心脏兴奋的除 极和复极过程中可出现电耦,因而在容积导体中....
    发表于 05-23 13:48 34次 阅读
    生物信号采集处理系统的心电描记“新发现”

    内存管理模块mem_malloc介绍及测试验证实验

    本次给大家分享一位大佬写的应用于单片机内存管理模块mem_malloc,这个mem_malloc的使....
    的头像 FPGA之家 发表于 05-23 11:57 208次 阅读

    段码屏与串口屏的区别是什么

    通常来说串口屏就是通过串口控制的液晶屏,详细定义:一套由单片机或PLC带控制器的显示方案,显示方案中....
    发表于 05-23 10:26 19次 阅读

    开源轻量级单片机命令行交互项目

    相关的设置在按下sapce键选中后,按enter可进行相关参数配置。然后让 RT-Thread 的包....
    的头像 小麦大叔 发表于 05-23 09:52 122次 阅读

    单片机开发入门知识介绍

    单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器R....
    的头像 DS小龙哥-嵌入式技术 发表于 05-23 09:01 200次 阅读

    CH552T的AD损坏是什么原因导致?

    最近客户返回一些控制,发现CH552T的AD为0,AD用的P1.1,平。4,P1.5和P3.2,开始功能都正常,运行两天后不正常,发现...
    发表于 05-23 07:45 63次 阅读

    数字旋钮编程的详细解析

    数字旋钮编程思路和技巧
    的头像 刘学NRT 发表于 05-21 09:31 124次 阅读
    数字旋钮编程的详细解析

    单片机多功能调试助手下载

    单片机多功能调试助手下载入口。
    发表于 05-20 17:19 30次 阅读

    简约便携加湿器专用芯片—DLTAP701SC概述

    一、产品组成 1个机械按键,1个2.4M雾化片,1个无源蜂鸣器,1个风扇,1路灯输出; 二、产品功能....
    发表于 05-20 15:46 181次 阅读
    简约便携加湿器专用芯片—DLTAP701SC概述