[计算机]汇编语言常见错误分析.doc_第1页
[计算机]汇编语言常见错误分析.doc_第2页
[计算机]汇编语言常见错误分析.doc_第3页
[计算机]汇编语言常见错误分析.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机汇编语言常见错误分析 2009年07月12日 星期日 12:44单片机汇编语言常见错误分析发布: 2009-4-04 00:27 | 作者: hnrain | 查看: 55次o;F-w W1y0s S)D S0一、汇编软件汇编失败原因分析:电子园51单片机学习网 O.N n!jw9q iq :M4m;D1v;O0 这里采用Keil C51软件包中的宏汇编器A51作为编绎器,单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成汇编失败,常见的汇编错误如下:X A#4c:w r R%E0 I P T3A1P+P4o T b 0电子园51单片机学习网 w&8v%A v(N1. 标号重复:%n&x V H r0 常见于复制、粘贴程序时忘记修改标号,造成出现多个相同的标号,标号是不允许重复的。电子园51单片机学习网 W&N .W X 9OU N O g y2h0v2h%E c!8s.m j y02标点符号以全角方式输入:J Du y ? H d0 汇编程序要求标点符号为半角方式,否则汇编失败。可以在输入:,;时切换到半角方式,或者在大写状态输入标点符号,这也是很容易犯而且不容易发觉的错误。电子园51单片机学习网,z T ?& Ea j电子园51单片机学习网 A h Hj V!I #P X1W G _03数值FFH 前遗漏0:4q0b5B p F0 根据要求应该在af前加0,写成0FFH 6g6J Z8a(v u N0 /*y v .Nl:o Z X(J0w Y1m F U/_04字母O和数字0搞混:&| o2i1y/H#V Z ?0 有时候这两个字看上去完全相同,要注意哦,_l&m Y*0 电子园51单片机学习网*U u i$D e t1P7g )H 7n z*f | P4q0d i)05标号后边遗漏:电子园51单片机学习网 W m 8M9N I e o U电子园51单片机学习网8| (o9B z o#H;D 电子园51单片机学习网Y& I S w+O b M1k w 86标号使用了特殊字符:电子园51单片机学习网 z m(b Y 标号不能用指令助记符、伪指令、特殊功能寄存器名和8051在指令系统中用的“#”、“”等,长度以26字符为宜,第一字母必须是英文字母。比如:T1、T2、A、B这些字符有特定的含义,不允许用于标号。电子园51单片机学习网.T r4b9G4d zP;R1X3x/X L5O,A I e0电子园51单片机学习网9X4N4q L(l ? S u7AJMP跳转超过2K地址:r I E3k/h g U8k&U0 AJMP属于短跳转命令,有2K地址范围的限制。电子园51单片机学习网 k v b%H3a P 电子园51单片机学习网*h x(T) Q 电子园51单片机学习网0p6W j p n A A&?5l4P8超过地址范围:电子园51单片机学习网,C V b9L J8V%h S N JB P3.2,EXIT跳转超过128127个地址范围。这个是最容易出现的错误!你有可能程序刚才还能汇编编译成功,你加了一段程序后程序就提示出错了,你可以把电子园51单片机学习网1l A o J P!L R E FJB P3.2,EXIT电子园51单片机学习网 g m B)J v转换成电子园51单片机学习网;h*i X D v:fJNB 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/k!b电子园51单片机学习网 k;d l#G M电子园51单片机学习网3j I:V T1O& r 电子园51单片机学习网4h WP k B jv1p v r e o9.字母I和数字1混淆:h _3Q0f5h+J a 0 冒失鬼的常见问题。V%t g(sF#h G f0 电子园51单片机学习网 L.E f _6e9P S4v 电子园51单片机学习网 O7Ei x O/XNk;u10.创造发明不存在的汇编语言指令:g2m SJE i0 在编写程序程序的过程中可不欢迎这种创新,这种指令汇编程序不支持,芯片也不认可。)I i$N)s#N3m,T0 7l 8z G4a l+&o0T2C H Q k2K 6S2O 011.符号“:”“;”最好用半角书写。电子园51单片机学习网8B#H h8a4k1e(-_ a/t电子园51单片机学习网7Z D-b Hb E G ?+v W6f0 电子园51单片机学习网#O9e$Z h5T A9H 二、程序出错:电子园51单片机学习网 d4 q:a r8H电子园51单片机学习网 _m O J46b tX$a2HM T1Iv |07Y7nR ,N p 4C R01寄存器重复调用:K7N2t3N7P$X E0e0 比如主程序中设定了R45,表示主程序循环执行5次,而其中的一个延时子程序又用到R4,使R4的值发生紊乱,造成程序无法正常执行。 J1S s t0 1BV;n j0z w0电子园51单片机学习网 T fk*Q&s Q P q:h+u I2硬件不熟悉:电子园51单片机学习网 y i$ ? q x I c!e k 单片机一般采用下拉输出,往往端口输出0驱动外设工作,和常见的正逻辑相反,容易搞错。电子园51单片机学习网)w&wr (_ uq3? G3f g+N6 V0 3Y w v!r!Q U.p0 电子园51单片机学习网 E.X( b ,D 三、指令系统常用符号和含义!a7?Q X P0 电子园51单片机学习网 ?4q J q U8g;U c6e (1)Ri:工作寄存器0和工作寄存器1,i=0或1。即R0R1。电子园51单片机学习网5c/y#E*? i-y t电子园51单片机学习网9kF o M/O (2)Rn:工作寄存器R0R7,n=07。$i Y U(o a&V y&t0 电子园51单片机学习网9C, c$L N o y!A4G (3)Ri:寄存器Ri间接寻址8位存储器单元00HFFH。电子园51单片机学习网-f$o h:Q&q8? W3L g+E电子园51单片机学习网#I+?.6(Z q o7i (4)direct:8位直接地址,它可以是内RAM 00H7FH或SFR的80HFFH。5K4k1 hC f0W N z0 K7s-| h b0&G _0(5)#data:8位立即数。Z A R G C0 | r4l1? E g t x46L0(6)#data16:16位立即数。电子园51单片机学习网#d r a%W%gq U u k E电子园51单片机学习网 B G&B/m ;i#j$c!d.i)Y (7)addr16:16位目的地址。用于LCALL和LJMP指令,能调用或转移到64K程序存储器空间的任何地方。f. X Z0 电子园51单片机学习网 s;d.T D D3T D b;u _ (8)addr11:11位目的地址。用于ACALL和AJMP指令,可在下条指令地址所在的2K字节页面内调用或转移。电子园51单片机学习网1r#D-L X h电子园51单片机学习网 p$| o o.O (9)rel:带符号的8位偏移地址,用于SJMP和所有的条件转移指令。其范围是相对于下一条指令第1字节地址的128+127个字节。电子园51单片机学习网 p%? I F O e&e p g!H(u#p电子园51单片机学习网(1J& a5m 1W,v (10)DPTR:数据指针,可用作16位的地址寄存器。L y(N g!W-b4M m:D0 + K!p&,I:n Y x0(11)bit:位地址。片内RAM中的可位寻址及SFR中的可寻址位。j |4n7g0 电子园51单片机学习网f B V/H O1F (12)A:累加器Acc。电子园51单片机学习网 _ |:V4h j*|-s(u-|.Q2O.O4 A6t jN0(13)B:通用寄存器,主要用于乘法MUL和除法DIV指令中。电子园51单片机学习网 G( D X _.a a电子园51单片机学习网.h! W V N*_ (14)Cy:进位标志位或布尔处理器中的累加器。-|2W C&Yj0 电子园51单片机学习网&F7W&y l8t&C Z (15):间接寄存器或基址寄存器的前缀。如Ri,DPTR,A+PC,A+DPTR。%w/D P 0K3C p S H0 电子园51单片机学习网 e K* F6SS c H0p h7P b4| R0 ,T I m I+n/x0编写汇编语言的忠告:电子园51单片机学习网 z a e3+I t:x 电子园51单片机学习网 V3I F0n!4F | t q l+v 要养成良好的程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论