⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.ls1

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     875     
                     876     ; }
                     877     ; 
                     878     ; unsigned char data *get_num_str(unsigned char num)
                     879     
----                 880             RSEG  ?PR?_get_num_str?MAIN
0000                 881     _get_num_str:
                     882             USING   0
                     883                             ; SOURCE LINE # 192
                     884     ;---- Variable 'num?556' assigned to Register 'R7' ----
                     885     ; {
                     886                             ; SOURCE LINE # 193
                     887     ;       static unsigned char num_str[4];
                     888     ;       char end = 3;
                     889                             ; SOURCE LINE # 195
                     890     ;---- Variable 'end?558' assigned to Register 'R6' ----
0000 7E03            891             MOV     R6,#03H
                     892     ; 
                     893     ;       num_str[end] = 0;
                     894                             ; SOURCE LINE # 197
0002 7400     F      895             MOV     A,#LOW (num_str?557)
0004 2E              896             ADD     A,R6
0005 F8              897             MOV     R0,A
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    15

0006 E4              898             CLR     A
0007 F6              899             MOV     @R0,A
                     900     ;       end--;
                     901                             ; SOURCE LINE # 198
0008 1E              902             DEC     R6
0009                 903     ?C0016:
                     904     ; 
                     905     ;       while (end >= 0) {
                     906                             ; SOURCE LINE # 200
0009 C3              907             CLR     C
000A EE              908             MOV     A,R6
000B 6480            909             XRL     A,#080H
000D 9480            910             SUBB    A,#080H
000F 4019            911             JC      ?C0019
                     912     ;               num_str[end] = '0'+num%10;
                     913                             ; SOURCE LINE # 201
0011 EF              914             MOV     A,R7
0012 75F00A          915             MOV     B,#0AH
0015 84              916             DIV     AB
0016 E5F0            917             MOV     A,B
0018 2430            918             ADD     A,#030H
001A FD              919             MOV     R5,A
001B 7400     F      920             MOV     A,#LOW (num_str?557)
001D 2E              921             ADD     A,R6
001E F8              922             MOV     R0,A
001F A605            923             MOV     @R0,AR5
                     924     ;               end--;
                     925                             ; SOURCE LINE # 202
0021 1E              926             DEC     R6
                     927     ;               num /= 10;
                     928                             ; SOURCE LINE # 203
0022 EF              929             MOV     A,R7
0023 75F00A          930             MOV     B,#0AH
0026 84              931             DIV     AB
0027 FF              932             MOV     R7,A
                     933     ;               if (num == 0)
                     934                             ; SOURCE LINE # 204
0028 70DF            935             JNZ     ?C0016
                     936     ;                       break;
                     937                             ; SOURCE LINE # 205
                     938     ;       }
                     939                             ; SOURCE LINE # 206
002A                 940     ?C0019:
                     941     ;       while (end >= 0) {
                     942                             ; SOURCE LINE # 207
002A C3              943             CLR     C
002B EE              944             MOV     A,R6
002C 6480            945             XRL     A,#080H
002E 9480            946             SUBB    A,#080H
0030 4009            947             JC      ?C0020
                     948     ;               num_str[end] = ' ';
                     949                             ; SOURCE LINE # 208
0032 7400     F      950             MOV     A,#LOW (num_str?557)
0034 2E              951             ADD     A,R6
0035 F8              952             MOV     R0,A
0036 7620            953             MOV     @R0,#020H
                     954     ;               end--;
                     955                             ; SOURCE LINE # 209
0038 1E              956             DEC     R6
                     957     ;       }
                     958                             ; SOURCE LINE # 210
0039 80EF            959             SJMP    ?C0019
003B                 960     ?C0020:
                     961     ;       return num_str;
                     962                             ; SOURCE LINE # 211
003B 7F00     F      963             MOV     R7,#LOW (num_str?557)
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    16

                     964     ; }
                     965                             ; SOURCE LINE # 212
003D                 966     ?C0021:
003D 22              967             RET     
                     968     ; END OF _get_num_str
                     969     
                     970     ; 
                     971     ; void paint_line(char row, char col, unsigned char count, unsigned char color)
                     972     
----                 973             RSEG  ?PR?_paint_line?MAIN
0000                 974     _paint_line:
                     975             USING   0
                     976                             ; SOURCE LINE # 214
0000 8F00     F      977             MOV     row?659,R7
0002 8D00     F      978             MOV     col?660,R5
                     979     ;---- Variable 'count?661' assigned to Register 'R1' ----
