📄 main.ls1
字号:
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 + -