📄 lcd.asm
字号:
mov a,[hl+3] ; seg ;[INF] 2, 8/9
mov x,a ;[INF] 1, 2
rolc a,1 ;[INF] 1, 2
subc a,a ;[INF] 2, 4
addw ax,#_aLcdRam ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
or a,c ;[INF] 2, 4
mov [de],a ;[INF] 1, 4/5
; line 935
$DGL 0,39
mov a,[hl+2] ; cnt ;[INF] 2, 8/9
cmp a,#00H ; 0 ;[INF] 2, 4
bnz $?L0056 ;[INF] 2, 6
; line 936
??bb07_LcdStringScroll:
; line 937
$DGL 0,41
mov a,#04H ; 4 ;[INF] 2, 4
mov [hl+2],a ; cnt ;[INF] 2, 8/9
; line 938
$DGL 0,42
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
incw ax ;[INF] 1, 4
mov [hl+1],a ; point ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl],a ; point ;[INF] 1, 4/5
??eb07_LcdStringScroll:
; line 939
$DGL 0,43
br $?L0057 ;[INF] 2, 6
?L0056:
; line 941
??bb08_LcdStringScroll:
; line 942
$DGL 0,46
mov a,[hl+2] ; cnt ;[INF] 2, 8/9
dec a ;[INF] 1, 2
mov [hl+2],a ; cnt ;[INF] 2, 8/9
??eb08_LcdStringScroll:
; line 943
?L0057:
??eb06_LcdStringScroll:
; line 944
$DGL 0,48
mov a,[hl+3] ; seg ;[INF] 2, 8/9
inc a ;[INF] 1, 2
mov [hl+3],a ; seg ;[INF] 2, 8/9
br $?L0050 ;[INF] 2, 6
?L0051:
; line 945
$DGL 0,49
??ef_LcdStringScroll:
pop ax ;[INF] 1, 4
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_LcdStringScroll:
; line 952
_LCD_string_openning:
$DGL 1,117
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_LCD_string_openning:
; line 954
$DGL 0,3
movw _ScrollPosi,#00H ; 0 ;[INF] 4, 8
; line 955
$DGL 0,4
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
subw ax,#06H ; 6 ;[INF] 3, 6
movw _@RTARG0,ax ;[INF] 2, 6
movw ax,#05H ; 5 ;[INF] 3, 6
call !@@iumul ;[INF] 3, 7
movw _ScrollPosiEnd,ax ;[INF] 2, 6
; line 956
$DGL 0,5
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
movw _ScrollPoint,ax ;[INF] 2, 6
; line 957
$DGL 0,6
mov _ScrollChar,#04H ; 4 ;[INF] 3, 6
; line 958
$DGL 0,7
movw ax,#06H ; 6 ;[INF] 3, 6
push ax ;[INF] 1, 4
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
callt [?LCD_string] ;[INF] 1, 6
pop ax ;[INF] 1, 4
; line 961
$DGL 0,10
?L0060:
movw ax,_ScrollPosi ;[INF] 2, 6
cmp a,_ScrollPosiEnd+1 ;[INF] 2, 4
bnz $?L0062 ;[INF] 2, 6
xch a,x ;[INF] 1, 2
cmp a,_ScrollPosiEnd ;[INF] 2, 4
?L0062:
bz $?L0061 ;[INF] 2, 6
; line 962
??bb00_LCD_string_openning:
; line 963
$DGL 0,12
cmp _sw3_in,#00H ; 0 ;[INF] 3, 6
bnz $?L0065 ;[INF] 2, 6
cmp _cRemCode,#0FEH ; 254 ;[INF] 3, 6
bz $?L0063 ;[INF] 2, 6
cmp _cRemCode,#0FFH ; 255 ;[INF] 3, 6
bz $?L0063 ;[INF] 2, 6
?L0065:
; line 964
??bb01_LCD_string_openning:
; line 965
$DGL 0,14
callt [?ClrLcdString] ;[INF] 1, 6
; line 966
$DGL 0,15
br $?L0061 ;[INF] 2, 6
??eb01_LCD_string_openning:
; line 967
?L0063:
; line 968
$DGL 0,17
movw ax,#03H ; 3 ;[INF] 3, 6
call !_WaitBase50ms ;[INF] 3, 7
; line 969
$DGL 0,18
call !_LcdStringScroll ;[INF] 3, 7
??eb00_LCD_string_openning:
; line 970
$DGL 0,19
br $?L0060 ;[INF] 2, 6
?L0061:
; line 971
$DGL 0,20
??ef_LCD_string_openning:
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_LCD_string_openning:
; line 978
_LCD_string:
$DGL 1,133
push hl ;[INF] 1, 4
push ax ;[INF] 1, 4
movw ax,sp ;[INF] 2, 8
movw hl,ax ;[INF] 1, 4
??bf_LCD_string:
; line 979
$DGL 0,2
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
decw ax ;[INF] 1, 4
mov [hl+7],a ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl+6],a ; size ;[INF] 2, 8/9
; line 981
$DGL 0,4
xch a,x ;[INF] 1, 2
cmpw ax,#05H ; 5 ;[INF] 3, 6
bc $$+4 ;[INF] 2, 6
bnz $?L0068 ;[INF] 2, 6
; line 982
??bb00_LCD_string:
; line 983
$DGL 0,6
clr1 TMC50.7 ;[INF] 3, 8
; line 984
$DGL 0,7
clr1 IF0H.5 ;[INF] 3, 8
; line 985
$DGL 0,8
set1 MK0H.5 ;[INF] 3, 8
; line 986
$DGL 0,9
?L0070:
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
cmpw ax,#00H ; 0 ;[INF] 3, 6
bc $?L0071 ;[INF] 2, 6
bz $?L0071 ;[INF] 2, 6
; line 987
??bb01_LCD_string:
; line 988
$DGL 0,11
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
mov x,a ;[INF] 1, 2
rolc a,1 ;[INF] 1, 2
subc a,a ;[INF] 2, 4
push ax ;[INF] 1, 4
mov a,[hl+6] ; size ;[INF] 2, 8/9
dec a ;[INF] 1, 2
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
callt [?LCD_putc] ;[INF] 1, 6
pop ax ;[INF] 1, 4
; line 989
$DGL 0,12
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
incw ax ;[INF] 1, 4
mov [hl+1],a ; point ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl],a ; point ;[INF] 1, 4/5
; line 990
$DGL 0,13
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
decw ax ;[INF] 1, 4
mov [hl+7],a ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl+6],a ; size ;[INF] 2, 8/9
??eb01_LCD_string:
; line 991
$DGL 0,14
br $?L0070 ;[INF] 2, 6
?L0071:
??eb00_LCD_string:
; line 992
$DGL 0,15
br $?L0076 ;[INF] 2, 6
?L0068:
; line 993
$DGL 0,16
movw ax,_ScrollPosi ;[INF] 2, 6
cmpw ax,#0FEH ; 254 ;[INF] 3, 6
bnz $?L0076 ;[INF] 2, 6
; line 994
??bb02_LCD_string:
; line 995
$DGL 0,18
movw _ScrollPosi,#00H ; 0 ;[INF] 4, 8
; line 996
$DGL 0,19
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
subw ax,#05H ; 5 ;[INF] 3, 6
movw _@RTARG0,ax ;[INF] 2, 6
movw ax,#05H ; 5 ;[INF] 3, 6
call !@@iumul ;[INF] 3, 7
movw _ScrollPosiEnd,ax ;[INF] 2, 6
; line 997
$DGL 0,20
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
movw _ScrollPoint,ax ;[INF] 2, 6
; line 998
$DGL 0,21
mov _ScrollChar,#04H ; 4 ;[INF] 3, 6
; line 999
$DGL 0,22
movw ax,#05H ; 5 ;[INF] 3, 6
mov [hl+7],a ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl+6],a ; size ;[INF] 2, 8/9
; line 1000
$DGL 0,23
mov CR50,#0F3H ; 243 ;[INF] 3, 7
; line 1001
$DGL 0,24
set1 TMC50.7 ;[INF] 3, 8
; line 1002
$DGL 0,25
clr1 IF0H.5 ;[INF] 3, 8
; line 1003
$DGL 0,26
clr1 MK0H.5 ;[INF] 3, 8
; line 1004
$DGL 0,27
?L0075:
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
cmpw ax,#00H ; 0 ;[INF] 3, 6
bc $?L0076 ;[INF] 2, 6
bz $?L0076 ;[INF] 2, 6
; line 1005
??bb03_LCD_string:
; line 1006
$DGL 0,29
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
mov x,a ;[INF] 1, 2
rolc a,1 ;[INF] 1, 2
subc a,a ;[INF] 2, 4
push ax ;[INF] 1, 4
mov a,[hl+6] ; size ;[INF] 2, 8/9
dec a ;[INF] 1, 2
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
callt [?LCD_putc] ;[INF] 1, 6
pop ax ;[INF] 1, 4
; line 1007
$DGL 0,30
mov a,[hl] ; point ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
mov a,[hl+1] ; point ;[INF] 2, 8/9
incw ax ;[INF] 1, 4
mov [hl+1],a ; point ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl],a ; point ;[INF] 1, 4/5
; line 1008
$DGL 0,31
mov a,[hl+6] ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov a,[hl+7] ; size ;[INF] 2, 8/9
decw ax ;[INF] 1, 4
mov [hl+7],a ; size ;[INF] 2, 8/9
xch a,x ;[INF] 1, 2
mov [hl+6],a ; size ;[INF] 2, 8/9
??eb03_LCD_string:
; line 1009
$DGL 0,32
br $?L0075 ;[INF] 2, 6
?L0076:
??eb02_LCD_string:
; line 1010
; line 1011
$DGL 0,34
??ef_LCD_string:
pop ax ;[INF] 1, 4
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_LCD_string:
; line 1018
_ClrLcdString:
$DGL 1,157
push hl ;[INF] 1, 4
??bf_ClrLcdString:
; line 1021
$DGL 0,4
movw _ScrollPosi,#0FEH ; 254 ;[INF] 4, 8
; line 1022
$DGL 0,5
clr1 TMC50.7 ;[INF] 3, 8
; line 1023
$DGL 0,6
clr1 IF0H.5 ;[INF] 3, 8
; line 1024
$DGL 0,7
set1 MK0H.5 ;[INF] 3, 8
; line 1026
$DGL 0,9
mov l,#00H ; 0 ;[INF] 2, 4
?L0080:
mov a,#01BH ; 27 ;[INF] 2, 4
cmp a,l ;[INF] 2, 4
bc $?L0081 ;[INF] 2, 6
; line 1027
??bb00_ClrLcdString:
; line 1028
$DGL 0,11
movw ax,hl ;[INF] 1, 4
mov a,#00H ; 0 ;[INF] 2, 4
addw ax,#_aLcdRam ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
and a,#080H ; 128 ;[INF] 2, 4
mov [de],a ;[INF] 1, 4/5
??eb00_ClrLcdString:
; line 1029
$DGL 0,12
inc l ;[INF] 1, 2
br $?L0080 ;[INF] 2, 6
?L0081:
; line 1030
$DGL 0,13
??ef_ClrLcdString:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ClrLcdString:
; line 1037
_SetLcdIndicator:
$DGL 1,168
push hl ;[INF] 1, 4
movw hl,ax ;[INF] 1, 4
??bf_SetLcdIndicator:
; line 1038
$DGL 0,2
mov a,#00H ; 0 ;[INF] 2, 4
addw ax,#_aLcdRam ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
or a,#080H ; 128 ;[INF] 2, 4
mov [de],a ;[INF] 1, 4/5
; line 1039
$DGL 0,3
??ef_SetLcdIndicator:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_SetLcdIndicator:
; line 1046
_ClrLcdIndicator:
$DGL 1,175
push hl ;[INF] 1, 4
movw hl,ax ;[INF] 1, 4
??bf_ClrLcdIndicator:
; line 1047
$DGL 0,2
mov a,#00H ; 0 ;[INF] 2, 4
addw ax,#_aLcdRam ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
and a,#07FH ; 127 ;[INF] 2, 4
mov [de],a ;[INF] 1, 4/5
; line 1048
$DGL 0,3
??ef_ClrLcdIndicator:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ClrLcdIndicator:
; line 1055
_ClrAllIndicator:
$DGL 1,182
push hl ;[INF] 1, 4
??bf_ClrAllIndicator:
; line 1058
$DGL 0,4
mov l,#00H ; 0 ;[INF] 2, 4
?L0089:
mov a,#01BH ; 27 ;[INF] 2, 4
cmp a,l ;[INF] 2, 4
bc $?L0090 ;[INF] 2, 6
; line 1059
??bb00_ClrAllIndicator:
; line 1060
$DGL 0,6
mov a,l ;[INF] 1, 2
cmp a,#01BH ; 27 ;[INF] 2, 4
bz $?L0092 ;[INF] 2, 6
movw ax,hl ;[INF] 1, 4
mov a,#00H ; 0 ;[INF] 2, 4
addw ax,#_aLcdRam ;[INF] 3, 6
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
and a,#07FH ; 127 ;[INF] 2, 4
mov [de],a ;[INF] 1, 4/5
?L0092:
??eb00_ClrAllIndicator:
; line 1061
$DGL 0,7
inc l ;[INF] 1, 2
br $?L0089 ;[INF] 2, 6
?L0090:
; line 1062
$DGL 0,8
??ef_ClrAllIndicator:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_ClrAllIndicator:
; line 1069
_isr_INTTM50:
$DGL 1,193
push ax ;[INF] 1, 4
push bc ;[INF] 1, 4
push de ;[INF] 1, 4
movw ax,_@RTARG0 ;[INF] 2, 6
push ax ;[INF] 1, 4
movw ax,_@RTARG2 ;[INF] 2, 6
push ax ;[INF] 1, 4
movw ax,_@RTARG4 ;[INF] 2, 6
push ax ;[INF] 1, 4
movw ax,_@RTARG6 ;[INF] 2, 6
push ax ;[INF] 1, 4
??bf_isr_INTTM50:
; line 1070
$DGL 0,2
movw ax,_ScrollPosi ;[INF] 2, 6
cmp a,_ScrollPosiEnd+1 ;[INF] 2, 4
bnz $?L0098 ;[INF] 2, 6
xch a,x ;[INF] 1, 2
cmp a,_ScrollPosiEnd ;[INF] 2, 4
?L0098:
bnz $?L0096 ;[INF] 2, 6
; line 1071
??bb00_isr_INTTM50:
; line 1072
$DGL 0,4
movw _ScrollPosi,#0FFH ; 255 ;[INF] 4, 8
; line 1073
$DGL 0,5
movw ax,#06H ; 6 ;[INF] 3, 6
push ax ;[INF] 1, 4
movw ax,_ScrollPosiEnd ;[INF] 2, 6
mov c,#05H ; 5 ;[INF] 2, 4
divuw c ;[INF] 2,25
movw bc,ax ;[INF] 1, 4
movw ax,_ScrollPoint ;[INF] 2, 6
xch a,x ;[INF] 1, 2
sub a,c ;[INF] 2, 4
xch a,x ;[INF] 1, 2
subc a,b ;[INF] 2, 4
callt [?LCD_string] ;[INF] 1, 6
pop ax ;[INF] 1, 4
??eb00_isr_INTTM50:
; line 1074
$DGL 0,6
br $?L0097 ;[INF] 2, 6
?L0096:
; line 1076
??bb01_isr_INTTM50:
; line 1077
$DGL 0,9
movw ax,_ScrollPosi ;[INF] 2, 6
or a,x ;[INF] 2, 4
bnz $?L0099 ;[INF] 2, 6
mov CR50,#061H ; 97 ;[INF] 3, 7
?L0099:
; line 1078
$DGL 0,10
call !_LcdStringScroll ;[INF] 3, 7
??eb01_isr_INTTM50:
; line 1079
?L0097:
; line 1080
$DGL 0,12
??ef_isr_INTTM50:
pop ax ;[INF] 1, 4
movw _@RTARG6,ax ;[INF] 2, 6
pop ax ;[INF] 1, 4
movw _@RTARG4,ax ;[INF] 2, 6
pop ax ;[INF] 1, 4
movw _@RTARG2,ax ;[INF] 2, 6
pop ax ;[INF] 1, 4
movw _@RTARG0,ax ;[INF] 2, 6
pop de ;[INF] 1, 4
pop bc ;[INF] 1, 4
pop ax ;[INF] 1, 4
reti ;[INF] 1, 6
??ee_isr_INTTM50:
@@VECT1E CSEG AT 001EH
_@vect1e:
DW _isr_INTTM50
@@CALF CSEG FIXED
END
; *** Code Information ***
;
; $FILE D:\78lx3seeitV1_1\source\lcd.c
;
; $FUNC LCD_init(805)
; void=(void)
; CODE SIZE= 42 bytes, CLOCK_SIZE= 113 clocks, STACK_SIZE= 2 bytes
;
; $CALL ClrLcdString(810)
; void=(void)
;
; $CALL SetLcdIndicator(811)
; void=(int:ax)
;
; $FUNC LCD_putc(837)
; void=(unsigned char seg:x, char data:[sp+2])
; CODE SIZE= 410 bytes, CLOCK_SIZE= 1307 clocks, STACK_SIZE= 8 bytes
;
; $FUNC LcdStringScroll(897)
; void=(void)
; CODE SIZE= 279 bytes, CLOCK_SIZE= 907 clocks, STACK_SIZE= 6 bytes
;
; $FUNC LCD_string_openning(952)
; void=(pointer point:ax, unsigned short size:[sp+2])
; CODE SIZE= 89 bytes, CLOCK_SIZE= 259 clocks, STACK_SIZE= 8 bytes
;
; $CALL LCD_string(958)
; void=(pointer:ax, unsigned short:[sp+2])
;
; $CALL ClrLcdString(965)
; void=(void)
;
; $CALL WaitBase50ms(968)
; void=(int:ax)
;
; $CALL LcdStringScroll(969)
; void=(void)
;
; $FUNC LCD_string(978)
; void=(pointer point:ax, unsigned short size:[sp+2])
; CODE SIZE= 202 bytes, CLOCK_SIZE= 666 clocks, STACK_SIZE= 8 bytes
;
; $CALL LCD_putc(988)
; void=(int:ax, int:[sp+2])
;
; $CALL LCD_putc(1006)
; void=(int:ax, int:[sp+2])
;
; $FUNC ClrLcdString(1018)
; void=(void)
; CODE SIZE= 38 bytes, CLOCK_SIZE= 104 clocks, STACK_SIZE= 2 bytes
;
; $FUNC SetLcdIndicator(1037)
; void=(unsigned char number:x)
; CODE SIZE= 14 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 2 bytes
;
; $FUNC ClrLcdIndicator(1046)
; void=(unsigned char number:x)
; CODE SIZE= 14 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 2 bytes
;
; $FUNC ClrAllIndicator(1055)
; void=(void)
; CODE SIZE= 30 bytes, CLOCK_SIZE= 84 clocks, STACK_SIZE= 2 bytes
;
; $FUNC isr_INTTM50(1069)
; void=(void)
; CODE SIZE= 81 bytes, CLOCK_SIZE= 259 clocks, STACK_SIZE= 18 bytes
;
; $CALL LCD_string(1073)
; void=(pointer:ax, unsigned short:[sp+2])
;
; $CALL LcdStringScroll(1078)
; void=(void)
; Target chip : uPD78F0495
; Device file : V1.11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -