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

📄 main.ls1

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     649             USING   0
                     650                             ; SOURCE LINE # 150
                     651     ;---- Variable 'row?140' assigned to Register 'R7' ----
                     652     ;---- Variable 'c?142' assigned to Register 'R6' ----
0004 AE03            653             MOV     R6,AR3
                     654     ;---- Variable 'col?141' assigned to Register 'R5' ----
                     655     ; {
                     656                             ; SOURCE LINE # 151
                     657     ;       unsigned char v = c;
                     658                             ; SOURCE LINE # 152
                     659     ;---- Variable 'v?143' assigned to Register 'R3' ----
                     660     ;       if (c >= '0' && c <= '9')
                     661                             ; SOURCE LINE # 153
0006 EE              662             MOV     A,R6
0007 C3              663             CLR     C
0008 9430            664             SUBB    A,#030H
000A 400A            665             JC      ?C0002
000C EE              666             MOV     A,R6
000D D3              667             SETB    C
000E 9439            668             SUBB    A,#039H
0010 5004            669             JNC     ?C0002
                     670     ;               v = c - '0' + 1;
                     671                             ; SOURCE LINE # 154
0012 EE              672             MOV     A,R6
0013 24D1            673             ADD     A,#0D1H
0015 FB              674             MOV     R3,A
0016                 675     ?C0002:
                     676     ;       if (c >= 'A' && c <= 'N')
                     677                             ; SOURCE LINE # 155
0016 EE              678             MOV     A,R6
0017 C3              679             CLR     C
0018 9441            680             SUBB    A,#041H
001A 400A            681             JC      ?C0003
001C EE              682             MOV     A,R6
001D D3              683             SETB    C
001E 944E            684             SUBB    A,#04EH
0020 5004            685             JNC     ?C0003
                     686     ;               v = c - 'A' + 11;
                     687                             ; SOURCE LINE # 156
0022 EE              688             MOV     A,R6
0023 24CA            689             ADD     A,#0CAH
0025 FB              690             MOV     R3,A
0026                 691     ?C0003:
                     692     ;       if (c == 'O')
                     693                             ; SOURCE LINE # 157
0026 BE4F02          694             CJNE    R6,#04FH,?C0004
                     695     ;               v = 1;
                     696                             ; SOURCE LINE # 158
0029 7B01            697             MOV     R3,#01H
002B                 698     ?C0004:
                     699     ;       if (c >= 'P' && c <= 'Z')
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    12

                     700                             ; SOURCE LINE # 159
002B EE              701             MOV     A,R6
002C C3              702             CLR     C
002D 9450            703             SUBB    A,#050H
002F 400A            704             JC      ?C0005
0031 EE              705             MOV     A,R6
0032 D3              706             SETB    C
0033 945A            707             SUBB    A,#05AH
0035 5004            708             JNC     ?C0005
                     709     ;               v = c - 'A' + 10;
                     710                             ; SOURCE LINE # 160
0037 EE              711             MOV     A,R6
0038 24C9            712             ADD     A,#0C9H
003A FB              713             MOV     R3,A
003B                 714     ?C0005:
                     715     ;       if (c >= 'a' && c <= 'z')
                     716                             ; SOURCE LINE # 161
003B EE              717             MOV     A,R6
003C C3              718             CLR     C
003D 9461            719             SUBB    A,#061H
003F 400A            720             JC      ?C0006
0041 EE              721             MOV     A,R6
0042 D3              722             SETB    C
0043 947A            723             SUBB    A,#07AH
0045 5004            724             JNC     ?C0006
                     725     ;               v = c - 'a' + 36;
                     726                             ; SOURCE LINE # 162
0047 EE              727             MOV     A,R6
0048 24C3            728             ADD     A,#0C3H
004A FB              729             MOV     R3,A
004B                 730     ?C0006:
                     731     ;       if (c == ' ')
                     732                             ; SOURCE LINE # 163
004B BE2002          733             CJNE    R6,#020H,?C0007
                     734     ;               v = 0;
                     735                             ; SOURCE LINE # 164
004E E4              736             CLR     A
004F FB              737             MOV     R3,A
0050                 738     ?C0007:
                     739     ;       mtv130_putd(row, col, v);
                     740                             ; SOURCE LINE # 165
0050 020000   F      741             LJMP    _mtv130_putd
                     742     ; END OF _disp_char
                     743     
                     744     ; }
                     745     ; 
                     746     ; void disp_str(char row, char col, unsigned char *str)
                     747     
----                 748             RSEG  ?PR?_disp_str?MAIN
0000                 749     _disp_str:
                     750             USING   0
                     751                             ; SOURCE LINE # 168
