📄 adc0832.lst
字号:
(0014) PORTC=0xFF;
00BC BB85 OUT 0x15,R24
00BD C03A RJMP 0x00F8
(0015) while(1)
(0016) {
(0017) read_adc();
00BE DF79 RCALL _read_adc
(0018) num0=returnvol()/100;
00BF DF98 RCALL _returnvol
00C0 E624 LDI R18,0x64
00C1 E030 LDI R19,0
00C2 D03B RCALL div16s
00C3 93100075 STS num0+1,R17
00C5 93000074 STS num0,R16
(0019)
(0020) num1=(returnvol()%100)/10;
00C7 DF90 RCALL _returnvol
00C8 E624 LDI R18,0x64
00C9 E030 LDI R19,0
00CA D02F RCALL mod16s
00CB E02A LDI R18,0xA
00CC E030 LDI R19,0
00CD D030 RCALL div16s
00CE 93100073 STS num1+1,R17
00D0 93000072 STS num1,R16
(0021)
(0022) num2=returnvol()%10;
00D2 DF85 RCALL _returnvol
00D3 E02A LDI R18,0xA
00D4 E030 LDI R19,0
00D5 D024 RCALL mod16s
00D6 93100071 STS num2+1,R17
00D8 93000070 STS num2,R16
(0023)
(0024) num=num0*100+num1*10+num2;
00DA 91200072 LDS R18,num1
00DC 91300073 LDS R19,num1+1
00DE E00A LDI R16,0xA
00DF E010 LDI R17,0
00E0 D052 RCALL empy16s
00E1 0118 MOVW R2,R16
00E2 91200074 LDS R18,num0
00E4 91300075 LDS R19,num0+1
00E6 E604 LDI R16,0x64
00E7 E010 LDI R17,0
00E8 D04A RCALL empy16s
00E9 0128 MOVW R4,R16
00EA 0C42 ADD R4,R2
00EB 1C53 ADC R5,R3
00EC 90200070 LDS R2,num2
00EE 90300071 LDS R3,num2+1
00F0 0C42 ADD R4,R2
00F1 1C53 ADC R5,R3
00F2 9250006F STS num+1,R5
00F4 9240006E STS num,R4
(0025) update_display_dp(num);
FILE: <library>
00F6 0182 MOVW R16,R4
00F7 DF79 RCALL _update_display_dp
00F8 CFC5 RJMP 0x00BE
00F9 9508 RET
mod16s:
00FA 9468 BSET 6
00FB 92DA ST R13,-Y
00FC 2ED1 MOV R13,R17
00FD C004 RJMP 0x0102
div16s:
00FE 94E8 BCLR 6
00FF 92DA ST R13,-Y
0100 2ED1 MOV R13,R17
0101 26D3 EOR R13,R19
0102 FF17 SBRS R17,7
0103 C004 RJMP 0x0108
0104 9510 COM R17
0105 9500 COM R16
0106 5F0F SUBI R16,0xFF
0107 4F1F SBCI R17,0xFF
0108 FF37 SBRS R19,7
0109 C004 RJMP 0x010E
010A 9530 COM R19
010B 9520 COM R18
010C 5F2F SUBI R18,0xFF
010D 4F3F SBCI R19,0xFF
010E D00B RCALL xdiv16u
010F FED7 SBRS R13,7
0110 C004 RJMP 0x0115
0111 9510 COM R17
0112 9500 COM R16
0113 5F0F SUBI R16,0xFF
0114 4F1F SBCI R17,0xFF
0115 90D9 LD R13,Y+
0116 9508 RET
mod16u:
0117 9468 BSET 6
0118 C001 RJMP xdiv16u
div16u:
0119 94E8 BCLR 6
xdiv16u:
011A 92EA ST R14,-Y
011B 92FA ST R15,-Y
011C 938A ST R24,-Y
011D 24EE CLR R14
011E 24FF CLR R15
011F E180 LDI R24,0x10
0120 0F00 LSL R16
0121 1F11 ROL R17
0122 1CEE ROL R14
0123 1CFF ROL R15
0124 16E2 CP R14,R18
0125 06F3 CPC R15,R19
0126 F018 BCS 0x012A
0127 1AE2 SUB R14,R18
0128 0AF3 SBC R15,R19
0129 9503 INC R16
012A 958A DEC R24
012B F7A1 BNE 0x0120
012C F416 BRTC 0x012F
012D 2D0E MOV R16,R14
012E 2D1F MOV R17,R15
012F 9189 LD R24,Y+
0130 90F9 LD R15,Y+
0131 90E9 LD R14,Y+
0132 9508 RET
empy16s:
0133 920A ST R0,-Y
0134 921A ST R1,-Y
0135 938A ST R24,-Y
0136 939A ST R25,-Y
0137 9F02 MUL R16,R18
0138 01C0 MOVW R24,R0
0139 9F12 MUL R17,R18
013A 0D90 ADD R25,R0
013B 9F03 MUL R16,R19
013C 0D90 ADD R25,R0
013D 018C MOVW R16,R24
013E 9199 LD R25,Y+
013F 9189 LD R24,Y+
0140 9019 LD R1,Y+
0141 9009 LD R0,Y+
0142 9508 RET
empy32u:
empy32s:
0143 D04E RCALL long_prolog
0144 927F PUSH R7
0145 D065 RCALL tstzero1
0146 F131 BEQ 0x016D
0147 2477 CLR R7
0148 D068 RCALL tstzero2
0149 F419 BNE 0x014D
014A 018C MOVW R16,R24
014B 019D MOVW R18,R26
014C C020 RJMP 0x016D
014D 9F08 MUL R16,R24
014E 2CB0 MOV R11,R0
014F 2CA1 MOV R10,R1
0150 9F28 MUL R18,R24
0151 2C90 MOV R9,R0
0152 2C81 MOV R8,R1
0153 9F18 MUL R17,R24
0154 0CA0 ADD R10,R0
0155 1C91 ADC R9,R1
0156 1C87 ADC R8,R7
0157 9F09 MUL R16,R25
0158 0CA0 ADD R10,R0
0159 1C91 ADC R9,R1
015A 1C87 ADC R8,R7
015B 9F19 MUL R17,R25
015C 0C90 ADD R9,R0
015D 1C81 ADC R8,R1
015E 9F0A MUL R16,R26
015F 0C90 ADD R9,R0
0160 1C81 ADC R8,R1
0161 9F38 MUL R19,R24
0162 0C80 ADD R8,R0
0163 9F29 MUL R18,R25
0164 0C80 ADD R8,R0
0165 9F1A MUL R17,R26
0166 0C80 ADD R8,R0
0167 9F0B MUL R16,R27
0168 0C80 ADD R8,R0
0169 2D0B MOV R16,R11
016A 2D1A MOV R17,R10
016B 2D29 MOV R18,R9
016C 2D38 MOV R19,R8
016D 907F POP R7
016E C031 RJMP long_epilog
pop_gset3:
016F E0E4 LDI R30,4
0170 C00E RJMP pop
pop_gset4:
0171 E0E8 LDI R30,0x8
0172 C00C RJMP pop
push_gset5:
0173 92FA ST R15,-Y
0174 92EA ST R14,-Y
push_gset4:
0175 92DA ST R13,-Y
0176 92CA ST R12,-Y
push_gset3:
0177 92BA ST R11,-Y
0178 92AA ST R10,-Y
push_gset2:
0179 937A ST R23,-Y
017A 936A ST R22,-Y
push_gset1:
017B 935A ST R21,-Y
017C 934A ST R20,-Y
017D 9508 RET
pop_gset1:
017E E0E1 LDI R30,1
pop:
017F 9149 LD R20,Y+
0180 9159 LD R21,Y+
0181 FDE0 SBRC R30,0
0182 9508 RET
0183 9169 LD R22,Y+
0184 9179 LD R23,Y+
0185 FDE1 SBRC R30,1
0186 9508 RET
0187 90A9 LD R10,Y+
0188 90B9 LD R11,Y+
0189 FDE2 SBRC R30,2
018A 9508 RET
018B 90C9 LD R12,Y+
018C 90D9 LD R13,Y+
018D FDE3 SBRC R30,3
018E 9508 RET
018F 90E9 LD R14,Y+
0190 90F9 LD R15,Y+
0191 9508 RET
long_prolog:
0192 928A ST R8,-Y
0193 929A ST R9,-Y
0194 92AA ST R10,-Y
0195 92BA ST R11,-Y
0196 93EA ST R30,-Y
0197 938A ST R24,-Y
0198 939A ST R25,-Y
0199 93AA ST R26,-Y
019A 93BA ST R27,-Y
019B 8589 LDD R24,Y+9
019C 859A LDD R25,Y+10
019D 85AB LDD R26,Y+11
019E 85BC LDD R27,Y+12
019F 9508 RET
long_epilog:
01A0 91B9 LD R27,Y+
01A1 91A9 LD R26,Y+
01A2 9199 LD R25,Y+
01A3 9189 LD R24,Y+
01A4 91E9 LD R30,Y+
01A5 90B9 LD R11,Y+
01A6 90A9 LD R10,Y+
01A7 9099 LD R9,Y+
01A8 9089 LD R8,Y+
01A9 9624 ADIW R28,4
01AA 9508 RET
tstzero1:
01AB 27EE CLR R30
01AC 2BE0 OR R30,R16
01AD 2BE1 OR R30,R17
01AE 2BE2 OR R30,R18
01AF 2BE3 OR R30,R19
01B0 9508 RET
tstzero2:
01B1 27EE CLR R30
01B2 2BE8 OR R30,R24
01B3 2BE9 OR R30,R25
01B4 2BEA OR R30,R26
01B5 2BEB OR R30,R27
01B6 9508 RET
lsr32:
01B7 920F PUSH R0
01B8 9009 LD R0,Y+
01B9 2000 TST R0
01BA F031 BEQ 0x01C1
01BB 9536 LSR R19
01BC 9527 ROR R18
01BD 9517 ROR R17
01BE 9507 ROR R16
01BF 940A DEC R0
01C0 CFF8 RJMP 0x01B9
01C1 900F POP R0
01C2 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -