汇编语言(主要是PIC)有代码规范吗?
汇编语言(主要是PIC)有代码规范吗?
我找到了一个汇编语言风格指南(PDF),你可能会感兴趣。指南链接:Assembly Language Style Guide(PDF)
编写汇编代码时,每行注释是非常有帮助的,而且并不过分。
这取决于您是使用汇编语言编程还是使用c编译器为您创建汇编代码。如果性能很重要,请不要使用c编译器,自己编写汇编代码。
但一般来说,惯例是对每行进行注释,使用具有有意义指针名称的简单子程序。有些事情您会在块上进行注释,例如:
start: movlw 0x24 // \
movf count // put 24 into count
MyCount: decfsz count //decrement count and exit if done
goto myCount //do the loop
goto exit //count is done exit
这是典型的编码方式,第一列用于地址指针,下一列为命令和相关变量,通常在实际程序之前的头部区域定义变量,但这依赖于您使用的汇编器。有些汇编器不提供变量指针选项,您必须使用直接内存位置。如果您查看从反汇编器返回的注释代码,它会像这样:
0020 movlw 0x24
0021 movf 0x25 // 0x25 = memory address of count
0022 decfsz 0x25
0023 goto 0x0022 // loop back to 0x22 until count = 0
0024 goto 0x01FF
我赞成Jason S的看法——如果有可能,尽量使用C编译器,即使你最终需要在".c"文件中使用"__asm"关键字嵌入几行汇编语言。
如果你必须为PIC编写整个汇编程序,推荐的函数调用约定是在 PIClist: PIC Paging and PCLATH。
我认为没有正式的东西,但是在他们网站上阅读编码示例可以让你尝试通常的习语。只需注意,有许多来自不同爱好者的“贡献”,它们可能不那么好。
还要检查其他项目,大多数都会有丑陋的代码;但你会找到一两个宝石。
我从未在PIC上编程,但喜欢阅读代码。我模糊地记得有一个“实时操作系统”,具有非常好和清晰的执行流程。我不记得编码风格有多一致,但我会从那里开始。
最好阅读其中大部分,并使其像散文一样容易,那么你就会找到自己的风格。
这真的取决于您使用的PIC型号。例如,PIC16和PIC18有很多汇编示例可以在网上轻松找到。
然而,像PIC24和PIC32这样的型号更加适合C语言。在特定PIC型号的网站上可以找到许多用C编写的PIC示例。这些PIC型号仍然可以用汇编语言编程,但是如何编程的网络示例非常少。最好的资源是MPLAB中的“帮助”,检查您的PIC型号所使用的“汇编器”的“帮助内容”。这将向您展示一些示例以及有关如何在PIC汇编中编程并完成简单的PIC任务(例如定义内存或编写宏)的说明。