📄 main.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.9.10 - 10 Feb 2011
3 ; Generator (Limited) V4.3.6 - 15 Feb 2011
2776 bsct
2777 0000 _table0:
2778 0000 b9e3b6abb9a4 dc.b 185,227,182,171,185,164
2779 0006 d2b5b4f3d1a7 dc.b 210,181,180,243,209,167,0
2780 000d _table1:
2781 000d b5e7d7d3bfc6 dc.b 181,231,215,211,191,198
2782 0013 bcbcd0adbbe1 dc.b 188,188,208,173,187,225,0
2783 001a _table2:
2784 001a 207777772e67 dc.b " www.gdutelc.cn",0
2842 ; 11 void delay(uchar a)
2842 ; 12 {
2844 switch .text
2845 0000 _delay:
2847 0000 88 push a
2848 0001 88 push a
2849 00000001 OFST: set 1
2852 ; 14 for(a;a>0;a--)
2855 0002 200c jra L3102
2856 0004 L7002:
2857 ; 15 for(i=0;i<250;i++);
2859 0004 0f01 clr (OFST+0,sp)
2860 0006 L7102:
2864 0006 0c01 inc (OFST+0,sp)
2867 0008 7b01 ld a,(OFST+0,sp)
2868 000a a1fa cp a,#250
2869 000c 25f8 jrult L7102
2870 ; 14 for(a;a>0;a--)
2872 000e 0a02 dec (OFST+1,sp)
2873 0010 L3102:
2876 0010 0d02 tnz (OFST+1,sp)
2877 0012 26f0 jrne L7002
2878 ; 16 }
2881 0014 85 popw x
2882 0015 81 ret
2911 ; 17 void init_stm8(void)
2911 ; 18 {
2912 switch .text
2913 0016 _init_stm8:
2917 ; 19 PA_DDR=0x70;
2919 0016 35705002 mov _PA_DDR,#112
2920 ; 20 PA_CR1=0x70;
2922 001a 35705003 mov _PA_CR1,#112
2923 ; 21 PA_CR2=0x00;
2925 001e 725f5004 clr _PA_CR2
2926 ; 23 PB_DDR=0xff;
2928 0022 35ff5007 mov _PB_DDR,#255
2929 ; 24 PB_CR1=0xff;
2931 0026 35ff5008 mov _PB_CR1,#255
2932 ; 25 PB_CR2=0x00;
2934 002a 725f5009 clr _PB_CR2
2935 ; 26 }
2938 002e 81 ret
2963 ; 28 void init_12864(void)
2963 ; 29 {
2964 switch .text
2965 002f _init_12864:
2969 ; 30 write_com(0x38);
2971 002f a638 ld a,#56
2972 0031 ad15 call _write_com
2974 ; 31 write_com(0x0c);
2976 0033 a60c ld a,#12
2977 0035 ad11 call _write_com
2979 ; 32 write_com(0x06);
2981 0037 a606 ld a,#6
2982 0039 ad0d call _write_com
2984 ; 33 write_com(0x01);
2986 003b a601 ld a,#1
2987 003d ad09 call _write_com
2989 ; 34 write_com(0x80);
2991 003f a680 ld a,#128
2992 0041 ad05 call _write_com
2994 ; 35 RW=0;
2996 0043 721b5000 bres _RW
2997 ; 36 }
3000 0047 81 ret
3038 ; 38 void write_com(uchar com)
3038 ; 39 {
3039 switch .text
3040 0048 _write_com:
3044 ; 40 RS=0;
3046 0048 72195000 bres _RS
3047 ; 41 E=0;
3049 004c 721d5000 bres _E
3050 ; 42 PB_ODR=com;
3052 0050 c75005 ld _PB_ODR,a
3053 ; 43 delay(2);
3055 0053 a602 ld a,#2
3056 0055 ada9 call _delay
3058 ; 44 E=1;
3060 0057 721c5000 bset _E
3061 ; 45 E=0;
3063 005b 721d5000 bres _E
3064 ; 46 }
3067 005f 81 ret
3105 ; 48 void write_data(uchar data)
3105 ; 49 {
3106 switch .text
3107 0060 _write_data:
3111 ; 50 RS=1;
3113 0060 72185000 bset _RS
3114 ; 51 E=0;
3116 0064 721d5000 bres _E
3117 ; 52 PB_ODR=data;
3119 0068 c75005 ld _PB_ODR,a
3120 ; 53 delay(2);
3122 006b a602 ld a,#2
3123 006d ad91 call _delay
3125 ; 54 E=1;
3127 006f 721c5000 bset _E
3128 ; 55 E=0;
3130 0073 721d5000 bres _E
3131 ; 56 }
3134 0077 81 ret
3171 ; 57 void display(uchar *s)
3171 ; 58 {
3172 switch .text
3173 0078 _display:
3175 0078 89 pushw x
3176 00000000 OFST: set 0
3179 0079 2012 jra L1212
3180 007b L7112:
3181 ; 61 write_data(*s++);
3183 007b 1e01 ldw x,(OFST+1,sp)
3184 007d 1c0001 addw x,#1
3185 0080 1f01 ldw (OFST+1,sp),x
3186 0082 1d0001 subw x,#1
3187 0085 f6 ld a,(x)
3188 0086 add8 call _write_data
3190 ; 62 delay(200);
3192 0088 a6c8 ld a,#200
3193 008a cd0000 call _delay
3195 008d L1212:
3196 ; 59 while(*s>0)
3198 008d 1e01 ldw x,(OFST+1,sp)
3199 008f 7d tnz (x)
3200 0090 26e9 jrne L7112
3201 ; 64 }
3204 0092 85 popw x
3205 0093 81 ret
3235 ; 66 void main()
3235 ; 67 {
3236 switch .text
3237 0094 _main:
3241 ; 69 init_stm8();
3243 0094 ad80 call _init_stm8
3245 ; 70 init_12864();
3247 0096 ad97 call _init_12864
3249 ; 71 write_com(0x81);
3251 0098 a681 ld a,#129
3252 009a adac call _write_com
3254 ; 72 display(table0);
3256 009c ae0000 ldw x,#_table0
3257 009f add7 call _display
3259 ; 74 write_com(0x91);
3261 00a1 a691 ld a,#145
3262 00a3 ada3 call _write_com
3264 ; 75 display(table1);
3266 00a5 ae000d ldw x,#_table1
3267 00a8 adce call _display
3269 ; 76 write_com(0x88);
3271 00aa a688 ld a,#136
3272 00ac ad9a call _write_com
3274 ; 77 display(table2);
3276 00ae ae001a ldw x,#_table2
3277 00b1 adc5 call _display
3279 00b3 L5312:
3280 ; 78 while(1);
3282 00b3 20fe jra L5312
3357 xdef _main
3358 xdef _display
3359 xdef _write_data
3360 xdef _init_12864
3361 xdef _init_stm8
3362 xdef _delay
3363 xdef _write_com
3364 xdef _table2
3365 xdef _table1
3366 xdef _table0
3385 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -