📄 mylcd.asm
字号:
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_BitsReverse ;[INF] 3, 6
mov a,c ;[INF] 2, 4
mov P8,a ;[INF] 2, 4
; line 244
$DGL 0,15
call !_Delay100us ;[INF] 3, 6
; line 246
$DGL 0,17
clr1 P0.0 ;[INF] 3, 6
; line 248
$DGL 0,19
mov P8,#00H ; 0 ;[INF] 3, 6
; line 249
$DGL 0,20
??ef_LcdWriteCommandD:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteCommandD:
; line 256
_LcdWriteDataU:
$DGL 1,85
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 6
movw hl,ax ;[INF] 1, 4
??bf_LcdWriteDataU:
; line 257
$DGL 0,2
call !_WaitForEnableU ;[INF] 3, 6
; line 259
$DGL 0,4
nop ;[INF] 1, 2
; line 261
$DGL 0,6
set1 P9.1 ;[INF] 3, 6
; line 262
$DGL 0,7
clr1 P9.2 ;[INF] 3, 6
; line 263
$DGL 0,8
set1 P9.3 ;[INF] 3, 6
; line 265
$DGL 0,10
nop ;[INF] 1, 2
; line 266
$DGL 0,11
nop ;[INF] 1, 2
; line 267
$DGL 0,12
nop ;[INF] 1, 2
; line 268
$DGL 0,13
nop ;[INF] 1, 2
; line 270
$DGL 0,15
mov a,[hl] ; dataW ;[INF] 1, 6
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_BitsReverse ;[INF] 3, 6
mov a,c ;[INF] 2, 4
mov P8,a ;[INF] 2, 4
; line 272
$DGL 0,17
call !_Delay100us ;[INF] 3, 6
; line 274
$DGL 0,19
nop ;[INF] 1, 2
; line 275
$DGL 0,20
nop ;[INF] 1, 2
; line 276
$DGL 0,21
nop ;[INF] 1, 2
; line 277
$DGL 0,22
nop ;[INF] 1, 2
; line 279
$DGL 0,24
clr1 P9.3 ;[INF] 3, 6
; line 281
$DGL 0,26
nop ;[INF] 1, 2
; line 283
$DGL 0,28
mov P8,#00H ; 0 ;[INF] 3, 6
; line 284
$DGL 0,29
??ef_LcdWriteDataU:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteDataU:
; line 288
_LcdWriteDataD:
$DGL 1,92
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 6
movw hl,ax ;[INF] 1, 4
??bf_LcdWriteDataD:
; line 289
$DGL 0,2
call !_WaitForEnableD ;[INF] 3, 6
; line 291
$DGL 0,4
nop ;[INF] 1, 2
; line 293
$DGL 0,6
set1 P9.1 ;[INF] 3, 6
; line 294
$DGL 0,7
clr1 P9.2 ;[INF] 3, 6
; line 295
$DGL 0,8
set1 P0.0 ;[INF] 3, 6
; line 297
$DGL 0,10
nop ;[INF] 1, 2
; line 299
$DGL 0,12
mov a,[hl] ; dataW ;[INF] 1, 6
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
call !_BitsReverse ;[INF] 3, 6
mov a,c ;[INF] 2, 4
mov P8,a ;[INF] 2, 4
; line 301
$DGL 0,14
call !_Delay100us ;[INF] 3, 6
; line 303
$DGL 0,16
clr1 P0.0 ;[INF] 3, 6
; line 305
$DGL 0,18
mov P8,#00H ; 0 ;[INF] 3, 6
; line 306
$DGL 0,19
??ef_LcdWriteDataD:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteDataD:
; line 312
_WaitForEnableU:
$DGL 1,99
??bf_WaitForEnableU:
; line 318
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 319
$DGL 0,8
set1 P9.2 ;[INF] 3, 6
; line 320
$DGL 0,9
set1 P9.3 ;[INF] 3, 6
; line 322
$DGL 0,11
nop ;[INF] 1, 2
; line 323
$DGL 0,12
?L0030:
bf P8.0,$?L0031 ;[INF] 4,10
; line 324
$DGL 0,13
??bb00_WaitForEnableU:
??eb00_WaitForEnableU:
br $?L0030 ;[INF] 2, 6
?L0031:
; line 327
$DGL 0,16
clr1 P9.3 ;[INF] 3, 6
; line 333
$DGL 0,22
??ef_WaitForEnableU:
ret ;[INF] 1, 6
??ee_WaitForEnableU:
; line 337
_WaitForEnableD:
$DGL 1,109
??bf_WaitForEnableD:
; line 343
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 344
$DGL 0,8
set1 P9.2 ;[INF] 3, 6
; line 345
$DGL 0,9
set1 P0.0 ;[INF] 3, 6
; line 347
$DGL 0,11
?L0034:
bf P8.0,$?L0035 ;[INF] 4,10
; line 348
$DGL 0,12
??bb00_WaitForEnableD:
??eb00_WaitForEnableD:
br $?L0034 ;[INF] 2, 6
?L0035:
; line 351
$DGL 0,15
clr1 P0.0 ;[INF] 3, 6
; line 357
$DGL 0,21
??ef_WaitForEnableD:
ret ;[INF] 1, 6
??ee_WaitForEnableD:
; line 361
_Delay100us:
$DGL 1,119
??bf_Delay100us:
; line 362
$DGL 0,2
nop ;[INF] 1, 2
; line 363
$DGL 0,3
nop ;[INF] 1, 2
; line 364
$DGL 0,4
nop ;[INF] 1, 2
; line 365
$DGL 0,5
nop ;[INF] 1, 2
; line 366
$DGL 0,6
nop ;[INF] 1, 2
; line 367
$DGL 0,7
nop ;[INF] 1, 2
; line 368
$DGL 0,8
nop ;[INF] 1, 2
; line 369
$DGL 0,9
nop ;[INF] 1, 2
; line 370
$DGL 0,10
nop ;[INF] 1, 2
; line 371
$DGL 0,11
nop ;[INF] 1, 2
; line 372
$DGL 0,12
nop ;[INF] 1, 2
; line 373
$DGL 0,13
nop ;[INF] 1, 2
; line 374
$DGL 0,14
nop ;[INF] 1, 2
; line 375
$DGL 0,15
nop ;[INF] 1, 2
; line 376
$DGL 0,16
nop ;[INF] 1, 2
; line 377
$DGL 0,17
??ef_Delay100us:
ret ;[INF] 1, 6
??ee_Delay100us:
; line 381
_Delay100ms:
$DGL 1,125
push hl ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_Delay100ms:
; line 385
$DGL 0,5
xor a,a ;[INF] 2, 4
mov [hl+1],a ; j ;[INF] 2, 6
?L0040:
mov a,[hl+1] ; j ;[INF] 2, 6
cmp a,#04H ; 4 ;[INF] 2, 4
bnc $?L0041 ;[INF] 2, 6
; line 386
$DGL 0,6
??bb00_Delay100ms:
; line 387
$DGL 0,7
xor a,a ;[INF] 2, 4
mov [hl],a ; k ;[INF] 1, 6
?L0043:
mov a,[hl] ; k ;[INF] 1, 6
cmp a,#0FAH ; 250 ;[INF] 2, 4
bnc $?L0044 ;[INF] 2, 6
; line 388
$DGL 0,8
??bb01_Delay100ms:
; line 389
$DGL 0,9
call !_Delay100us ;[INF] 3, 6
??eb01_Delay100ms:
; line 390
$DGL 0,10
mov a,[hl] ; k ;[INF] 1, 6
inc a ;[INF] 2, 4
xch a,[hl] ; k ;[INF] 1, 8
br $?L0043 ;[INF] 2, 6
?L0044:
??eb00_Delay100ms:
; line 391
$DGL 0,11
mov a,[hl+1] ; j ;[INF] 2, 6
inc a ;[INF] 2, 4
xch a,[hl+1] ; j ;[INF] 2, 8
br $?L0040 ;[INF] 2, 6
?L0041:
; line 392
$DGL 0,12
??ef_Delay100ms:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_Delay100ms:
; line 395
_Delay2s:
$DGL 1,141
push hl ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_Delay2s:
; line 398
$DGL 0,4
xor a,a ;[INF] 2, 4
mov [hl+1],a ; j ;[INF] 2, 6
?L0048:
mov a,[hl+1] ; j ;[INF] 2, 6
cmp a,#04H ; 4 ;[INF] 2, 4
bnc $?L0049 ;[INF] 2, 6
; line 399
$DGL 0,5
??bb00_Delay2s:
; line 400
$DGL 0,6
xor a,a ;[INF] 2, 4
mov [hl],a ; k ;[INF] 1, 6
?L0051:
mov a,[hl] ; k ;[INF] 1, 6
cmp a,#05H ; 5 ;[INF] 2, 4
bnc $?L0052 ;[INF] 2, 6
; line 401
$DGL 0,7
??bb01_Delay2s:
; line 402
$DGL 0,8
call !_Delay100ms ;[INF] 3, 6
??eb01_Delay2s:
; line 403
$DGL 0,9
mov a,[hl] ; k ;[INF] 1, 6
inc a ;[INF] 2, 4
xch a,[hl] ; k ;[INF] 1, 8
br $?L0051 ;[INF] 2, 6
?L0052:
??eb00_Delay2s:
; line 404
$DGL 0,10
mov a,[hl+1] ; j ;[INF] 2, 6
inc a ;[INF] 2, 4
xch a,[hl+1] ; j ;[INF] 2, 8
br $?L0048 ;[INF] 2, 6
?L0049:
; line 405
$DGL 0,11
??ef_Delay2s:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_Delay2s:
; line 420
_BitsReverse:
$DGL 1,157
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_BitsReverse:
; line 424
$DGL 0,5
xor a,a ;[INF] 2, 4
mov [hl+1],a ; result ;[INF] 2, 6
; line 426
$DGL 0,7
mov [hl],a ; i ;[INF] 1, 6
?L0056:
mov a,[hl] ; i ;[INF] 1, 6
cmp a,#08H ; 8 ;[INF] 2, 4
bnc $?L0057 ;[INF] 2, 6
; line 427
$DGL 0,8
??bb00_BitsReverse:
; line 428
$DGL 0,9
mov a,[hl+1] ; result ;[INF] 2, 6
add a,a ;[INF] 2, 4
mov c,a ;[INF] 2, 4
mov a,[hl+2] ; value ;[INF] 2, 6
and a,#01H ; 1 ;[INF] 2, 4
or a,c ;[INF] 2, 4
mov [hl+1],a ; result ;[INF] 2, 6
; line 430
$DGL 0,11
mov a,[hl+2] ; value ;[INF] 2, 6
clr1 CY ;[INF] 1, 2
rorc a,1 ;[INF] 1, 2
mov [hl+2],a ; value ;[INF] 2, 6
??eb00_BitsReverse:
; line 431
$DGL 0,12
mov a,[hl] ; i ;[INF] 1, 6
inc a ;[INF] 2, 4
xch a,[hl] ; i ;[INF] 1, 8
br $?L0056 ;[INF] 2, 6
?L0057:
; line 433
$DGL 0,14
mov a,[hl+1] ; result ;[INF] 2, 6
xch a,x ;[INF] 1, 4
xor a,a ;[INF] 2, 4
movw bc,ax ;[INF] 1, 4
; line 434
$DGL 0,15
??ef_BitsReverse:
pop ax ;[INF] 1, 6
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_BitsReverse:
END
; *** Code Information ***
;
; $FILE E:\InProgSum4\MyLcd.c
;
; $FUNC LcdReset(41)
; void=(void)
; CODE SIZE= 51 bytes, CLOCK_SIZE= 130 clocks, STACK_SIZE= 4 bytes
;
; $CALL Delay100ms(61)
; void=(void)
;
; $CALL LcdWriteCommandU(63)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteCommandD(64)
; void=(int:ax, int:[sp+2])
;
; $CALL Delay100us(66)
; void=(void)
;
; $CALL LcdWriteCommandU(68)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteCommandD(69)
; void=(int:ax, int:[sp+2])
;
; $FUNC DisplayStr(90)
; void=(unsigned char x:x, unsigned char y:[sp+2], pointer ptr:[sp+4])
; CODE SIZE= 82 bytes, CLOCK_SIZE= 276 clocks, STACK_SIZE= 12 bytes
;
; $CALL LocateXY(108)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteDataU(113)
; void=(int:ax)
;
; $FUNC DispOneChar(154)
; void=(unsigned char x:x, unsigned char y:[sp+2],
; unsigned char Wdata:[sp+4])
; CODE SIZE= 24 bytes, CLOCK_SIZE= 100 clocks, STACK_SIZE= 8 bytes
;
; $CALL LocateXY(156)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteDataU(158)
; void=(int:ax)
;
; $FUNC LocateXY(167)
; void=(char posx:x, char posy:[sp+2])
; CODE SIZE= 49 bytes, CLOCK_SIZE= 152 clocks, STACK_SIZE= 10 bytes
;
; $CALL LcdWriteCommandU(183)
; void=(int:ax, int:[sp+2])
;
; $FUNC LcdWriteCommandU(194)
; void=(unsigned char cmd:x, unsigned char attribBusyFlg:[sp+2])
; CODE SIZE= 56 bytes, CLOCK_SIZE= 142 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableU(198)
; void=(void)
;
; $CALL BitsReverse(212)
; bc=(int:ax)
;
; $CALL Delay100us(214)
; void=(void)
;
; $FUNC LcdWriteCommandD(230)
; void=(unsigned char cmd:x, unsigned char attribBusyFlg:[sp+2])
; CODE SIZE= 47 bytes, CLOCK_SIZE= 124 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableD(233)
; void=(void)
;
; $CALL BitsReverse(242)
; bc=(int:ax)
;
; $CALL Delay100us(244)
; void=(void)
;
; $FUNC LcdWriteDataU(256)
; void=(char dataW:x)
; CODE SIZE= 50 bytes, CLOCK_SIZE= 126 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableU(257)
; void=(void)
;
; $CALL BitsReverse(270)
; bc=(int:ax)
;
; $CALL Delay100us(272)
; void=(void)
;
; $FUNC LcdWriteDataD(288)
; void=(char dataW:x)
; CODE SIZE= 42 bytes, CLOCK_SIZE= 110 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableD(289)
; void=(void)
;
; $CALL BitsReverse(299)
; bc=(int:ax)
;
; $CALL Delay100us(301)
; void=(void)
;
; $FUNC WaitForEnableU(312)
; void=(void)
; CODE SIZE= 20 bytes, CLOCK_SIZE= 48 clocks, STACK_SIZE= 0 bytes
;
; $FUNC WaitForEnableD(337)
; void=(void)
; CODE SIZE= 19 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Delay100us(361)
; void=(void)
; CODE SIZE= 16 bytes, CLOCK_SIZE= 36 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Delay100ms(381)
; void=(void)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 142 clocks, STACK_SIZE= 6 bytes
;
; $CALL Delay100us(389)
; void=(void)
;
; $FUNC Delay2s(395)
; void=(void)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 142 clocks, STACK_SIZE= 6 bytes
;
; $CALL Delay100ms(402)
; void=(void)
;
; $FUNC BitsReverse(420)
; bc=(unsigned char value:x)
; CODE SIZE= 52 bytes, CLOCK_SIZE= 170 clocks, STACK_SIZE= 8 bytes
; Target chip : uPD78F9418
; Device file : V1.02
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -