使用as8051 来汇编汇编程序:as8051 -o -l -s xx.asm
源代码与Keil C的稍许不同
对于已经习惯使用Keil C的用户需要注意一下,SDCC的源代码和Keil C有所不同,需要做一点调整才能编译通过.SDCC比较多的使用像8051.h这样的头文件(include/mcs51目录下也有reg51.h这样的头文件).
对于一些非ANSI C的关键字,SDCC均采用双下滑线开头的方式定义,如__code,__idata,__sbit......对于单片机引脚的定义SDCC采用了 __at关键字和十六进制地址(用户对底层地址信息要弄清楚,不过我觉得__at关键字是一个比较有特色的改进),如下:个人建议还是用#define 来定义引脚方便
//SDCC Keil C
__sbit __at
0x94
blackLineLeft
;
sbit blackLineLeft
=P1
^
4
;
__sbit __at
0x95
blackLineRight
;
sbit blackLineRight
=P1