📄 mylcd.asm
字号:
mov a,[hl] ; cmd ;[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 234
$DGL 0,13
call !_Delay100us ;[INF] 3, 6
; line 236
$DGL 0,15
clr1 P0.0 ;[INF] 3, 6
; line 238
$DGL 0,17
mov P8,#00H ; 0 ;[INF] 3, 6
; line 239
$DGL 0,18
??ef_LcdWriteCommandD:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteCommandD:
; line 246
_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 247
$DGL 0,2
call !_WaitForEnableU ;[INF] 3, 6
; line 249
$DGL 0,4
nop ;[INF] 1, 2
; line 251
$DGL 0,6
set1 P9.1 ;[INF] 3, 6
; line 252
$DGL 0,7
clr1 P9.2 ;[INF] 3, 6
; line 253
$DGL 0,8
set1 P9.3 ;[INF] 3, 6
; line 255
$DGL 0,10
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 257
$DGL 0,12
call !_Delay100us ;[INF] 3, 6
; line 259
$DGL 0,14
nop ;[INF] 1, 2
; line 261
$DGL 0,16
clr1 P9.3 ;[INF] 3, 6
; line 263
$DGL 0,18
nop ;[INF] 1, 2
; line 265
$DGL 0,20
mov P8,#00H ; 0 ;[INF] 3, 6
; line 266
$DGL 0,21
??ef_LcdWriteDataU:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteDataU:
; line 270
_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 271
$DGL 0,2
call !_WaitForEnableD ;[INF] 3, 6
; line 273
$DGL 0,4
nop ;[INF] 1, 2
; line 275
$DGL 0,6
set1 P9.1 ;[INF] 3, 6
; line 276
$DGL 0,7
clr1 P9.2 ;[INF] 3, 6
; line 277
$DGL 0,8
set1 P0.0 ;[INF] 3, 6
; line 279
$DGL 0,10
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 281
$DGL 0,12
call !_Delay100us ;[INF] 3, 6
; line 283
$DGL 0,14
clr1 P0.0 ;[INF] 3, 6
; line 285
$DGL 0,16
mov P8,#00H ; 0 ;[INF] 3, 6
; line 286
$DGL 0,17
??ef_LcdWriteDataD:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteDataD:
; line 292
_WaitForEnableU:
$DGL 1,99
??bf_WaitForEnableU:
; line 298
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 299
$DGL 0,8
set1 P9.2 ;[INF] 3, 6
; line 300
$DGL 0,9
set1 P9.3 ;[INF] 3, 6
; line 302
$DGL 0,11
?L0030:
bf P8.0,$?L0031 ;[INF] 4,10
; line 303
$DGL 0,12
??bb00_WaitForEnableU:
??eb00_WaitForEnableU:
br $?L0030 ;[INF] 2, 6
?L0031:
; line 306
$DGL 0,15
clr1 P9.3 ;[INF] 3, 6
; line 312
$DGL 0,21
??ef_WaitForEnableU:
ret ;[INF] 1, 6
??ee_WaitForEnableU:
; line 316
_WaitForEnableD:
$DGL 1,109
??bf_WaitForEnableD:
; line 322
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 323
$DGL 0,8
set1 P9.2 ;[INF] 3, 6
; line 324
$DGL 0,9
set1 P0.0 ;[INF] 3, 6
; line 326
$DGL 0,11
?L0034:
bf P8.0,$?L0035 ;[INF] 4,10
; line 327
$DGL 0,12
??bb00_WaitForEnableD:
??eb00_WaitForEnableD:
br $?L0034 ;[INF] 2, 6
?L0035:
; line 330
$DGL 0,15
clr1 P0.0 ;[INF] 3, 6
; line 336
$DGL 0,21
??ef_WaitForEnableD:
ret ;[INF] 1, 6
??ee_WaitForEnableD:
; line 340
_Delay100us:
$DGL 1,119
??bf_Delay100us:
; line 341
$DGL 0,2
nop ;[INF] 1, 2
; line 342
$DGL 0,3
nop ;[INF] 1, 2
; line 343
$DGL 0,4
nop ;[INF] 1, 2
; line 344
$DGL 0,5
nop ;[INF] 1, 2
; line 345
$DGL 0,6
nop ;[INF] 1, 2
; line 346
$DGL 0,7
nop ;[INF] 1, 2
; line 347
$DGL 0,8
nop ;[INF] 1, 2
; line 348
$DGL 0,9
nop ;[INF] 1, 2
; line 349
$DGL 0,10
nop ;[INF] 1, 2
; line 350
$DGL 0,11
nop ;[INF] 1, 2
; line 351
$DGL 0,12
nop ;[INF] 1, 2
; line 352
$DGL 0,13
nop ;[INF] 1, 2
; line 353
$DGL 0,14
nop ;[INF] 1, 2
; line 354
$DGL 0,15
nop ;[INF] 1, 2
; line 355
$DGL 0,16
nop ;[INF] 1, 2
; line 356
$DGL 0,17
??ef_Delay100us:
ret ;[INF] 1, 6
??ee_Delay100us:
; line 360
_Delay100ms:
$DGL 1,125
push hl ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_Delay100ms:
; line 364
$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 365
$DGL 0,6
??bb00_Delay100ms:
; line 366
$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 367
$DGL 0,8
??bb01_Delay100ms:
; line 368
$DGL 0,9
call !_Delay100us ;[INF] 3, 6
??eb01_Delay100ms:
; line 369
$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 370
$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 371
$DGL 0,12
??ef_Delay100ms:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_Delay100ms:
; line 374
_Delay2s:
$DGL 1,141
push hl ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_Delay2s:
; line 377
$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 378
$DGL 0,5
??bb00_Delay2s:
; line 379
$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 380
$DGL 0,7
??bb01_Delay2s:
; line 381
$DGL 0,8
call !_Delay100ms ;[INF] 3, 6
??eb01_Delay2s:
; line 382
$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 383
$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 384
$DGL 0,11
??ef_Delay2s:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_Delay2s:
; line 399
_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 403
$DGL 0,5
xor a,a ;[INF] 2, 4
mov [hl+1],a ; result ;[INF] 2, 6
; line 405
$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 406
$DGL 0,8
??bb00_BitsReverse:
; line 407
$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 409
$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 410
$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 412
$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 413
$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:\InProgSum2\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= 49 bytes, CLOCK_SIZE= 128 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableU(198)
; void=(void)
;
; $CALL BitsReverse(207)
; bc=(int:ax)
;
; $CALL Delay100us(209)
; void=(void)
;
; $FUNC LcdWriteCommandD(222)
; void=(unsigned char cmd:x, unsigned char attribBusyFlg:[sp+2])
; CODE SIZE= 46 bytes, CLOCK_SIZE= 122 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableD(225)
; void=(void)
;
; $CALL BitsReverse(232)
; bc=(int:ax)
;
; $CALL Delay100us(234)
; void=(void)
;
; $FUNC LcdWriteDataU(246)
; void=(char dataW:x)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 112 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableU(247)
; void=(void)
;
; $CALL BitsReverse(255)
; bc=(int:ax)
;
; $CALL Delay100us(257)
; void=(void)
;
; $FUNC LcdWriteDataD(270)
; void=(char dataW:x)
; CODE SIZE= 41 bytes, CLOCK_SIZE= 108 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableD(271)
; void=(void)
;
; $CALL BitsReverse(279)
; bc=(int:ax)
;
; $CALL Delay100us(281)
; void=(void)
;
; $FUNC WaitForEnableU(292)
; void=(void)
; CODE SIZE= 19 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 0 bytes
;
; $FUNC WaitForEnableD(316)
; void=(void)
; CODE SIZE= 19 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Delay100us(340)
; void=(void)
; CODE SIZE= 16 bytes, CLOCK_SIZE= 36 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Delay100ms(360)
; void=(void)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 142 clocks, STACK_SIZE= 6 bytes
;
; $CALL Delay100us(368)
; void=(void)
;
; $FUNC Delay2s(374)
; void=(void)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 142 clocks, STACK_SIZE= 6 bytes
;
; $CALL Delay100ms(381)
; void=(void)
;
; $FUNC BitsReverse(399)
; 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 + -