0000 8F00     F      752             MOV     row?244,R7
0002 8D00     F      753             MOV     col?245,R5
0004 8B00     F      754             MOV     str?246,R3
0006 8A00     F      755             MOV     str?246+01H,R2
0008 8900     F      756             MOV     str?246+02H,R1
                     757     ; {
                     758                             ; SOURCE LINE # 169
000A                 759     ?C0009:
                     760     ;       unsigned char c;
                     761     ;       while ((c = *str++) != 0) {
                     762                             ; SOURCE LINE # 171
000A AB00     F      763             MOV     R3,str?246
000C 0500     F      764             INC     str?246+02H
000E E500     F      765             MOV     A,str?246+02H
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    13

0010 AA00     F      766             MOV     R2,str?246+01H
0012 7002            767             JNZ     ?C0190
0014 0500     F      768             INC     str?246+01H
0016                 769     ?C0190:
0016 14              770             DEC     A
0017 F9              771             MOV     R1,A
0018 120000   F      772             LCALL   ?C?CLDPTR
                     773     ;---- Variable 'c?247' assigned to Register 'R1' ----
001B F9              774             MOV     R1,A
001C 600C            775             JZ      ?C0011
                     776     ;               disp_char(row, col, c);
                     777                             ; SOURCE LINE # 172
001E FB              778             MOV     R3,A
001F AD00     F      779             MOV     R5,col?245
0021 AF00     F      780             MOV     R7,row?244
0023 120000   F      781             LCALL   _disp_char
                     782     ;               col += 1;
                     783                             ; SOURCE LINE # 173
0026 0500     F      784             INC     col?245
                     785     ;       }
                     786                             ; SOURCE LINE # 174
0028 80E0            787             SJMP    ?C0009
                     788     ; }
                     789                             ; SOURCE LINE # 175
002A                 790     ?C0011:
002A 22              791             RET     
                     792     ; END OF _disp_str
                     793     
                     794     ; 
                     795     ; void disp_str2(char row, char col, unsigned char code *str, unsigned char color)
                     796     
----                 797             RSEG  ?PR?_disp_str2?MAIN
0000                 798     _disp_str2:
                     799             USING   0
                     800                             ; SOURCE LINE # 177
0000 8F00     F      801             MOV     row?348,R7
0002 8A00     F      802             MOV     str?350,R2
0004 8B00     F      803             MOV     str?350+01H,R3
                     804     ;---- Variable 'col?349' assigned to Register 'R1' ----
0006 A905            805             MOV     R1,AR5
                     806     ; {
                     807                             ; SOURCE LINE # 178
0008                 808     ?C0012:
                     809     ;       unsigned char c;
                     810     ;       while ((c = *str++) != 0) {//先加地址,再取里面的数据。
                     811                             ; SOURCE LINE # 180
0008 0500     F      812             INC     str?350+01H
000A E500     F      813             MOV     A,str?350+01H
000C AE00     F      814             MOV     R6,str?350
000E 7002            815             JNZ     ?C0191
0010 0500     F      816             INC     str?350
0012                 817     ?C0191:
0012 14              818             DEC     A
0013 F582            819             MOV     DPL,A
0015 8E83            820             MOV     DPH,R6
0017 E4              821             CLR     A
0018 93              822             MOVC    A,@A+DPTR
0019 F500     F      823             MOV     c?352,A
001B 6014            824             JZ      ?C0014
                     825     ;               disp_char(row, col, c);
                     826                             ; SOURCE LINE # 181
001D AD01            827             MOV     R5,AR1
001F FB              828             MOV     R3,A
0020 AF00     F      829             MOV     R7,row?348
0022 120000   F      830             LCALL   _disp_char
                     831     ;               mtv130_puta(row, col, color);
A51 MACRO ASSEMBLER  MAIN                                                                 04/22/2008 15:15:43 PAGE    14

                     832                             ; SOURCE LINE # 182
0025 AD01            833             MOV     R5,AR1
0027 AB00     F      834             MOV     R3,color?351
0029 AF00     F      835             MOV     R7,row?348
002B 120000   F      836             LCALL   _mtv130_puta
                     837     ;               col += 1;
                     838                             ; SOURCE LINE # 183
002E 09              839             INC     R1
                     840     ;       }
                     841                             ; SOURCE LINE # 184
002F 80D7            842             SJMP    ?C0012
                     843     ; }
                     844                             ; SOURCE LINE # 185
0031                 845     ?C0014:
0031 22              846             RET     
                     847     ; END OF _disp_str2
                     848     
                     849     ; 
                     850     ; void disp_str3(char row, char col, unsigned char code *str)
                     851     
----                 852             RSEG  ?PR?_disp_str3?MAIN
0000                 853     L?0202:
                     854             USING   0
0000 E4              855             CLR     A
0001 93              856             MOVC    A,@A+DPTR
0002 FA              857             MOV     R2,A
0003 7401            858             MOV     A,#01H
0005 93              859             MOVC    A,@A+DPTR
0006 FB              860             MOV     R3,A
0007                 861     _disp_str3:
                     862             USING   0
                     863                             ; SOURCE LINE # 187
                     864     ;---- Variable 'row?453' assigned to Register 'R7' ----
                     865     ;---- Variable 'str?455' assigned to Register 'R2/R3' ----
                     866     ;---- Variable 'col?454' assigned to Register 'R5' ----
                     867     ; {
                     868                             ; SOURCE LINE # 188
                     869     ;       disp_str(row, col, str);
                     870                             ; SOURCE LINE # 189
0007 A903            871             MOV     R1,AR3
0009 7BFF            872             MOV     R3,#0FFH
000B 020000   F      873             LJMP    _disp_str
                     874     ; END OF _disp_str3

⌨️ 快捷键说明

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