📄 display.lis
字号:
0174 809D xjmp L22
0176 L21:
0176 .dbline 98
0176 ; int i;
0176 ; while ( *dataPtr )
0176 ; {
0176 .dbline 99
0176 ; char ch = *dataPtr++;
0176 52FC mov A,[X-4]
0178 5300 mov [__r1],A
017A 52FB mov A,[X-5]
017C 5300 mov [__r0],A
017E 5100 mov A,[__r1]
0180 0101 add A,1
0182 54FC mov [X-4],A
0184 5100 mov A,[__r0]
0186 0900 adc A,0
0188 54FB mov [X-5],A
018A 3E00 mvi A,[__r1]
018C 7A00 dec [__r1]
018E 5402 mov [X+2],A
0190 .dbline 100
0190 560100 mov [X+1],0
0193 560000 mov [X+0],0
0196 L24:
0196 .dbline 100
0196 550005 mov [__r1],5
0199 550000 mov [__r0],0
019C 5202 mov A,[X+2]
019E 5300 mov [__r3],A
01A0 550000 mov [__r2],0
01A3 550000 mov [__rX],0
01A6 550000 mov [__rY],0
01A9 X7:
01A9 3C0000 cmp [__r0],0
01AC B006 jnz X10
01AE 3C0000 cmp [__r1],0
01B1 A017 jz X9
01B3 X10:
01B3 70FB and F,-5
01B5 6E00 rrc [__r0]
01B7 6E00 rrc [__r1]
01B9 D009 jnc X8
01BB 5100 mov A,[__r3]
01BD 0400 add [__rX],A
01BF 5100 mov A,[__r2]
01C1 0C00 adc [__rY],A
01C3 X8:
01C3 6500 asl [__r3]
01C5 6B00 rlc [__r2]
01C7 8FE1 jmp X7
01C9 X9:
01C9 5F0000 mov [__r1],[__rX]
01CC 5F0000 mov [__r0],[__rY]
01CF 060060 add [__r1],<_FontLookup-160
01D2 0E0060 adc [__r0],>_FontLookup-160
01D5 5201 mov A,[X+1]
01D7 0200 add A,[__r1]
01D9 5300 mov [__r1],A
01DB 5200 mov A,[X+0]
01DD 0A00 adc A,[__r0]
01DF 10 push X
01E0 5800 mov X,[__r1]
01E2 28 romx
01E3 20 pop X
01E4 08 push A
01E5 93F6 xcall _LcdSendData
01E7 38FF add SP,-1
01E9 L25:
01E9 .dbline 100
01E9 7701 inc [X+1]
01EB 0F0000 adc [X+0],0
01EE .dbline 100
01EE 5200 mov A,[X+0]
01F0 3180 xor A,-128
01F2 5300 mov [__rY],A
01F4 5000 mov A,0
01F6 3180 xor A,-128
01F8 5300 mov [__rZ],A
01FA 550000 mov [__rX],0
01FD 5201 mov A,[X+1]
01FF 1105 sub A,5
0201 2C00 or [__rX],A
0203 5100 mov A,[__rY]
0205 1A00 sbb A,[__rZ]
0207 2C00 or [__rX],A
0209 CF8C jc L24
020B X11:
020B .dbline 102
020B 5000 mov A,0
020D 08 push A
020E 93CD xcall _LcdSendData
0210 38FF add SP,-1
0212 .dbline 103
0212 L22:
0212 .dbline 97
0212 52FC mov A,[X-4]
0214 5300 mov [__r1],A
0216 3E00 mvi A,[__r1]
0218 BF5D jnz L21
021A .dbline -2
021A .dbline 104
021A ; for(i=0; i<5; i++) LcdSendData(FontLookup[ch-32][i]);
021A ; // empty space after character
021A ; LcdSendData(0x00);
021A ; }
021A ; }
021A L20:
021A 38FD add SP,-3
021C 20 pop X
021D .dbline 0 ; func end
021D 7F ret
021E .dbsym l ch 2 c
021E .dbsym l i 0 I
021E .dbsym l dataPtr -5 pc
021E .dbend
021E .dbfunc e LcdCStr _LcdCStr fV
021E ; ch -> X+2
021E ; i -> X+0
021E ; dataPtr -> X-5
021E _LcdCStr::
021E .dbline -1
021E 10 push X
021F 4F mov X,SP
0220 3803 add SP,3
0222 .dbline 107
0222 ;
0222 ; void LcdCStr ( const char *dataPtr )
0222 ; {
0222 80A0 xjmp L31
0224 L30:
0224 .dbline 110
0224 ; int i;
0224 ; while ( *dataPtr )
0224 ; {
0224 .dbline 111
0224 ; char ch = *dataPtr++;
0224 52FC mov A,[X-4]
0226 5300 mov [__r1],A
0228 52FB mov A,[X-5]
022A 5300 mov [__r0],A
022C 5100 mov A,[__r1]
022E 0101 add A,1
0230 54FC mov [X-4],A
0232 5100 mov A,[__r0]
0234 0900 adc A,0
0236 54FB mov [X-5],A
0238 5100 mov A,[__r0]
023A 10 push X
023B 5800 mov X,[__r1]
023D 28 romx
023E 20 pop X
023F 5402 mov [X+2],A
0241 .dbline 112
0241 560100 mov [X+1],0
0244 560000 mov [X+0],0
0247 L33:
0247 .dbline 112
0247 550005 mov [__r1],5
024A 550000 mov [__r0],0
024D 5202 mov A,[X+2]
024F 5300 mov [__r3],A
0251 550000 mov [__r2],0
0254 550000 mov [__rX],0
0257 550000 mov [__rY],0
025A X12:
025A 3C0000 cmp [__r0],0
025D B006 jnz X15
025F 3C0000 cmp [__r1],0
0262 A017 jz X14
0264 X15:
0264 70FB and F,-5
0266 6E00 rrc [__r0]
0268 6E00 rrc [__r1]
026A D009 jnc X13
026C 5100 mov A,[__r3]
026E 0400 add [__rX],A
0270 5100 mov A,[__r2]
0272 0C00 adc [__rY],A
0274 X13:
0274 6500 asl [__r3]
0276 6B00 rlc [__r2]
0278 8FE1 jmp X12
027A X14:
027A 5F0000 mov [__r1],[__rX]
027D 5F0000 mov [__r0],[__rY]
0280 060060 add [__r1],<_FontLookup-160
0283 0E0060 adc [__r0],>_FontLookup-160
0286 5201 mov A,[X+1]
0288 0200 add A,[__r1]
028A 5300 mov [__r1],A
028C 5200 mov A,[X+0]
028E 0A00 adc A,[__r0]
0290 10 push X
0291 5800 mov X,[__r1]
0293 28 romx
0294 20 pop X
0295 08 push A
0296 9345 xcall _LcdSendData
0298 38FF add SP,-1
029A L34:
029A .dbline 112
029A 7701 inc [X+1]
029C 0F0000 adc [X+0],0
029F .dbline 112
029F 5200 mov A,[X+0]
02A1 3180 xor A,-128
02A3 5300 mov [__rY],A
02A5 5000 mov A,0
02A7 3180 xor A,-128
02A9 5300 mov [__rZ],A
02AB 550000 mov [__rX],0
02AE 5201 mov A,[X+1]
02B0 1105 sub A,5
02B2 2C00 or [__rX],A
02B4 5100 mov A,[__rY]
02B6 1A00 sbb A,[__rZ]
02B8 2C00 or [__rX],A
02BA CF8C jc L33
02BC X16:
02BC .dbline 114
02BC 5000 mov A,0
02BE 08 push A
02BF 931C xcall _LcdSendData
02C1 38FF add SP,-1
02C3 .dbline 115
02C3 L31:
02C3 .dbline 109
02C3 52FC mov A,[X-4]
02C5 5300 mov [__r1],A
02C7 52FB mov A,[X-5]
02C9 10 push X
02CA 5800 mov X,[__r1]
02CC 28 romx
02CD 20 pop X
02CE 3900 cmp A,0
02D0 BF53 jnz L30
02D2 .dbline -2
02D2 .dbline 116
02D2 ; for(i=0; i<5; i++) LcdSendData(FontLookup[ch-32][i]);
02D2 ; // empty space after character
02D2 ; LcdSendData(0x00);
02D2 ; }
02D2 ; }
02D2 L29:
02D2 38FD add SP,-3
02D4 20 pop X
02D5 .dbline 0 ; func end
02D5 7F ret
02D6 .dbsym l ch 2 c
02D6 .dbsym l i 0 I
02D6 .dbsym l dataPtr -5 pc
02D6 .dbend
02D6 .dbfunc e LcdVBargraph _LcdVBargraph fV
02D6 ; j -> X+2
02D6 ; ch -> X+1
02D6 ; i -> X+0
02D6 ; yposition -> X-7
02D6 ; yend -> X-6
02D6 ; ystart -> X-5
02D6 ; x -> X-4
02D6 _LcdVBargraph::
02D6 .dbline -1
02D6 10 push X
02D7 4F mov X,SP
02D8 3805 add SP,5
02DA .dbline 119
02DA ;
02DA ; void LcdVBargraph (char x, char ystart, char yend, char yposition)
02DA ; {
02DA .dbline 121
02DA ; char i,j,ch;
02DA ; LcdSendCommand(0x40 | yend);
02DA 52FA mov A,[X-6]
02DC 2940 or A,64
02DE 08 push A
02DF 9316 xcall _LcdSendCommand
02E1 38FF add SP,-1
02E3 .dbline 122
02E3 ; LcdSendCommand(0x80 | x);
02E3 52FC mov A,[X-4]
02E5 2980 or A,-128
02E7 08 push A
02E8 930D xcall _LcdSendCommand
02EA .dbline 123
02EA ; LcdSendData(0xFF);
02EA 50FF mov A,-1
02EC 08 push A
02ED 92EE xcall _LcdSendData
02EF 38FE add SP,-2
02F1 .dbline 124
02F1 ; for (i=0; i<6 ; i++)
02F1 560000 mov [X+0],0
02F4 808E xjmp L42
02F6 L39:
02F6 .dbline 125
02F6 ; { switch (yposition)
02F6 .dbline 125
02F6 52F9 mov A,[X-7]
02F8 5404 mov [X+4],A
02FA 560300 mov [X+3],0
02FD 3D0300 cmp [X+3],0
0300 B006 jnz X20
0302 3D0400 cmp [X+4],0
0305 A049 jz L46
0307 X20:
0307 3D0300 cmp [X+3],0
030A B006 jnz X21
030C 3D0401 cmp [X+4],1
030F A044 jz L47
0311 X21:
0311 3D0300 cmp [X+3],0
0314 B006 jnz X22
0316 3D0402 cmp [X+4],2
0319 A03F jz L48
031B X22:
031B 3D0300 cmp [X+3],0
031E B006 jnz X23
0320 3D0403 cmp [X+4],3
0323 A03A jz L49
0325 X23:
0325 3D0300 cmp [X+3],0
0328 B006 jnz X24
032A 3D0404 cmp [X+4],4
032D A035 jz L50
032F X24:
032F 3D0300 cmp [X+3],0
0332 B006 jnz X25
0334 3D0405 cmp [X+4],5
0337 A030 jz L51
0339 X25:
0339 3D0300 cmp [X+3],0
033C B006 jnz X26
033E 3D0406 cmp [X+4],6
0341 A02B jz L52
0343 X26:
0343 3D0300 cmp [X+3],0
0346 B006 jnz X27
0348 3D0407 cmp [X+4],7
034B A026 jz L53
034D X27:
034D 8029 xjmp L43
034F X17:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -