[计算机]汇编语言常见错误分析.doc

单片机汇编语言常见错误分析 2009年07月12日 星期日 1244单片机汇编语言常见错误分析发布 2009-4-04 0027 | 作者 hnrain | 查看 55次o;F-w W1y0s SD S0一、汇编软件汇编失败原因分析电子园51单片机学习网 O.N njw9q iq M4m;D1v;O0 这里采用Keil C51软件包中的宏汇编器A51作为编绎器,单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成汇编失败,常见的汇编错误如下X A4cw r RE0 I P T3A1PP4o T b 0电子园51单片机学习网 w8vA vN1. 标号重复nx V H r0 常见于复制、粘贴程序时忘记修改标号,造成出现多个相同的标号,标号是不允许重复的。电子园51单片机学习网 WN .W X 9OU N O g y2h0v2hE c8s.m j y02标点符号以全角方式输入J Du y H d0 汇编程序要求标点符号为半角方式,否则汇编失败。可以在输入,;时切换到半角方式,或者在大写状态输入标点符号,这也是很容易犯而且不容易发觉的错误。电子园51单片机学习网,z T Ea j电子园51单片机学习网 A h Hj VI P X1W G _03数值FFH 前遗漏04q0b5B p F0 根据要求应该在af前加0,写成0FFH 6g6J Z8av u N0 /*y v .Nlo Z XJ0w Y1m F U/_04字母O和数字0搞混| o2i1y/HV Z 0 有时候这两个字看上去完全相同,要注意哦,_lm Y*0 电子园51单片机学习网*U u iD e t1P7g H 7n z*f | P4q0d i05标号后边遗漏电子园51单片机学习网 W m 8M9N I e o U电子园51单片机学习网8| o9B z oH;D 电子园51单片机学习网Y I S wO b M1k w 86标号使用了特殊字符电子园51单片机学习网 z mb Y 标号不能用指令助记符、伪指令、特殊功能寄存器名和8051在指令系统中用的“”、“”等,长度以26字符为宜,第一字母必须是英文字母。比如T1、T2、A、B这些字符有特定的含义,不允许用于标号。电子园51单片机学习网.T r4b9G4d zP;R1X3x/X L5O,A I e0电子园51单片机学习网9X4N4q Ll S u7AJMP跳转超过2K地址r I E3k/h g U8kU0 AJMP属于短跳转命令,有2K地址范围的限制。电子园51单片机学习网 k v bH3a P 电子园51单片机学习网*h xT Q 电子园51单片机学习网0p6W j p n A A5l4P8超过地址范围电子园51单片机学习网,C V b9L J8Vh S N JB P3.2,EXIT跳转超过128127个地址范围。这个是最容易出现的错误你有可能程序刚才还能汇编编译成功,你加了一段程序后程序就提示出错了,你可以把电子园51单片机学习网1l A o J PL R E FJB P3.2,EXIT电子园51单片机学习网 g m BJ v转换成电子园51单片机学习网;h*i X D vfJNB P3.2,LD01.k A g V-m8_0AJMP EXITO w7M h N 5D Q Y;y;0LD01 AJMP EXIT电子园51单片机学习网 k-R J D/kb电子园51单片机学习网 k;d lG M电子园51单片机学习网3j IV T1O r 电子园51单片机学习网4h WP k B jv1p v r e o9.字母I和数字1混淆h _3Q0f5hJ a 0 冒失鬼的常见问题。Vt gsFh G f0 电子园51单片机学习网 L.E f _6e9P S4v 电子园51单片机学习网 O7Ei x O/XNk;u10.创造发明不存在的汇编语言指令g2m SJE i0 在编写程序程序的过程中可不欢迎这种创新,这种指令汇编程序不支持,芯片也不认可。I iNsN3m,T0 7l 8z G4a lo0T2C H Q k2K 6S2O 011.符号“”“;”最好用半角书写。电子园51单片机学习网8BH h8a4k1e-_ a/t电子园51单片机学习网7Z D-b Hb E G v W6f0 电子园51单片机学习网O9eZ h5T A9H 二、程序出错电子园51单片机学习网 d4 qa r8H电子园51单片机学习网 _m O J46b tXa2HM T1Iv |07Y7nR ,N p 4C R01寄存器重复调用K7N2t3N7PX E0e0 比如主程序中设定了R45,表示主程序循环执行5次,而其中的一个延时子程序又用到R4,使R4的值发生紊乱,造成程序无法正常执行。 J1S s t0 1BV;n j0z w0电子园51单片机学习网 T fk*Qs Q P qhu I2硬件不熟悉电子园51单片机学习网 y i q x I ce k 单片机一般采用下拉输出,往往端口输出0驱动外设工作,和常见的正逻辑相反,容易搞错。电子园51单片机学习网wwr _ uq3 G3f gN6 V0 3Y w vrQ U.p0 电子园51单片机学习网 E.X b ,D 三、指令系统常用符号和含义a7Q X P0 电子园51单片机学习网 4q J q U8g;U c6e (1)Ri工作寄存器0和工作寄存器1,i0或1。即R0R1。电子园51单片机学习网5c/yE* i-y t电子园51单片机学习网9kF o M/O (2)Rn工作寄存器R0R7,n07。i Y Uo aV yt0 电子园51单片机学习网9C, cL N o yA4G (3)Ri寄存器Ri间接寻址8位存储器单元00HFFH。电子园51单片机学习网-fo hQq8 W3L gE电子园51单片机学习网I.6Z q o7i (4)direct8位直接地址,它可以是内RAM 00H7FH或SFR的80HFFH。5K4k1 hC f0W N z0 K7s-| h b0G _0(5)data8位立即数。Z A R G C0 | r4l1 E g t x46L0(6)data1616位立即数。电子园51单片机学习网d r aWgq U u k E电子园51单片机学习网 B GB/m ;ijcd.iY (7)addr1616位目的地址。用于LCALL和LJMP指令,能调用或转移到64K程序存储器空间的任何地方。f. X Z0 电子园51单片机学习网 s;d.T D D3T D b;u _ (8)addr1111位目的地址。用于ACALL和AJMP指令,可在下条指令地址所在的2K字节页面内调用或转移。电子园51单片机学习网1rD-L X h电子园51单片机学习网 p| o o.O (9)rel带符号的8位偏移地址,用于SJMP和所有的条件转移指令。其范围是相对于下一条指令第1字节地址的128127个字节。电子园51单片机学习网 p I F O ee p gHup电子园51单片机学习网1J a5m 1W,v (10)DPTR数据指针,可用作16位的地址寄存器。L yN gW-b4M mD0 Kp,In Y x0(11)bit位地址。片内RAM中的可位寻址及SFR中的可寻址位。j |4n7g0 电子园51单片机学习网f B V/H O1F (12)A累加器Acc。电子园51单片机学习网 _ |V4h j*|-su-|.Q2O.O4 A6t jN0(13)B通用寄存器,主要用于乘法MUL和除法DIV指令中。电子园51单片机学习网 G D X _.a a电子园51单片机学习网.h W V N*_ (14)Cy进位标志位或布尔处理器中的累加器。-|2W CYj0 电子园51单片机学习网F7Wy l8tC Z (15)间接寄存器或基址寄存器的前缀。如Ri,DPTR,APC,ADPTR。w/D P 0K3C p S H0 电子园51单片机学习网 e K* F6SS c H0p h7P b4| R0 ,T I m In/x0编写汇编语言的忠告电子园51单片机学习网 z a e3I tx 电子园51单片机学习网 V3I F0n4F | t q lv 要养成良好的程序书写习惯,比如标号对齐、参数对齐、注释对齐,这样看起来赏心悦目,也不容易出错。标号最好采用有意义的英文,这样比较直观,注释尽量详细准确,便于以后读懂,而且有利于其它程序中作为子程序模块的调用。还有要注意典型程序模块的积累,再复杂的程序也是由一个个小程序模块组成的,在初学阶段可以对典型程序比如延时子程序、查表子程序、按键消抖子程序等编写实践一次,这样印象深刻,便于以后引用。

c51单片机汇编语言语法错误,[计算机]汇编语言常见错误分析.doc相关推荐

  1. 单片机c语言too many actual parameter,keil c语言编程常见错误分析.doc

    keil c语言编程常见错误分析.doc 1. Warning 280:'i':unreferenced local variable 说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i ...

  2. c51单片机汇编语言语法错误,单片机汇编语言常见错误知识点分析

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

  3. 计算机汇编语言教程pdf,计算机汇编语言入门.pdf

    计算机汇编语言入门 微处理器体系结构 基本微处理器设计 由时钟同步所有CPU 操作 控制器(CU) 协调各执行步骤的顺序 运算器(ALU) 进行算术运算和逐位处理 时钟 同步所有CPU 和总线操作 机 ...

  4. c语言初学者常见错误归纳,C语言中常见错误分析.doc

    C语言中常见错误分析 摘要:C语言是许多高校开设的第一门程序设计语言,使用方便灵活.根据C语言的特点,并结合实际教学,对在编程中经常遇到的错误进行分析.总结,为初学者尽快掌握C语言,提高程序设计水平提 ...

  5. c51单片机汇编语言语法错误,关于51单片机汇编语言一些注意事项

    电子信息类专业在大学必修的一门功课就是51单片机,这是最最基础的单片机,所以学好它很重要. 对单片机编程相对比较简单:1.用简单的C语言(不需要C++或C#的高级编程思想,只要你国家计算机等级考试二级 ...

  6. c51单片机汇编语言语法错误,关于c51单片机交通灯汇编程序怎么加一个紧急状态按键的问题...

    能不能在这个交通灯系统里,加上一个紧急状态按键,使所有红灯亮. 单片机程序在下面: ORG 0000H ;主函数地址 LJMP MAIN ORG 000BH ;中断定时器0 地址 LJMP INTER ...

  7. 汇编语言编译器masm_计算机汇编语言和指令操作

    机器语言 每种类型的CPU都能理解它们自己的机器语言.机器语言里的指令是以字节形式在内存中储存的数字.每条指令有它唯一的数字码称为操作代码,或简称为操作码.80x86处理器的指令大小不同.操作码通常是 ...

  8. matlab错误原因,matlab常见错误分析

    这里是几个Matlab的小提示,基本上是我使用Matlab时碰到并解决了的问题,希望能使别人不要再碰钉子走弯路了.如果有建议或发现其中有错误,请与我联系. 循环变量 由于历史的原因,程序员们总是使用i ...

  9. 关于计算机软件系统的知识,一些关于计算机的常见知识

    [导语]电子计算机(electroniccomputer),通称电脑,简称计算机(computer),是现代的一种利用电子技术和相关原理根据一系列指令来对数据进行处理的机器.计算机的种类按照其用途分为 ...

最新文章

  1. 03-2 BGP专有命令--BGP命令与配置手册
  2. 汇编语言笔记17-使用BIOS进行键盘输入和磁盘读写
  3. java:Eclipse:Juno:设置workspace路径
  4. ubuntu11.10安装arm-linux-gcc详解
  5. 零配置 之 Spring注解实现Bean定义
  6. org-mode入门教程
  7. java定义基础变量语句_编程语言第一:JAVA语言基础,变量
  8. MS-SQL 时间的操作
  9. Online Judge系统常见返回信息分析
  10. SPS :SPS 2003 安装过程中的语言版本问题。
  11. angularJS指令
  12. MVC操作SQL数据库增删改查
  13. vue-计算属性不能直接修改
  14. 软件dfmea_最全最专业解析!详解DFMEA新版六步法~fmea软件
  15. android自定义4级联动,使用Android如何实现四级联动地址选择器
  16. 全球地区选择,支持中英文切换。国家-省市-城市-地区
  17. 欧拉回路 - 铲雪车 - AcWing 1123
  18. 在html中设置全局字体样式
  19. Ubuntu中编译linux内核后使用make menuconfig报错的解决办法
  20. 00812中国现当代作家作品专题研究简答论述题【湖北卷2110考期】

热门文章

  1. 认识wang域名吗?从wang域名使用情况分析投资价值
  2. 一个有趣的问题 : α_β_γ_δ_ε_ζ_η_θ_ι_κ_λ_μ_ν怎么读
  3. Locust:简介和基本用法
  4. SpringBoot中,使用WxJava SDK 实现微信小程序登录
  5. python筛选股票_GitHub - sundroid/stock_pick: 这时一个通过设定选股条件来帮我们筛选股票的python程序...
  6. leetcode:36. 有效的数独
  7. 狂神JUC——7大参数及自定义线程池
  8. Codeforces: TMT Document
  9. 解决Win7添加网络打印机报错0x000003e3
  10. python excelwriter保存路径_Python自动化处理Excel报表,我的工作更轻松了!