📄 main.lis
字号:
0145 .dbline 289
0145 ; write_instruction ();
0145 9F3B xcall _write_instruction
0147 .dbline 291
0147 ;
0147 ; Data = PageAddressSet | yByte;
0147 5106 mov A,[_yByte]
0149 29B8 or A,-72
014B 6008 mov REG[0x8],A
014D .dbline 292
014D ; write_instruction ();
014D 9F33 xcall _write_instruction
014F .dbline 294
014F ;
014F ; Data = DisplayStartLine;
014F 6208C0 mov REG[0x8],-64
0152 .dbline 295
0152 ; write_instruction ();
0152 9F2E xcall _write_instruction
0154 .dbline 297
0154 ;
0154 ; Data = psoc_bmp[str];
0154 5105 mov A,[_str+1]
0156 0100 add A,<_psoc_bmp
0158 5300 mov [__r1],A
015A 5104 mov A,[_str]
015C 0900 adc A,>_psoc_bmp
015E 10 push X
015F 5800 mov X,[__r1]
0161 28 romx
0162 20 pop X
0163 6008 mov REG[0x8],A
0165 .dbline 299
0165 ;
0165 ; write_data ();
0165 9F06 xcall _write_data
0167 .dbline -2
0167 .dbline 302
0167 ;
0167 ;
0167 ; }
0167 L21:
0167 38FF add SP,-1
0169 20 pop X
016A .dbline 0 ; func end
016A 7F ret
016B .dbsym l a22 0 c
016B .dbend
016B .dbfunc e test_PSoC _test_PSoC fV
016B ; st -> X+0
016B _test_PSoC::
016B .dbline -1
016B 10 push X
016C 4F mov X,SP
016D 3801 add SP,1
016F .dbline 304
016F ;
016F ; void test_PSoC(){
016F .dbline 306
016F ; BYTE st;
016F ; str=0;
016F 550500 mov [_str+1],0
0172 550400 mov [_str],0
0175 .dbline 307
0175 550A00 mov [_x],0
0178 801C xjmp L28
017A L25:
017A .dbline 307
017A ; for (x=0;x<122;x++){
017A .dbline 309
017A 560000 mov [X+0],0
017D 800E xjmp L32
017F L29:
017F .dbline 309
017F .dbline 310
017F 5200 mov A,[X+0]
0181 5309 mov [_y],A
0183 .dbline 312
0183 9F83 xcall _test_logo
0185 .dbline 313
0185 7605 inc [_str+1]
0187 0E0400 adc [_str],0
018A .dbline 314
018A L30:
018A .dbline 309
018A 7700 inc [X+0]
018C L32:
018C .dbline 309
018C 3D0004 cmp [X+0],4
018F A003 jz X1
0191 CFED jc L29
0193 X1:
0193 .dbline 316
0193 L26:
0193 .dbline 307
0193 760A inc [_x]
0195 L28:
0195 .dbline 307
0195 3C0A7A cmp [_x],122
0198 A003 jz X2
019A CFDF jc L25
019C X2:
019C .dbline -2
019C .dbline 319
019C ;
019C ; for (st=0;st<4;st++) {
019C ; y=st;
019C ;
019C ; test_logo();
019C ; str++;
019C ; }
019C ;
019C ; }
019C ;
019C ;
019C ; }
019C L24:
019C 38FF add SP,-1
019E 20 pop X
019F .dbline 0 ; func end
019F 7F ret
01A0 .dbsym l st 0 c
01A0 .dbend
01A0 .dbfunc e display _display fV
01A0 _display::
01A0 .dbline -1
01A0 .dbline 324
01A0 ;
01A0 ;
01A0 ; //enable lcd
01A0 ;
01A0 ; void display() {
01A0 .dbline 325
01A0 ; Data = Display_OFF;
01A0 6208AE mov REG[0x8],-82
01A3 .dbline 326
01A3 ; write_instruction ();
01A3 9EDD xcall _write_instruction
01A5 .dbline 327
01A5 ; Ctrl &= ~CS1;
01A5 4104F7 and REG[0x4],-9
01A8 .dbline 328
01A8 ; Ctrl &= ~CS2;
01A8 4104EF and REG[0x4],-17
01AB .dbline 329
01AB ; Data = Display_ON;
01AB 6208AF mov REG[0x8],-81
01AE .dbline 330
01AE ; write_instruction ();
01AE 9ED2 xcall _write_instruction
01B0 .dbline -2
01B0 .dbline 331
01B0 ; }
01B0 L33:
01B0 .dbline 0 ; func end
01B0 7F ret
01B1 .dbend
01B1 .dbfunc e delay _delay fV
01B1 ; i -> X+0
01B1 ; delay_input -> X-5
01B1 _delay::
01B1 .dbline -1
01B1 10 push X
01B2 4F mov X,SP
01B3 3802 add SP,2
01B5 .dbline 337
01B5 ;
01B5 ;
01B5 ;
01B5 ;
01B5 ; void delay (INT delay_input)
01B5 ; {
01B5 .dbline 339
01B5 560100 mov [X+1],0
01B8 560000 mov [X+0],0
01BB 8006 xjmp L38
01BD L35:
01BD .dbline 339
01BD L36:
01BD .dbline 339
01BD 7701 inc [X+1]
01BF 0F0000 adc [X+0],0
01C2 L38:
01C2 .dbline 339
01C2 ; INT i;
01C2 ; for (i=0; i<delay_input; i++) ;
01C2 5200 mov A,[X+0]
01C4 3180 xor A,-128
01C6 5300 mov [__rY],A
01C8 52FB mov A,[X-5]
01CA 3180 xor A,-128
01CC 5300 mov [__rZ],A
01CE 550000 mov [__rX],0
01D1 5201 mov A,[X+1]
01D3 13FC sub A,[X-4]
01D5 2C00 or [__rX],A
01D7 5100 mov A,[__rY]
01D9 1A00 sbb A,[__rZ]
01DB 2C00 or [__rX],A
01DD CFDF jc L35
01DF X3:
01DF .dbline -2
01DF .dbline 340
01DF ; }
01DF L34:
01DF 38FE add SP,-2
01E1 20 pop X
01E2 .dbline 0 ; func end
01E2 7F ret
01E3 .dbsym l i 0 I
01E3 .dbsym l delay_input -5 I
01E3 .dbend
01E3 .dbfunc e ports_init _ports_init fV
01E3 _ports_init::
01E3 .dbline -1
01E3 .dbline 343
01E3 ;
01E3 ;
01E3 ; void ports_init () {
01E3 .dbline 345
01E3 ; // configure reset pin PD
01E3 ; M8C_SetBank1;
01E3 7110 or F, 10h
01E5
01E5 .dbline 346
01E5 ; PRT0DM0 &= ~bit0;
01E5 7110 or F,0x10 ; iopage = 1
01E7 4100FE and REG[ 0],-2
01EA .dbline 347
01EA ; PRT0DM1 &= ~bit0;
01EA 4101FE and REG[0x1],-2
01ED 70EF and F,0xEF ; iopage = 0
01EF .dbline 348
01EF ; M8C_SetBank0;
01EF 70EF and F, EFh
01F1
01F1 .dbline 349
01F1 ; PRT0DM2 &= ~bit0;
01F1 4103FE and REG[0x3],-2
01F4 .dbline 352
01F4 ;
01F4 ; // configure P1 pins PD
01F4 ; M8C_SetBank1;
01F4 7110 or F, 10h
01F6
01F6 .dbline 353
01F6 ; PRT1DM0 &= 0b00000000;
01F6 7110 or F,0x10 ; iopage = 1
01F8 620400 mov REG[0x4],0
01FB .dbline 354
01FB ; PRT1DM1 &= 0b00000000;
01FB 620500 mov REG[0x5],0
01FE 70EF and F,0xEF ; iopage = 0
0200 .dbline 355
0200 ; M8C_SetBank0;
0200 70EF and F, EFh
0202
0202 .dbline 356
0202 ; PRT1DM2 &= 0b00000000;
0202 620700 mov REG[0x7],0
0205 .dbline 359
0205 ;
0205 ; // configure P2 pins PD
0205 ; M8C_SetBank1;
0205 7110 or F, 10h
0207
0207 .dbline 360
0207 ; PRT2DM0 &= 0b00000000;
0207 7110 or F,0x10 ; iopage = 1
0209 620800 mov REG[0x8],0
020C .dbline 361
020C ; PRT2DM1 &= 0b00000000;
020C 620900 mov REG[0x9],0
020F 70EF and F,0xEF ; iopage = 0
0211 .dbline 362
0211 ; M8C_SetBank0;
0211 70EF and F, EFh
0213
0213 .dbline 363
0213 ; PRT2DM2 &= 0b00000000;
0213 620B00 mov REG[0xb],0
0216 .dbline -2
0216 .dbline 364
0216 ; }
0216 L39:
0216 .dbline 0 ; func end
0216 7F ret
0217 .dbend
.area bss(ram, con, rel)
0000 .dbfile ./main.c
0000 _j::
0000 .blkb 2
0002 .dbsym e j _j I
0002 _i::
0002 .blkb 2
0004 .dbsym e i _i I
0004 _str::
0004 .blkb 2
0006 .dbsym e str _str i
0006 _yByte::
0006 .blkb 1
0007 .dbsym e yByte _yByte c
0007 _bitmask::
0007 .blkb 1
0008 .dbsym e bitmask _bitmask c
0008 _bitnum::
0008 .blkb 1
0009 .dbsym e bitnum _bitnum c
0009 _y::
0009 .blkb 1
000A .dbsym e y _y c
000A _x::
000A .blkb 1
000B .dbsym e x _x c
000B _rl::
000B .blkb 1
000C .dbsym e rl _rl c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -