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

📄 ad.lst

📁 AVR mega16系列单片机开发程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0288 940E02DF  CALL	div16u
    028A E02A      LDI	R18,0xA
    028B E030      LDI	R19,0
    028C 940E02DD  CALL	mod16u
    028E 01B8      MOVW	R22,R16
    028F 2F26      MOV	R18,R22
    0290 E002      LDI	R16,2
    0291 DEE5      RCALL	_Analog_display
(0096)  x3=(result/100)%100%10;            Analog_display(3,x3);
    0292 E624      LDI	R18,0x64
    0293 E030      LDI	R19,0
    0294 018A      MOVW	R16,R20
    0295 940E02DF  CALL	div16u
    0297 E624      LDI	R18,0x64
    0298 E030      LDI	R19,0
    0299 940E02DD  CALL	mod16u
    029B E02A      LDI	R18,0xA
    029C E030      LDI	R19,0
    029D 940E02DD  CALL	mod16u
    029F 01B8      MOVW	R22,R16
    02A0 2F26      MOV	R18,R22
    02A1 E003      LDI	R16,3
    02A2 DED4      RCALL	_Analog_display
(0097)  x4=(result/10)%1000%10;            Analog_display(4,x4);
    02A3 E02A      LDI	R18,0xA
    02A4 E030      LDI	R19,0
    02A5 018A      MOVW	R16,R20
    02A6 940E02DF  CALL	div16u
    02A8 EE28      LDI	R18,0xE8
    02A9 E033      LDI	R19,3
    02AA 940E02DD  CALL	mod16u
    02AC E02A      LDI	R18,0xA
    02AD E030      LDI	R19,0
    02AE 940E02DD  CALL	mod16u
    02B0 01B8      MOVW	R22,R16
    02B1 2F26      MOV	R18,R22
    02B2 E004      LDI	R16,4
    02B3 DEC3      RCALL	_Analog_display
(0098)  x5=(result%1000)%100%10;           Analog_display(5,x5);
    02B4 EE28      LDI	R18,0xE8
    02B5 E033      LDI	R19,3
    02B6 018A      MOVW	R16,R20
    02B7 940E02DD  CALL	mod16u
    02B9 E624      LDI	R18,0x64
    02BA E030      LDI	R19,0
    02BB 940E02DD  CALL	mod16u
    02BD E02A      LDI	R18,0xA
    02BE E030      LDI	R19,0
    02BF 940E02DD  CALL	mod16u
    02C1 01A8      MOVW	R20,R16
    02C2 2F24      MOV	R18,R20
    02C3 E005      LDI	R16,5
    02C4 DEB2      RCALL	_Analog_display
    02C5 9625      ADIW	R28,5
    02C6 940E02F9  CALL	pop_gset2
    02C8 9508      RET
