使用Keil软件编写汇编源程序应注意事项
2) 用数字做标号时,前面一定要加一个英文字母,否则编译通不过。
3) 有时编译通过的.asm源文件却不产生.hex文件!原因是keil软件的设置没有勾选“产生hex文件;另一个是存放.hex的文件夹中删除过其他的.hex
文件。
4) 用VU2新建文件键入源程序时,先键入程序部分,编译后,再键入注释部分;此外,不能用中文输入法输入分号,最好用大写输入程序部分及注释部分前面的分号,否则注释部分前面的分号显示不正确,编译通不过
5) 输入的标号应成对出现,无论是标号还是标号地址(跳转指令后面和标号相同的字符串)只要单独出现,编译通不过并提示错误!
6) 编写程序要注意它的逻辑性,完整性,否则不会完成预期的功能。
如:要编写一个使单个发光二极管闪烁的程序,首先确定是哪一个发光二极管闪烁;使其闪烁必须满足:亮——延时(保持亮)——暗——延时(保持暗)——再亮这样一个须要2次延时的完整周期,延时时间符合人眼视滞规律,不少于20ms
7) 助记符后面的立即数,如果有2个应该用逗号隔开,语法规定:如果只有一个应舍去逗号,否则语法错误,通不过。
8)每一条指令前面不应有顺序号(按照程序编写的顺序人为编排的顺序号),否则,语法错误,编译通不过。
9) 在程序中各功能块之间不能用连续的’*****’或‘----------’隔开。如想隔开,前面必须加 ‘;’,分号后面再用连续的’*******’或‘-----------’。
10)用复制的方法将.txt文件复制到Keil软件中去,必须把扩展名更改为‘.ASM’ ,然后‘保存’、‘添加文件’三步之后,程序中的指令字体会变成蓝色,注释字体变成绿色这样才能‘编译’,‘建造.HEX文件’,否则提示错误!有时能通过,但不产生.HEX文件。
11)寄存器不能重复使用,如:在主程序中已经使用R0(不光是R0,其他寄存器也是如此), 主程序的其他地方不能再使用;子程序中也不能重复,否则程序运行不正常,但编译能通过。
12) 编写双向单路流水灯时,选择第一个灯亮从P0.0还是P0.7开始,这个选择和流向要一致,否则会出现‘亮灯’从这一端开始,而流向的第一只灯却是另一端的第一只灯。其现象:从这一端开始流向另一端前,‘亮灯’会从开始的这一端直接跳到另一端再跳回来才开始正常流动。编译能通过,’.HEX’文件能产生。
13) 伪指令: 定义字节命令(并赋初值)—— “DB “
14)同样的“跳转指令连同后面标号”在程序中可以出现多次,但跳转到目标处的“标号”必须是唯一的,否则程序会出现混乱。
15) 助记符后面的立即数,十六进制数第一位是字母的情况下前面必须加零‘0’, 是数字时不管他。如:MOV
16) 欲使整个主程序循环起来,绝对调转指令‘AJMP’应加入到主程序和延时子程序之间,加到延时子程序之后不起作用。
17) 将编写好的汇编源程序.txt文本文件复制到Kiel软件中,语句后面的分号、注释不呈现绿色这是不正常的,编译不会通过,需要更正,删除分号重新键入分号;按一次Back Space鍵(退格键)删除时会出现乱码,因为Keil对中文支持不好(只要更改的是中文就会出现乱码),只要连续按2次退格键即可删除乱码重新键入分号(或中文)即可,这样分号及注释都会变成绿色。
18) 键入注释必须打开大写鍵鍵入分号,否则(不是绿色)编译通不过。
19) 编译好的.ASM文件复制时,粘贴的目的文件夹必须是关闭的状态,否则粘贴过去的文件中的中文会出现乱码(对中文支持不好的缘故)。
Keil软件编写汇编源程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)