五、sdcc 常用命令
1、查看c语言生产的汇编
- sdcc -mstm8 -S -c main.c -o main.asm
- _main:
- ; main.c: 23: CLK_CKDIVR = 0; //16MHz
- mov 0x50c6+0, #0x00
- ; main.c: 24: setbit(pb.ddr,5);//设置pb5为输出
- ld a, _pb+2
- or a, #0x20
- ld _pb+2, a
- ; main.c: 25: setbit(pb.cr1,5);//设置pb5为推挽输出,实际不存在:)
- ld a, _pb+3
- or a, #0x20
- ld _pb+3, a
- ; main.c: 26: while(1)
- 00102$:
- ; main.c: 28: setbit(pb.odr,5); //高电平灭
- ld a, _pb+0
- or a, #0x20
- ld _pb+0, a
- ; main.c: 29: delay(100000L);
- push #0xa0
- push #0x86
- push #0x01
- push #0x00
- call _delay
- addw sp, #4
- ; main.c: 30: rstbit(pb.odr,5); //低电平亮
- ld a, _pb+0
- and a, #0xdf
- ld _pb+0, a
- ; main.c: 31: delay(300000L);
- push #0xe0
- push #0x93
- push #0x04
- push #0x00
- call _delay
- addw sp, #4
- jra 00102$
- ; main.c: 33: }
- ret
2、查看flash使用情况
查看自动生成的.map文件,包括内存和flash使用。其中flash主要看code段
|