(0099) }
(0100)     
(0101) void init_devices(void)
(0102) {
(0103) 
(0104)  CLI();                                       //禁止所有中断                                   
_init_devices:
    02C9 94F8      BCLR	7
(0105)  adc_init();
    02CA DE3A      RCALL	_adc_init
(0106)  Bit_transfor();                              //数字量显示
    02CB DE7B      RCALL	_Bit_transfor
(0107)  Analog_transfor();                           //模拟量显示
    02CC DF2B      RCALL	_Analog_transfor
(0108)  MCUCR = 0x00;
    02CD 2422      CLR	R2
    02CE BE25      OUT	0x35,R2
(0109)  SREG = 0X80;                                 //允许中断发生
    02CF E880      LDI	R24,0x80
    02D0 BF8F      OUT	0x3F,R24
(0110)  GICR  = 0x00;
    02D1 BE2B      OUT	0x3B,R2
(0111)  TIMSK = 0x00;                                
    02D2 BE29      OUT	0x39,R2
(0112)  SEI();                                       //重新开启所有中断
    02D3 9478      BSET	7
    02D4 9508      RET
(0113)  
(0114) }
(0115)  
(0116) 
(0117) void main(void)
(0118) {  
(0119)  init_devices();
_main:
    02D5 DFF3      RCALL	_init_devices
(0120)  while(1);                                    //循环等待转换开始
FILE: <library>
    02D6 CFFF      RJMP	0x02D6
    02D7 9508      RET
push_arg4:
    02D8 933A      ST	R19,-Y
    02D9 932A      ST	R18,-Y
push_arg2:
    02DA 931A      ST	R17,-Y
    02DB 930A      ST	R16,-Y
    02DC 9508      RET
mod16u:
    02DD 9468      BSET	6
    02DE C001      RJMP	xdiv16u
div16u:
    02DF 94E8      BCLR	6
xdiv16u:
    02E0 92EA      ST	R14,-Y
    02E1 92FA      ST	R15,-Y
    02E2 938A      ST	R24,-Y
    02E3 24EE      CLR	R14
    02E4 24FF      CLR	R15
    02E5 E180      LDI	R24,0x10
    02E6 0F00      LSL	R16
    02E7 1F11      ROL	R17
    02E8 1CEE      ROL	R14
    02E9 1CFF      ROL	R15
    02EA 16E2      CP	R14,R18
    02EB 06F3      CPC	R15,R19
    02EC F018      BCS	0x02F0
    02ED 1AE2      SUB	R14,R18
    02EE 0AF3      SBC	R15,R19
    02EF 9503      INC	R16
    02F0 958A      DEC	R24
    02F1 F7A1      BNE	0x02E6
    02F2 F416      BRTC	0x02F5
    02F3 2D0E      MOV	R16,R14
    02F4 2D1F      MOV	R17,R15
    02F5 9189      LD	R24,Y+
    02F6 90F9      LD	R15,Y+
    02F7 90E9      LD	R14,Y+
    02F8 9508      RET
pop_gset2:
    02F9 E0E2      LDI	R30,2
    02FA 940C030E  JMP	pop
pop_gset3:
    02FC E0E4      LDI	R30,4
    02FD 940C030E  JMP	pop
pop_gset4:
    02FF E0E8      LDI	R30,0x8
    0300 940C030E  JMP	pop
push_gset5:
    0302 92FA      ST	R15,-Y
    0303 92EA      ST	R14,-Y
push_gset4:
    0304 92DA      ST	R13,-Y
    0305 92CA      ST	R12,-Y
push_gset3:
    0306 92BA      ST	R11,-Y
    0307 92AA      ST	R10,-Y
push_gset2:
    0308 937A      ST	R23,-Y
    0309 936A      ST	R22,-Y
push_gset1:
    030A 935A      ST	R21,-Y
    030B 934A      ST	R20,-Y
    030C 9508      RET
pop_gset1:
    030D E0E1      LDI	R30,1
pop:
    030E 9149      LD	R20,Y+
    030F 9159      LD	R21,Y+
    0310 FDE0      SBRC	R30,0
    0311 9508      RET
    0312 9169      LD	R22,Y+
    0313 9179      LD	R23,Y+
    0314 FDE1      SBRC	R30,1
    0315 9508      RET
    0316 90A9      LD	R10,Y+
    0317 90B9      LD	R11,Y+
    0318 FDE2      SBRC	R30,2
    0319 9508      RET
    031A 90C9      LD	R12,Y+
    031B 90D9      LD	R13,Y+
    031C FDE3      SBRC	R30,3
    031D 9508      RET
    031E 90E9      LD	R14,Y+
    031F 90F9      LD	R15,Y+
    0320 9508      RET
neg32:
    0321 9500      COM	R16
    0322 9510      COM	R17
    0323 9520      COM	R18
    0324 9530      COM	R19
    0325 5F0F      SUBI	R16,0xFF
    0326 4F1F      SBCI	R17,0xFF
    0327 4F2F      SBCI	R18,0xFF
    0328 4F3F      SBCI	R19,0xFF
    0329 9508      RET
lpm32:
    032A 93EA      ST	R30,-Y
    032B 93FA      ST	R31,-Y
    032C 920A      ST	R0,-Y
    032D 2FE0      MOV	R30,R16
    032E 2FF1      MOV	R31,R17
    032F 95C8      LPM
    0330 2D00      MOV	R16,R0
    0331 9631      ADIW	R30,1
    0332 95C8      LPM
    0333 2D10      MOV	R17,R0
    0334 9631      ADIW	R30,1
    0335 95C8      LPM
    0336 2D20      MOV	R18,R0
    0337 9631      ADIW	R30,1
    0338 95C8      LPM
    0339 2D30      MOV	R19,R0
    033A 9009      LD	R0,Y+
    033B 91F9      LD	R31,Y+
    033C 91E9      LD	R30,Y+
    033D 9508      RET
lsr16:
    033E 2322      TST	R18
    033F F021      BEQ	0x0344
    0340 9516      LSR	R17
    0341 9507      ROR	R16
    0342 952A      DEC	R18
    0343 CFFA      RJMP	lsr16
    0344 9508      RET
fp2int:
    0345 940E0523  CALL	savfacc1
    0347 D014      RCALL	FTOI
    0348 2F02      MOV	R16,R18
    0349 2F13      MOV	R17,R19
    034A FD87      SBRC	R24,7
    034B C002      RJMP	nojump1
    034C 940C0526  JMP	restorefacc1
nojump1:
    034E 9510      COM	R17
    034F 9501      NEG	R16
    0350 4F1F      SBCI	R17,0xFF
    0351 940C0526  JMP	restorefacc1
fp2long:
    0353 940E0523  CALL	savfacc1
    0355 D008      RCALL	FTOL
    0356 FF87      SBRS	R24,7
    0357 C002      RJMP	nojump2
    0358 940E0321  CALL	neg32
nojump2:
    035A 940C0526  JMP	restorefacc1
FTOI:
    035C E0BE      LDI	R27,0xE
    035D C001      RJMP	0x035F
FTOL:
    035E E1BE      LDI	R27,0x1E
    035F 940E0529  CALL	unpackfacc1
    0361 F069      BEQ	0x036F
    0362 1BB3      SUB	R27,R19
    0363 F009      BEQ	0x0365
    0364 F472      BPL	0x0373
    0365 2388      TST	R24
    0366 F022      BMI	0x036B
    0367 E010      LDI	R17,0
    0368 E608      LDI	R16,0x68
    0369 940C032A  JMP	lpm32
    036B E010      LDI	R17,0
    036C E60E      LDI	R16,0x6E
    036D 940C032A  JMP	lpm32
    036F E010      LDI	R17,0
    0370 E60C      LDI	R16,0x6C
    0371 940C032A  JMP	lpm32
    0373 9533      INC	R19
    0374 F3D2      BMI	0x036F
    0375 E030      LDI	R19,0
    0376 50B8      SUBI	R27,0x8
    0377 F452      BPL	0x0382
    0378 5FB8      SUBI	R27,0xF8
    0379 2F32      MOV	R19,R18
    037A 2F21      MOV	R18,R17
    037B 2F10      MOV	R17,R16
    037C E800      LDI	R16,0x80
    037D C006      RJMP	0x0384
    037E 2F01      MOV	R16,R17
    037F 2F12      MOV	R17,R18
    0380 E020      LDI	R18,0
    0381 50B8      SUBI	R27,0x8
    0382 30B8      CPI	R27,0x8
    0383 F7D0      BCC	0x037E
    0384 23BB      TST	R27
    0385 F031      BEQ	0x038C
    0386 9536      LSR	R19
    0387 9527      ROR	R18
    0388 9517      ROR	R17
    0389 9507      ROR	R16
    038A 95BA      DEC	R27
    038B F7D1      BNE	0x0386
    038C 9508      RET
int2fp:
    038D 2722      CLR	R18
    038E FD17      SBRC	R17,7
    038F 9520      COM	R18
    0390 2733      CLR	R19
    0391 FD27      SBRC	R18,7
    0392 9530      COM	R19
long2fp:
    0393 940E0523  CALL	savfacc1
    0395 D002      RCALL	ITOF
    0396 940C0526  JMP	restorefacc1
ITOF:
    0398 2788      CLR	R24
    0399 2333      TST	R19
    039A F41A      BPL	0x039E
    039B 940E0321  CALL	neg32
    039D 9580      COM	R24
    039E 2FB0      MOV	R27,R16
    039F 2BB1      OR	R27,R17
    03A0 2BB2      OR	R27,R18
    03A1 2BB3      OR	R27,R19
    03A2 F411      BNE	0x03A5
    03A3 940C053F  JMP	minres
    03A5 E1B6      LDI	R27,0x16
    03A6 C005      RJMP	itof2
    03A7 95B3      INC	R27
    03A8 9536      LSR	R19
    03A9 9527      ROR	R18
    03AA 9517      ROR	R17
    03AB 9507      ROR	R16
itof2:
    03AC 2333      TST	R19
    03AD F7C9      BNE	0x03A7
itof3:
    03AE 2322      TST	R18
    03AF F449      BNE	0x03B9
    03B0 50B8      SUBI	R27,0x8
    03B1 2F21      MOV	R18,R17
    03B2 2F10      MOV	R17,R16
    03B3 E000      LDI	R16,0
    03B4 CFF9      RJMP	itof3
    03B5 95BA      DEC	R27
    03B6 0F00      LSL	R16
    03B7 1F11      ROL	R17
    03B8 1F22      ROL	R18
    03B9 F7DA      BPL	0x03B5
    03BA 2F3B      MOV	R19,R27
    03BB 940C0569  JMP	repack
save_floatregs:
    03BD 92DA      ST	R13,-Y
    03BE 92EA      ST	R14,-Y
    03BF 92FA      ST	R15,-Y
    03C0 938A      ST	R24,-Y
    03C1 922A      ST	R2,-Y
    03C2 923A      ST	R3,-Y
    03C3 924A      ST	R4,-Y
    03C4 939A      ST	R25,-Y
    03C5 93AA      ST	R26,-Y
    03C6 93BA      ST	R27,-Y
    03C7 9508      RET
restore_floatregs:
    03C8 91B9      LD	R27,Y+
    03C9 91A9      LD	R26,Y+
    03CA 9199      LD	R25,Y+
    03CB 9049      LD	R4,Y+
    03CC 9039      LD	R3,Y+
    03CD 9029      LD	R2,Y+
    03CE 9189      LD	R24,Y+
    03CF 90F9      LD	R15,Y+
    03D0 90E9      LD	R14,Y+
    03D1 90D9      LD	R13,Y+
    03D2 9508      RET
stk2arg1:
    03D3 842A      LDD	R2,Y+10
    03D4 843B      LDD	R3,Y+11
    03D5 844C      LDD	R4,Y+12
    03D6 859D      LDD	R25,Y+13
    03D7 9508      RET
stk2arg0:
    03D8 850E      LDD	R16,Y+14
    03D9 851F      LDD	R17,Y+15
    03DA 8928      LDD	R18,Y+16
    03DB 8939      LDD	R19,Y+17
    03DC 9508      RET
float_epilog:
    03DD DFEA      RCALL	restore_floatregs
    03DE 920F      PUSH	R0
    03DF B60F      IN	R0,0x3F
    03E0 9628      ADIW	R28,0x8
    03E1 BE0F      OUT	0x3F,R0
    03E2 900F      POP	R0
    03E3 9508      RET
float_prolog:
    03E4 DFD8      RCALL	save_floatregs
    03E5 DFF2      RCALL	stk2arg0
    03E6 CFEC      RJMP	stk2arg1
add32fs:
    03E7 D002      RCALL	add32f
    03E8 940C02D8  JMP	push_arg4
add32f:
    03EA 940E03E4  CALL	float_prolog
    03EC D012      RCALL	FADD
    03ED 940C03DD  JMP	float_epilog
sub32fs:

⌨️ 快捷键说明

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