0004 A903            980             MOV     R1,AR3
                     981     ; {
                     982                             ; SOURCE LINE # 215
0006                 983     ?C0022:
                     984     ;       while (count--)
                     985                             ; SOURCE LINE # 216
0006 AF01            986             MOV     R7,AR1
0008 19              987             DEC     R1
0009 EF              988             MOV     A,R7
000A 600D            989             JZ      ?C0024
                     990     ;               mtv130_puta(row, col++, color);
                     991                             ; SOURCE LINE # 217
000C AD00     F      992             MOV     R5,col?660
000E 0500     F      993             INC     col?660
0010 AB00     F      994             MOV     R3,color?662
0012 AF00     F      995             MOV     R7,row?659
0014 120000   F      996             LCALL   _mtv130_puta
0017 80ED            997             SJMP    ?C0022
                     998     ; }
                     999                             ; SOURCE LINE # 218
0019                1000     ?C0024:
0019 22             1001             RET     
                    1002     ; END OF _paint_line
                    1003     
                    1004     ; 
                    1005     ; void clear_line(char row)
                    1006     
----                1007             RSEG  ?PR?_clear_line?MAIN
0000                1008     _clear_line:
                    1009             USING   0
                    1010                             ; SOURCE LINE # 220
0000 8F00     F     1011             MOV     row?763,R7
                    1012     ; {
                    1013                             ; SOURCE LINE # 221
                    1014     ;       char col;
                    1015     ;       for (col = 0; col != 30; col++) {
                    1016                             ; SOURCE LINE # 223
                    1017     ;---- Variable 'col?764' assigned to Register 'R1' ----
0002 E4             1018             CLR     A
0003 F9             1019             MOV     R1,A
0004                1020     ?C0025:
                    1021     ;               osd_putchar(row, col, 0, 0);
                    1022                             ; SOURCE LINE # 224
0004 AD01           1023             MOV     R5,AR1
0006 E4             1024             CLR     A
0007 FB             1025             MOV     R3,A
0008 AF00     F     1026             MOV     R7,row?763
000A 120000   F     1027             LCALL   _mtv130_putd
000D AD01           1028             MOV     R5,AR1
000F E4             1029             CLR     A
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    17

0010 FB             1030             MOV     R3,A
0011 AF00     F     1031             MOV     R7,row?763
0013 120000   F     1032             LCALL   _mtv130_puta
                    1033     ;       }
                    1034                             ; SOURCE LINE # 225
0016 09             1035             INC     R1
0017 B91EEA         1036             CJNE    R1,#01EH,?C0025
                    1037     ; }
                    1038                             ; SOURCE LINE # 226
001A                1039     ?C0031:
001A 22             1040             RET     
                    1041     ; END OF _clear_line
                    1042     
                    1043     ; 
                    1044     ; void draw_progbar(char row, char col, struct progbar_struct data *pb)
                    1045     
----                1046             RSEG  ?PR?_draw_progbar?MAIN
0000                1047     _draw_progbar:
                    1048             USING   0
                    1049                             ; SOURCE LINE # 228
0000 8F00     F     1050             MOV     row?865,R7
0002 8D00     F     1051             MOV     col?866,R5
                    1052     ;---- Variable 'pb?867' assigned to Register 'R3' ----
                    1053     ; {
                    1054                             ; SOURCE LINE # 229
                    1055     ;       unsigned char range = pb->range, step = pb->step, pos = pb->pos;
                    1056                             ; SOURCE LINE # 230
0004 EB             1057             MOV     A,R3
0005 04             1058             INC     A
0006 F8             1059             MOV     R0,A
0007 E6             1060             MOV     A,@R0
0008 F500     F     1061             MOV     range?868,A
000A EB             1062             MOV     A,R3
000B 2403           1063             ADD     A,#03H
000D F8             1064             MOV     R0,A
000E E6             1065             MOV     A,@R0
000F F500     F     1066             MOV     step?869,A
0011 EB             1067             MOV     A,R3
0012 2402           1068             ADD     A,#02H
0014 F8             1069             MOV     R0,A
0015 E6             1070             MOV     A,@R0
0016 F500     F     1071             MOV     pos?870,A
                    1072     ;       unsigned char i = 0, c;
                    1073                             ; SOURCE LINE # 231
                    1074     ;---- Variable 'i?871' assigned to Register 'R1' ----
0018 E4             1075             CLR     A
0019 F9             1076             MOV     R1,A
                    1077     ; 
                    1078     ;       osd_setrowattr(row, 0);
                    1079                             ; SOURCE LINE # 233
001A FB             1080             MOV     R3,A
001B 7D1E           1081             MOV     R5,#01EH
001D 120000   F     1082             LCALL   _mtv130_putd
                    1083     ; 
                    1084     ;       disp_char(row, col, BAR_B);
                    1085                             ; SOURCE LINE # 235
0020 7B80           1086             MOV     R3,#080H
0022 120000   F     1087             LCALL   L?0200
                    1088     ;       col += 1;
                    1089                             ; SOURCE LINE # 236
0025 0500     F     1090             INC     col?866
                    1091     ;       
                    1092     ;       for (; i < pos*step/BAR_N; i++) {
                    1093                             ; SOURCE LINE # 238
0027                1094     ?C0032:
0027 E500     F     1095             MOV     A,pos?870
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    18

0029 8500F0   F     1096             MO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -