📄 lcd.asm
字号:
.long 0x65
.long 0x80102
.long 0xf
.long 0x111ffff
.long 0x756c6176
.long 0x65
.long 0x90102
.long 0xf
.long 0x11ffff
.long 0x65746661
.long 0x72
.long 0x70102
.long 0x4
.long 0x11ffff
DBG112:
.long 0x62622e
.long 0x0
.long DBG94
.long 0x0
.long 0x1640001
.long 0x0
.long 0x9
.long 0x0
.long DBG113
.long 0x0
.long 0x67616c66
.long 0x0
.long 0x40102
.long 0x4
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG97
.long 0x0
.long 0x1640001
.long 0x0
.long 0xe
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG97
.long 0x0
.long 0x1640001
.long 0x0
.long 0xe
.long 0x0
.long 0x0
.long 0x0
DBG113:
.long 0x62622e
.long 0x0
.long DBG97
.long 0x0
.long 0x1640001
.long 0x0
.long 0xe
.long 0x0
.long DBG114
.long 0x0
.long 0x65746661
.long 0x72
.long 0x80102
.long 0x4
.long 0x11ffff
.long 0x67616c66
.long 0x0
.long 0x40102
.long 0x4
.long 0x4ffff
DBG114:
.long 0x62622e
.long 0x0
.long DBG98
.long 0x0
.long 0x1640001
.long 0x0
.long 0xf
.long 0x0
.long DBG115
.long 0x0
.long 0x69
.long 0x0
.long 0x70102
.long 0x4
.long 0x4ffff
DBG115:
.long 0x62622e
.long 0x0
.long DBG100
.long 0x0
.long 0x1640001
.long 0x0
.long 0x11
.long 0x0
.long DBG116
.long 0x0
.long 0x69676964
.long 0x74
.long 0xc0102
.long 0xe
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG102
.long 0x0
.long 0x1640001
.long 0x0
.long 0x13
.long 0x0
.long 0x0
.long 0x0
DBG116:
.long 0x62622e
.long 0x0
.long DBG102
.long 0x0
.long 0x1640001
.long 0x0
.long 0x13
.long 0x0
.long DBG117
.long 0x0
.long 0x69676964
.long 0x74
.long 0xc0102
.long 0xe
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG103
.long 0x0
.long 0x1640001
.long 0x0
.long 0x14
.long 0x0
.long 0x0
.long 0x0
DBG117:
.long 0x62622e
.long 0x0
.long DBG103
.long 0x0
.long 0x1640001
.long 0x0
.long 0x14
.long 0x0
.long DBG118
.long 0x0
.long 0x69676964
.long 0x74
.long 0xc0102
.long 0xe
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG105
.long 0x0
.long 0x1640001
.long 0x0
.long 0x16
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG106
.long 0x0
.long 0x1640001
.long 0x0
.long 0x18
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG106
.long 0x0
.long 0x1640001
.long 0x0
.long 0x18
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG106
.long 0x0
.long 0x1640001
.long 0x0
.long 0x18
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG107
.long 0x0
.long 0x1650001
.long 0x0
.long 0x84
.long 0x0
.long 0x0
.long 0x0
.pseg lcd_code
DBG86:
.dbgseg dbg_syms
.long 0x0
.long DBG89
.long DBG86
.long 0x0
.long 0xff0001
; }
; void LCDudec16(uint16 value, int16 pos, int16 digits, int16 after)
DBG85:
.long 0x0
.long DBG123
.long _LCDudec16
.long 0x40
.long 0x1020001
.long DBG90
.long DBG120-DBG121
.long DBG122
.long DBG119
.long 0x0
.pseg lcd_code
DBG121:
.dbgseg dbg_syms
DBG90:
.long 0x66622e
.long 0x0
.long DBG121
.long 0x0
.long 0x1650001
.long 0x0
.long 0x8c
.long 0x0
.long DBG124
.long 0x0
.dbgseg dbg_line
DBG122:
.long DBG85
.long 0x0
.long _LCDudec16
.long 0x1
.long DBG126
.long 0x2
.long DBG127
.long 0x7
.long DBG128
.long 0x8
.long DBG129
.long 0xa
.long DBG130
.long 0xb
.long DBG131
.long 0xc
.long DBG132
.long 0xd
.long DBG133
.long 0xe
.long DBG134
.long 0xf
.long DBG135
.long 0x10
.long DBG136
.long 0x12
.long DBG137
.long 0x13
.long DBG138
.long 0x14
.long DBG139
.long 0x15
.long DBG140
.long 0x16
.long DBG141
.long 0x19
.long DBG142
.long 0x1a
.long DBG143
.long 0x1b
.long DBG144
.long 0x1c
.long DBG145
.long 0x1d
.pseg lcd_code
.global _LCDudec16
_LCDudec16:
push r4
push r5
push r6
push r7
push r8
DBG125:
; ENTRY
mov r12,r8
; value at argloc 0 (0x0) in reg size 2
mov r13,r5
; pos at argloc 0 (0x0) in reg size 2
mov r14,r7
; digits at argloc 0 (0x0) in reg size 2
mov r15,r6
DBG127:
DBG126:
; after at argloc 0 (0x0) in reg size 2
; i in reg size 2
; flag in reg size 2
; digit in reg size 2
; {
; int16 i;
; int16 flag;
; uint16 digit;
; flag = 1;
mov #0x1,r4
DBG128:
; LCDchar( 0 , pos++);
mov r5,r13
add #0x1,r5
mov.b #0x0,r12
call #_LCDchar
DBG129:
; bin2bcd16(bcd, value);
mov r8,r13
mov #_bcd,r12
call #_bin2bcd16
DBG130:
; after = digits - after;
mov r7,r8
sub r6,r8
DBG131:
; while (digits > 6)
LCDudec16_L1:
mov #0x6,r12
cmp r7,r12
jge LCDudec16_L2
DBG133:
DBG132:
; {
; LCDchar( 0 , pos++);
mov r5,r13
add #0x1,r5
mov.b #0x0,r12
call #_LCDchar
DBG134:
; digits--;
sub #0x1,r7
DBG135:
jmp LCDudec16_L1
LCDudec16_L2:
; }
; for (i=0; i<digits ; i++)
DBG136:
mov #0x0,r6
cmp r7,r6
jge LCDudec16_L3
LCDudec16_L4:
; {
DBG137:
; digit = bcd[i >> 1];
DBG138:
mov r6,r12
rra r12
mov.b _bcd(r12),r12
DBG139:
; if ((i & 1) == 0)
bit #0x1,r6
jne LCDudec16_L5
DBG140:
; digit >>= 4;
clrc
rrc r12
rra r12
rra r12
rra r12
DBG141:
LCDudec16_L5:
; if ((digit & 0x0F) || i >= after -1)
and #0xf,r12
jne LCDudec16_L7
mov r8,r13
sub #0x1,r13
cmp r13,r6
jl LCDudec16_L6
LCDudec16_L7:
; flag = 0;
DBG142:
mov #0x0,r4
DBG143:
LCDudec16_L6:
; LCDchar((flag == 0) ? lcd_digit_table[digit & 0x0F] : 0 , (pos++ +1));
mov r5,r13
add #0x1,r5
add #0x1,r13
cmp #0x0,r4
jne LCDudec16_LL2
mov.b _lcd_digit_table(r12),r12
jmp LCDudec16_LL3
LCDudec16_LL2:
mov #0x0,r12
LCDudec16_LL3:
and.b #0xff,r12
call #_LCDchar
DBG144:
add #0x1,r6
cmp r7,r6
jl LCDudec16_L4
LCDudec16_L3:
; }
DBG145:
; EXIT
; .temp2 at stkloc 0 (0x0) size 10
DBG146:
pop r8
pop r7
pop r6
pop r5
pop r4
ret
.dbgseg dbg_syms
.long 0x0
.long DBG20
.long 0xa
.long 0x0
.long 0x10002
.long 0x0
.long DBG21
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x4
.long 0x0
.long 0x10002
.long 0x0
.long DBG42
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG60
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG108
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG109
.long 0x0
.long 0x0
.long 0x10002
DBG118:
.long 0x62622e
.long 0x0
.long DBG125
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1
.long 0x0
.long DBG147
.long 0x0
.long 0x756c6176
.long 0x65
.long 0xc0102
.long 0xe
.long 0x11ffff
.long 0x736f70
.long 0x0
.long 0xd0102
.long 0x4
.long 0x11ffff
.long 0x69676964
.long 0x7374
.long 0xe0102
.long 0x4
.long 0x11ffff
.long 0x65746661
.long 0x72
.long 0xf0102
.long 0x4
.long 0x11ffff
.long 0x62652e
.long 0x0
.long DBG126
.long 0x0
.long 0x1640001
.long 0x0
.long 0x2
.long 0x0
.long 0x0
.long 0x0
DBG147:
.long 0x62622e
.long 0x0
.long DBG126
.long 0x0
.long 0x1640001
.long 0x0
.long 0x2
.long 0x0
.long DBG148
.long 0x0
.long 0x736f70
.long 0x0
.long 0x50102
.long 0x4
.long 0x11ffff
.long 0x69676964
.long 0x7374
.long 0x70102
.long 0x4
.long 0x11ffff
DBG148:
.long 0x62622e
.long 0x0
.long DBG126
.long 0x0
.long 0x1640001
.long 0x0
.long 0x2
.long 0x0
.long DBG149
.long 0x0
.long 0x756c6176
.long 0x65
.long 0x80102
.long 0xe
.long 0x11ffff
.long 0x65746661
.long 0x72
.long 0x60102
.long 0x4
.long 0x11ffff
DBG149:
.long 0x62622e
.long 0x0
.long DBG128
.long 0x0
.long 0x1640001
.long 0x0
.long 0x8
.long 0x0
.long DBG150
.long 0x0
.long 0x67616c66
.long 0x0
.long 0x40102
.long 0x4
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0xc
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0xc
.long 0x0
.long 0x0
.long 0x0
DBG150:
.long 0x62622e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0xc
.long 0x0
.long DBG151
.long 0x0
.long 0x65746661
.long 0x72
.long 0x80102
.long 0x4
.long 0x11ffff
.long 0x67616c66
.long 0x0
.long 0x40102
.long 0x4
.long 0x4ffff
DBG151:
.long 0x62622e
.long 0x0
.long DBG137
.long 0x0
.long 0x1640001
.long 0x0
.long 0x13
.long 0x0
.long DBG152
.long 0x0
.long 0x69
.long 0x0
.long 0x60102
.long 0x4
.long 0x4ffff
DBG152:
.long 0x62622e
.long 0x0
.long DBG139
.long 0x0
.long 0x1640001
.long 0x0
.long 0x15
.long 0x0
.long DBG153
.long 0x0
.long 0x69676964
.long 0x74
.long 0xc0102
.long 0xe
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG141
.long 0x0
.long 0x1640001
.long 0x0
.long 0x19
.long 0x0
.long 0x0
.long 0x0
DBG153:
.long 0x62622e
.long 0x0
.long DBG141
.long 0x0
.long 0x1640001
.long 0x0
.long 0x19
.long 0x0
.long DBG154
.long 0x0
.long 0x69676964
.long 0x74
.long 0xc0102
.long 0xe
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG142
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1a
.long 0x0
.long 0x0
.long 0x0
DBG154:
.long 0x62622e
.long 0x0
.long DBG142
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1a
.long 0x0
.long DBG155
.long 0x0
.long 0x69676964
.long 0x74
.long 0xc0102
.long 0xe
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG144
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1c
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG145
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1d
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG145
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1d
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG145
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1d
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG146
.long 0x0
.long 0x1650001
.long 0x0
.long 0xa8
.long 0x0
.long 0x0
.long 0x0
.pseg lcd_code
DBG120:
.dbgseg dbg_syms
.long 0x0
.long DBG123
.long DBG120
.long 0x0
.long 0xff0001
; }
; void update_rtc_display(void)
DBG119:
.long 0x0
.long DBG160
.long _update_rtc_display
.long 0x40
.long 0x1020001
.long DBG124
.long DBG157-DBG158
.long DBG159
.long DBG156
.long 0x0
.pseg lcd_code
DBG158:
.dbgseg dbg_syms
DBG124:
.long 0x66622e
.long 0x0
.long DBG158
.long 0x0
.long 0x1650001
.long 0x0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -