📄 main.lst
字号:
+ 120A 118A
975 0430 0874 movf btemp+4,w
976 0431 00B0 movwf ?a_displayTemp
977 ;main.c: 605: displayNumber(3, temp);
978 0432 00B1 movwf ?_displayNumber
979 0433 3003 movlw 3
980 0434 21F8 fcall _displayNumber
981 ;main.c: 606: number = number - temp * 100;
982 0435 3064 movlw 100
983 0436 00F2 movwf btemp+2
984 0437 01F3 clrf btemp+3
985 0438 0830 movf ?a_displayTemp,w
986 0439 00F0 movwf btemp
987 043A 01F1 clrf btemp+1
988 043B 120A 118A 21E3 fcall lwmul
989 043E 0874 movf btemp+4,w
990 043F 02AE subwf ?_displayTemp
991 0440 1C03 btfss 3,0
992 0441 03AF decf ?_displayTemp+1
993 0442 0875 movf btemp+5,w
994 0443 02AF subwf ?_displayTemp+1
995 ;main.c: 607: temp = number / 10;
996 0444 300A movlw 10
997 0445 00F2 movwf btemp+2
998 0446 01F3 clrf btemp+3
999 0447 082F movf ?_displayTemp+1,w
1000 0448 00F1 movwf btemp+1
1001 0449 082E movf ?_displayTemp,w
1002 044A 00F0 movwf btemp
1003 044B 120A 118A 27C6 fcall lwdiv
+ 120A 118A
1004 0450 0874 movf btemp+4,w
1005 0451 00B0 movwf ?a_displayTemp
1006 ;main.c: 609: displayNumber(4, temp);
1007 0452 00B1 movwf ?_displayNumber
1008 0453 3004 movlw 4
1009 0454 21F8 fcall _displayNumber
1010 ;main.c: 610: number = number - temp * 10;
1011 0455 300A movlw 10
1012 0456 00F2 movwf btemp+2
1013 0457 01F3 clrf btemp+3
1014 0458 0830 movf ?a_displayTemp,w
1015 0459 00F0 movwf btemp
1016 045A 01F1 clrf btemp+1
1017 045B 120A 118A 21E3 fcall lwmul
+ 120A 118A
1018 0460 0874 movf btemp+4,w
1019 0461 02AE subwf ?_displayTemp
1020 0462 1C03 btfss 3,0
1021 0463 03AF decf ?_displayTemp+1
1022 0464 0875 movf btemp+5,w
1023 0465 02AF subwf ?_displayTemp+1
1024 ;main.c: 611: displayNumber(5, number);
1025 0466 082E movf ?_displayTemp,w
1026 0467 00B1 movwf ?_displayNumber
1027 0468 3005 movlw 5
1028 0469 21F8 fcall _displayNumber
1029 ;main.c: 613: SEG4COM2 = 1;
1030 046A 1703 bsf 3,6
1031 046B 1616 bsf 22,4
1032 ;main.c: 614: SEG1COM2 = 1;
1033 046C 1496 bsf 22,1
1034 ;main.c: 616: }
1035 046D 1303 bcf 3,6 ;carry unused
1036 046E 0008 return ;W free
1037 046F _getTemperature
1038 ;main.c: 586: void getTemperature(void){
1039 046F 0183 clrf 3 ;select bank 0
1040 0470 151F bsf 31,2
1041 ;main.c: 590: delay();
1042 0471 120A 118A 26CD fcall _delay
1043 ;main.c: 591: delay();
1044 0474 120A 118A 26CD fcall _delay
+ 120A 118A
1045 ;main.c: 593: GODONE = 1;
1046 0479 149F bsf 31,1
1047 ;main.c: 594: while (GODONE);
1048 047A l141
1049 047A 189F btfsc 31,1
1050 047B 2C7A goto l141
1051 ;main.c: 595: boardTemp = (ADRESH << 8) + ADRES
+ L;
1052 047C 081E movf 30,w ;volatile
1053 047D 00AB movwf _boardTemp+1
1054 047E 1683 bsf 3,5
1055 047F 081E movf 30,w ;volatile
1056 0480 1283 bcf 3,5
1057 0481 00AA movwf _boardTemp
1058 ;main.c: 596: boardTemp = 36 * (boardTemp - 303
+ ) / 10;
1059 0482 3024 movlw 36
1060 0483 00F2 movwf btemp+2
1061 0484 01F3 clrf btemp+3
1062 0485 082B movf _boardTemp+1,w
1063 0486 00F1 movwf btemp+1
1064 0487 082A movf _boardTemp,w
1065 0488 00F0 movwf btemp
1066 0489 30D1 movlw 209
1067 048A 07F0 addwf btemp
1068 048B 1803 btfsc 3,0
1069 048C 0AF1 incf btemp+1
1070 048D 30FE movlw 254
1071 048E 07F1 addwf btemp+1
1072 048F 120A 118A 21E3 fcall lwmul
1073 0492 0874 movf btemp+4,w
1074 0493 00F0 movwf btemp
1075 0494 0875 movf btemp+5,w
1076 0495 00F1 movwf btemp+1
1077 0496 300A movlw 10
1078 0497 00F2 movwf btemp+2
1079 0498 3000 movlw 0
1080 0499 01F3 clrf btemp+3
1081 049A 120A 118A 27C6 fcall lwdiv
+ 120A 118A
1082 049F 0874 movf btemp+4,w
1083 04A0 00AA movwf _boardTemp
1084 04A1 0875 movf btemp+5,w
1085 04A2 00AB movwf _boardTemp+1
1086 ;main.c: 597: displayTemp(boardTemp);
1087 04A3 082A movf _boardTemp,w
1088 04A4 00AE movwf ?_displayTemp
1089 04A5 082B movf _boardTemp+1,w
1090 04A6 00AF movwf ?_displayTemp+1
1091 04A7 2C22 ljmp _displayTemp
1092 04A8 _numberBreak
1093 ; _number assigned to ?a_numberBreak+0
1094 0000 _numberBreak$number set ?a_numberBreak
1095 ;_number stored from w
1096 04A8 0183 clrf 3 ;select bank 0
1097 04A9 00AE movwf ?a_numberBreak
1098 ;main.c: 428: void numberBreak(unsigned char nu
+ mber){
1099 04AA 01A9 clrf _tens
1100 ;main.c: 430: ones = 0;
1101 04AB 01A7 clrf _ones
1102 ;main.c: 431: while(number >= 10){
1103 04AC 2CB0 goto l101
1104 04AD l102
1105 ;main.c: 432: number = number - 10;
1106 04AD 30F6 movlw -10
1107 04AE 07AE addwf ?a_numberBreak
1108 ;main.c: 433: tens ++;
1109 04AF 0AA9 incf _tens
1110 04B0 l101
1111 04B0 300A movlw 10
1112 04B1 022E subwf ?a_numberBreak,w
1113 04B2 1803 btfsc 3,0
1114 04B3 2CAD goto l102
1115 ;main.c: 434: }
1116 04B4 082E movf ?a_numberBreak,w
1117 04B5 00A7 movwf _ones
1118 ;main.c: 438: }
1119 04B6 0008 return ;W free
1120 04B7 _displayTime
1121 ;main.c: 528: void displayTime(){
1122 04B7 0183 clrf 3 ;select bank 0
1123 04B8 0824 movf _hours,w
1124 04B9 24A8 fcall _numberBreak
1125 ;main.c: 531: if (hours > 9) {
1126 04BA 300A movlw 10
1127 04BB 0224 subwf _hours,w
1128 04BC 1C03 btfss 3,0
1129 04BD 2CC0 goto l129
1130 ;main.c: 532: displayNumber(1,tens);
1131 04BE 0829 movf _tens,w
1132 04BF 2CC1 goto L61
1133 ;main.c: 533: displayNumber(2,ones);
1134 ;main.c: 534: }
1135 04C0 l129
1136 ;main.c: 535: else{
1137 04C0 300A movlw 10
1138 04C1 L61
1139 04C1 00B1 movwf ?_displayNumber
1140 04C2 3001 movlw 1
1141 04C3 21F8 fcall _displayNumber
1142 ;main.c: 537: displayNumber(2,ones);
1143 04C4 0827 movf _ones,w
1144 04C5 00B1 movwf ?_displayNumber
1145 04C6 3002 movlw 2
1146 04C7 21F8 fcall _displayNumber
1147 ;main.c: 538: }
1148 04C8 0825 movf _minutes,w
1149 04C9 24A8 fcall _numberBreak
1150 ;main.c: 540: displayNumber(3,tens);
1151 04CA 0829 movf _tens,w
1152 04CB 00B1 movwf ?_displayNumber
1153 04CC 3003 movlw 3
1154 04CD 21F8 fcall _displayNumber
1155 ;main.c: 541: displayNumber(4,ones);
1156 04CE 0827 movf _ones,w
1157 04CF 00B1 movwf ?_displayNumber
1158 04D0 3004 movlw 4
1159 04D1 29F8 ljmp _displayNumber
1160
1161 psect text5
1162 04D2 _displayBars
1163 ; _value assigned to ?a_displayBars+0
1164 0000 _displayBars$value set ?a_displayBars
1165 ;_value stored from w
1166 04D2 0183 clrf 3 ;select bank 0
1167 04D3 00AE movwf ?a_displayBars
1168 ;main.c: 441: void displayBars(unsigned char va
+ lue){
1169 04D4 2EA3 goto l106
1170 04D5 l107
1171 ;main.c: 443: case 0:
1172 ;main.c: 444: SEG17COM0=SEG17COM3=SEG17COM1=SEG
+ 17COM2=SEG16COM2=SEG16COM1=SEG16COM3=SEG16COM0=
+ SEG15COM0=SEG15COM3=SEG15COM1=SEG15COM2=SEG11CO
+ M2=SEG11COM1=SEG11COM3=SEG11COM0=SEG10COM0=SEG1
+ 0COM3=SEG10COM1=SEG10COM2=0;
1173 04D5 1703 bsf 3,6
1174 04D6 1117 bcf 23,2
1175 04D7 1114 bcf 20,2
1176 04D8 111A bcf 26,2
1177 04D9 1111 bcf 17,2
1178 04DA 1191 bcf 17,3
1179 04DB 119A bcf 26,3
1180 04DC 1194 bcf 20,3
1181 04DD 1197 bcf 23,3
1182 04DE 1397 bcf 23,7
1183 04DF 1394 bcf 20,7
1184 04E0 139A bcf 26,7
1185 04E1 1391 bcf 17,7
1186 04E2 1012 bcf 18,0
1187 04E3 101B bcf 27,0
1188 04E4 1015 bcf 21,0
1189 04E5 1018 bcf 24,0
1190 04E6 1098 bcf 24,1
1191 04E7 1095 bcf 21,1
1192 04E8 109B bcf 27,1
1193 04E9 1092 bcf 18,1
1194 ;main.c: 445: break;
1195 04EA 2ECB goto l104
1196 04EB l108
1197 ;main.c: 446: case 1:
1198 ;main.c: 447: SEG17COM0=1;
1199 04EB 1703 bsf 3,6
1200 04EC 1492 bsf 18,1
1201 ;main.c: 448: SEG17COM3=SEG17COM1=SEG17COM2=SEG
+ 16COM2=SEG16COM1=SEG16COM3=SEG16COM0=SEG15COM0=
+ SEG15COM3=SEG15COM1=SEG15COM2=SEG11COM2=SEG11CO
+ M1=SEG11COM3=SEG11COM0=SEG10COM0=SEG10COM3=SEG1
+ 0COM1=SEG10COM2=0;
1202 04ED 1117 bcf 23,2
1203 04EE 1114 bcf 20,2
1204 04EF 111A bcf 26,2
1205 04F0 1111 bcf 17,2
1206 04F1 1191 bcf 17,3
1207 04F2 119A bcf 26,3
1208 04F3 1194 bcf 20,3
1209 04F4 1197 bcf 23,3
1210 04F5 1397 bcf 23,7
1211 04F6 1394 bcf 20,7
1212 04F7 139A bcf 26,7
1213 04F8 1391 bcf 17,7
1214 04F9 1012 bcf 18,0
1215 04FA 101
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -