您的位置 首页 培训

运用Keil软件编写汇编源程序应注意事项

1)一定要使用微软的txt文本编辑器,否则键入逗号时编译通不过。应该是这个样('),不该是这个样(,)。2)用数字做标号时,前面一定要加一个

1)一定要运用微软的txt文本编辑器,不然键入逗号时编译通不过。应该是这个样('),不该是这个样(,)。

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 “

阐明:告知汇编程序从指定的地址单元开端,界说若干字节存储单元,并赋初值。用法:标号 DB XXH,XXH,XXH (若干字节存储单元及其初值)。例如: TAB: DB 60H,32H,16H,80H,54H,90H,35H,————-等等许多。像这样的字符串应在一行内输入完结,如另起一行,编译不经过,提示过错。假如字符串太多太长有必要另起一行,则需在另一行的前面再增加一条伪指令‘DB’,后边输入赋值的字符串,只需这样才干编译经过。

14)相同的“跳转指令连同后边标号”在程序中能够呈现屡次,但跳转到方针处的“标号”有必要是仅有的,不然程序会呈现紊乱。

15) 助记符后边的当即数,十六进制数榜首位是字母的情况下前面有必要加零‘0’, 是数字时不论他。如:MOV #A2H, A2H前面要加 ‘0’ ,即0A2H。不然编译通不过。

16) 欲使整个主程序循环起来,肯定调转指令‘AJMP’应加入到主程序和延时子程序之间,加到延时子程序之后不起作用。

17) 将编写好的汇编源程序.txt文本文件仿制到Kiel软件中,句子后边的分号、注释不呈现绿色这是不正常的,编译不会经过,需求更正,删去分号从头键入分号;按一次Back Space鍵(退格键)删去时会呈现乱码,由于Keil对中文支撑欠好(只需更改的是中文就会呈现乱码),只需接连按2次退格键即可删去乱码从头键入分号(或中文)即可,这样分号及注释都会变成绿色。

18) 键入注释有必要翻开大写鍵鍵入分号,不然(不是绿色)编译通不过。

19) 编译好的.ASM文件仿制时,张贴的意图文件夹有必要是封闭的状况,不然张贴曩昔的文件中的中文会呈现乱码(对中文支撑欠好的原因)。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/261390.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部