📄 mylcd.asm
字号:
mov a,[hl+6] ; attribBusyFlg ;[INF] 2, 6
cmp a,#00H ; 0 ;[INF] 2, 4
bz $?L0022 ;[INF] 2, 6
; line 221
$DGL 0,3
??bb00_LcdWriteCommandD:
; line 222
$DGL 0,4
call !_WaitForEnableD ;[INF] 3, 6
??eb00_LcdWriteCommandD:
?L0022:
; line 225
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 226
$DGL 0,8
clr1 P9.2 ;[INF] 3, 6
; line 227
$DGL 0,9
set1 P0.0 ;[INF] 3, 6
; line 229
$DGL 0,11
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 231
$DGL 0,13
call !_Delay100us ;[INF] 3, 6
; line 233
$DGL 0,15
clr1 P0.0 ;[INF] 3, 6
; line 235
$DGL 0,17
mov P8,#00H ; 0 ;[INF] 3, 6
; line 236
$DGL 0,18
??ef_LcdWriteCommandD:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteCommandD:
; line 243
_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 244
$DGL 0,2
call !_WaitForEnableU ;[INF] 3, 6
; line 246
$DGL 0,4
nop ;[INF] 1, 2
; line 248
$DGL 0,6
set1 P9.1 ;[INF] 3, 6
; line 249
$DGL 0,7
clr1 P9.2 ;[INF] 3, 6
; line 250
$DGL 0,8
set1 P9.3 ;[INF] 3, 6
; line 252
$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 254
$DGL 0,12
call !_Delay100us ;[INF] 3, 6
; line 256
$DGL 0,14
nop ;[INF] 1, 2
; line 258
$DGL 0,16
clr1 P9.3 ;[INF] 3, 6
; line 260
$DGL 0,18
nop ;[INF] 1, 2
; line 262
$DGL 0,20
mov P8,#00H ; 0 ;[INF] 3, 6
; line 263
$DGL 0,21
??ef_LcdWriteDataU:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteDataU:
; line 267
_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 268
$DGL 0,2
call !_WaitForEnableD ;[INF] 3, 6
; line 270
$DGL 0,4
nop ;[INF] 1, 2
; line 272
$DGL 0,6
set1 P9.1 ;[INF] 3, 6
; line 273
$DGL 0,7
clr1 P9.2 ;[INF] 3, 6
; line 274
$DGL 0,8
set1 P0.0 ;[INF] 3, 6
; line 276
$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 278
$DGL 0,12
call !_Delay100us ;[INF] 3, 6
; line 280
$DGL 0,14
clr1 P0.0 ;[INF] 3, 6
; line 282
$DGL 0,16
mov P8,#00H ; 0 ;[INF] 3, 6
; line 283
$DGL 0,17
??ef_LcdWriteDataD:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_LcdWriteDataD:
; line 289
_WaitForEnableU:
$DGL 1,99
??bf_WaitForEnableU:
; line 295
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 296
$DGL 0,8
set1 P9.2 ;[INF] 3, 6
; line 297
$DGL 0,9
set1 P9.3 ;[INF] 3, 6
; line 299
$DGL 0,11
?L0030:
bf P8.0,$?L0031 ;[INF] 4,10
; line 300
$DGL 0,12
??bb00_WaitForEnableU:
??eb00_WaitForEnableU:
br $?L0030 ;[INF] 2, 6
?L0031:
; line 303
$DGL 0,15
clr1 P9.3 ;[INF] 3, 6
; line 309
$DGL 0,21
??ef_WaitForEnableU:
ret ;[INF] 1, 6
??ee_WaitForEnableU:
; line 313
_WaitForEnableD:
$DGL 1,109
??bf_WaitForEnableD:
; line 319
$DGL 0,7
clr1 P9.1 ;[INF] 3, 6
; line 320
$DGL 0,8
set1 P9.2 ;[INF] 3, 6
; line 321
$DGL 0,9
set1 P0.0 ;[INF] 3, 6
; line 323
$DGL 0,11
?L0034:
bf P8.0,$?L0035 ;[INF] 4,10
; line 324
$DGL 0,12
??bb00_WaitForEnableD:
??eb00_WaitForEnableD:
br $?L0034 ;[INF] 2, 6
?L0035:
; line 327
$DGL 0,15
clr1 P0.0 ;[INF] 3, 6
; line 333
$DGL 0,21
??ef_WaitForEnableD:
ret ;[INF] 1, 6
??ee_WaitForEnableD:
; line 337
_Delay100us:
$DGL 1,119
??bf_Delay100us:
; line 338
$DGL 0,2
nop ;[INF] 1, 2
; line 339
$DGL 0,3
nop ;[INF] 1, 2
; line 340
$DGL 0,4
nop ;[INF] 1, 2
; line 341
$DGL 0,5
nop ;[INF] 1, 2
; line 342
$DGL 0,6
nop ;[INF] 1, 2
; line 343
$DGL 0,7
nop ;[INF] 1, 2
; line 344
$DGL 0,8
nop ;[INF] 1, 2
; line 345
$DGL 0,9
nop ;[INF] 1, 2
; line 346
$DGL 0,10
nop ;[INF] 1, 2
; line 347
$DGL 0,11
nop ;[INF] 1, 2
; line 348
$DGL 0,12
nop ;[INF] 1, 2
; line 349
$DGL 0,13
nop ;[INF] 1, 2
; line 350
$DGL 0,14
nop ;[INF] 1, 2
; line 351
$DGL 0,15
nop ;[INF] 1, 2
; line 352
$DGL 0,16
nop ;[INF] 1, 2
; line 353
$DGL 0,17
??ef_Delay100us:
ret ;[INF] 1, 6
??ee_Delay100us:
; line 357
_Delay100ms:
$DGL 1,125
push hl ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_Delay100ms:
; line 361
$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 362
$DGL 0,6
??bb00_Delay100ms:
; line 363
$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 364
$DGL 0,8
??bb01_Delay100ms:
; line 365
$DGL 0,9
call !_Delay100us ;[INF] 3, 6
??eb01_Delay100ms:
; line 366
$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 367
$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 368
$DGL 0,12
??ef_Delay100ms:
pop ax ;[INF] 1, 6
pop hl ;[INF] 1, 6
ret ;[INF] 1, 6
??ee_Delay100ms:
; line 383
_BitsReverse:
$DGL 1,141
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,#02H ;[INF] 3, 6
callt [_@cprep] ;[INF] 1, 8
??bf_BitsReverse:
; line 387
$DGL 0,5
xor a,a ;[INF] 2, 4
mov [hl+1],a ; result ;[INF] 2, 6
; line 389
$DGL 0,7
mov [hl],a ; i ;[INF] 1, 6
?L0048:
mov a,[hl] ; i ;[INF] 1, 6
cmp a,#08H ; 8 ;[INF] 2, 4
bnc $?L0049 ;[INF] 2, 6
; line 390
$DGL 0,8
??bb00_BitsReverse:
; line 391
$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 393
$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 394
$DGL 0,12
mov a,[hl] ; i ;[INF] 1, 6
inc a ;[INF] 2, 4
xch a,[hl] ; i ;[INF] 1, 8
br $?L0048 ;[INF] 2, 6
?L0049:
; line 396
$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 397
$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:\InProgSum\MyLcd.c
;
; $FUNC LcdReset(40)
; void=(void)
; CODE SIZE= 48 bytes, CLOCK_SIZE= 124 clocks, STACK_SIZE= 4 bytes
;
; $CALL LcdWriteCommandU(60)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteCommandD(61)
; void=(int:ax, int:[sp+2])
;
; $CALL Delay100us(63)
; void=(void)
;
; $CALL LcdWriteCommandU(65)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteCommandD(66)
; void=(int:ax, int:[sp+2])
;
; $FUNC DisplayStr(87)
; 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(105)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteDataU(110)
; void=(int:ax)
;
; $FUNC DispOneChar(151)
; 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(153)
; void=(int:ax, int:[sp+2])
;
; $CALL LcdWriteDataU(155)
; void=(int:ax)
;
; $FUNC LocateXY(164)
; void=(char posx:x, char posy:[sp+2])
; CODE SIZE= 49 bytes, CLOCK_SIZE= 152 clocks, STACK_SIZE= 10 bytes
;
; $CALL LcdWriteCommandU(180)
; void=(int:ax, int:[sp+2])
;
; $FUNC LcdWriteCommandU(191)
; void=(unsigned char cmd:x, unsigned char attribBusyFlg:[sp+2])
; CODE SIZE= 49 bytes, CLOCK_SIZE= 128 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableU(195)
; void=(void)
;
; $CALL BitsReverse(204)
; bc=(int:ax)
;
; $CALL Delay100us(206)
; void=(void)
;
; $FUNC LcdWriteCommandD(219)
; void=(unsigned char cmd:x, unsigned char attribBusyFlg:[sp+2])
; CODE SIZE= 46 bytes, CLOCK_SIZE= 122 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableD(222)
; void=(void)
;
; $CALL BitsReverse(229)
; bc=(int:ax)
;
; $CALL Delay100us(231)
; void=(void)
;
; $FUNC LcdWriteDataU(243)
; void=(char dataW:x)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 112 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableU(244)
; void=(void)
;
; $CALL BitsReverse(252)
; bc=(int:ax)
;
; $CALL Delay100us(254)
; void=(void)
;
; $FUNC LcdWriteDataD(267)
; void=(char dataW:x)
; CODE SIZE= 41 bytes, CLOCK_SIZE= 108 clocks, STACK_SIZE= 6 bytes
;
; $CALL WaitForEnableD(268)
; void=(void)
;
; $CALL BitsReverse(276)
; bc=(int:ax)
;
; $CALL Delay100us(278)
; void=(void)
;
; $FUNC WaitForEnableU(289)
; void=(void)
; CODE SIZE= 19 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 0 bytes
;
; $FUNC WaitForEnableD(313)
; void=(void)
; CODE SIZE= 19 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Delay100us(337)
; void=(void)
; CODE SIZE= 16 bytes, CLOCK_SIZE= 36 clocks, STACK_SIZE= 0 bytes
;
; $FUNC Delay100ms(357)
; void=(void)
; CODE SIZE= 43 bytes, CLOCK_SIZE= 142 clocks, STACK_SIZE= 6 bytes
;
; $CALL Delay100us(365)
; void=(void)
;
; $FUNC BitsReverse(383)
; 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 + -