📄 output.lst
字号:
033E 9380027B STS TxOperateSp0,R24
0340 E78D LDI R24,0x7D
0341 E092 LDI R25,2
0342 2DE2 MOV R30,R2
0343 27FF CLR R31
0344 0FE8 ADD R30,R24
0345 1FF9 ADC R31,R25
0346 E280 LDI R24,0x20
0347 8380 STD Z+0,R24
(0234) tx0_uc_to_bcd(InputByte2Reg);
0348 91000102 LDS R16,InputByte2Reg
034A DEB1 RCALL _tx0_uc_to_bcd
(0235) TxBuffer0[TxOperateSp0++]=0x20;
034B 9020027B LDS R2,TxOperateSp0
034D 2433 CLR R3
034E 2D82 MOV R24,R2
034F 5F8F SUBI R24,0xFF
0350 9380027B STS TxOperateSp0,R24
0352 E78D LDI R24,0x7D
0353 E092 LDI R25,2
0354 2DE2 MOV R30,R2
0355 27FF CLR R31
0356 0FE8 ADD R30,R24
0357 1FF9 ADC R31,R25
0358 E280 LDI R24,0x20
0359 8380 STD Z+0,R24
(0236) tx0_uc_to_bcd(InputByte3Reg);
035A 91000103 LDS R16,InputByte3Reg
035C DE9F RCALL _tx0_uc_to_bcd
(0237) // if(InputByte0Reg!=InputTable[TestIOSp][0])IOErrorFlag=ON;
(0238) // else if(InputByte1Reg!=InputTable[TestIOSp][1])IOErrorFlag=ON;
(0239) //else if(InputByte2Reg!=InputTable[TestIOSp][2])IOErrorFlag=ON;
(0240) //else if(InputByte3Reg!=InputTable[TestIOSp][3])IOErrorFlag=ON;
(0241) //else IOErrorFlag=OFF;
(0242) // tx0_operate();
(0243) if(InputByte0Reg==InputTable[TestIOSp][0]&& InputByte1Reg==InputTable[TestIOSp][1]
035D 90200174 LDS R2,TestIOSp
035F E084 LDI R24,4
0360 9D82 MUL R24,R2
0361 E384 LDI R24,0x34
0362 E091 LDI R25,1
0363 01F0 MOVW R30,R0
0364 0FE8 ADD R30,R24
0365 1FF9 ADC R31,R25
0366 8020 LDD R2,Z+0
0367 90300100 LDS R3,InputByte0Reg
0369 1432 CP R3,R2
036A F009 BEQ 0x036C
036B C064 RJMP 0x03D0
036C E385 LDI R24,0x35
036D E091 LDI R25,1
036E 01F0 MOVW R30,R0
036F 0FE8 ADD R30,R24
0370 1FF9 ADC R31,R25
0371 8020 LDD R2,Z+0
0372 90300101 LDS R3,InputByte1Reg
0374 1432 CP R3,R2
0375 F009 BEQ 0x0377
0376 C059 RJMP 0x03D0
0377 E386 LDI R24,0x36
0378 E091 LDI R25,1
0379 01F0 MOVW R30,R0
037A 0FE8 ADD R30,R24
037B 1FF9 ADC R31,R25
037C 8020 LDD R2,Z+0
037D 90300102 LDS R3,InputByte2Reg
037F 1432 CP R3,R2
0380 F009 BEQ 0x0382
0381 C04E RJMP 0x03D0
0382 E387 LDI R24,0x37
0383 E091 LDI R25,1
0384 01F0 MOVW R30,R0
0385 0FE8 ADD R30,R24
0386 1FF9 ADC R31,R25
0387 8020 LDD R2,Z+0
0388 90300103 LDS R3,InputByte3Reg
038A 1432 CP R3,R2
038B F009 BEQ 0x038D
038C C043 RJMP 0x03D0
(0244) && InputByte2Reg==InputTable[TestIOSp][2] && InputByte3Reg==InputTable[TestIOSp][3])
(0245) {
(0246) // IOErrorFlag=0;
(0247) PORTB=0xFF;
038D EF8F LDI R24,0xFF
038E BB88 OUT 0x18,R24
(0248) TxBuffer0[TxOperateSp0++]=0x20;
038F 9020027B LDS R2,TxOperateSp0
0391 2433 CLR R3
0392 2D82 MOV R24,R2
0393 5F8F SUBI R24,0xFF
0394 9380027B STS TxOperateSp0,R24
0396 E78D LDI R24,0x7D
0397 E092 LDI R25,2
0398 2DE2 MOV R30,R2
0399 27FF CLR R31
039A 0FE8 ADD R30,R24
039B 1FF9 ADC R31,R25
039C E280 LDI R24,0x20
039D 8380 STD Z+0,R24
(0249) tx0_uc_to_bcd(TestIOSp);
039E 91000174 LDS R16,TestIOSp
03A0 DE5B RCALL _tx0_uc_to_bcd
(0250) TxBuffer0[TxOperateSp0++]= 'O';
03A1 9020027B LDS R2,TxOperateSp0
03A3 2433 CLR R3
03A4 2D82 MOV R24,R2
03A5 5F8F SUBI R24,0xFF
03A6 9380027B STS TxOperateSp0,R24
03A8 E78D LDI R24,0x7D
03A9 E092 LDI R25,2
03AA 2DE2 MOV R30,R2
03AB 27FF CLR R31
03AC 0FE8 ADD R30,R24
03AD 1FF9 ADC R31,R25
03AE E48F LDI R24,0x4F
03AF 8380 STD Z+0,R24
(0251) TxBuffer0[TxOperateSp0++]= 'k';
03B0 9020027B LDS R2,TxOperateSp0
03B2 2433 CLR R3
03B3 2D82 MOV R24,R2
03B4 5F8F SUBI R24,0xFF
03B5 9380027B STS TxOperateSp0,R24
03B7 E78D LDI R24,0x7D
03B8 E092 LDI R25,2
03B9 2DE2 MOV R30,R2
03BA 27FF CLR R31
03BB 0FE8 ADD R30,R24
03BC 1FF9 ADC R31,R25
03BD E68B LDI R24,0x6B
03BE 8380 STD Z+0,R24
(0252) TxBuffer0[TxOperateSp0++]=0x20;
03BF 9020027B LDS R2,TxOperateSp0
03C1 2433 CLR R3
03C2 2D82 MOV R24,R2
03C3 5F8F SUBI R24,0xFF
03C4 9380027B STS TxOperateSp0,R24
03C6 E78D LDI R24,0x7D
03C7 E092 LDI R25,2
03C8 2DE2 MOV R30,R2
03C9 27FF CLR R31
03CA 0FE8 ADD R30,R24
03CB 1FF9 ADC R31,R25
03CC E280 LDI R24,0x20
03CD 8380 STD Z+0,R24
(0253) UCSR0B|=0X20;
03CE 9A55 SBI 0x0A,5
(0254)
(0255) }
03CF C06F RJMP 0x043F
(0256) else
(0257) {
(0258) //IOErrorFlag=1;
(0259) PORTB=0x00;
03D0 2422 CLR R2
03D1 BA28 OUT 0x18,R2
(0260) TxBuffer0[TxOperateSp0++]=0x20;
03D2 9020027B LDS R2,TxOperateSp0
03D4 2433 CLR R3
03D5 2D82 MOV R24,R2
03D6 5F8F SUBI R24,0xFF
03D7 9380027B STS TxOperateSp0,R24
03D9 E78D LDI R24,0x7D
03DA E092 LDI R25,2
03DB 2DE2 MOV R30,R2
03DC 27FF CLR R31
03DD 0FE8 ADD R30,R24
03DE 1FF9 ADC R31,R25
03DF E280 LDI R24,0x20
03E0 8380 STD Z+0,R24
(0261) tx0_uc_to_bcd(TestIOSp);
03E1 91000174 LDS R16,TestIOSp
03E3 DE18 RCALL _tx0_uc_to_bcd
(0262) TxBuffer0[TxOperateSp0++]= 'E';
03E4 9020027B LDS R2,TxOperateSp0
03E6 2433 CLR R3
03E7 2D82 MOV R24,R2
03E8 5F8F SUBI R24,0xFF
03E9 9380027B STS TxOperateSp0,R24
03EB E78D LDI R24,0x7D
03EC E092 LDI R25,2
03ED 2DE2 MOV R30,R2
03EE 27FF CLR R31
03EF 0FE8 ADD R30,R24
03F0 1FF9 ADC R31,R25
03F1 E485 LDI R24,0x45
03F2 8380 STD Z+0,R24
(0263) TxBuffer0[TxOperateSp0++]= 'r';
03F3 9020027B LDS R2,TxOperateSp0
03F5 2433 CLR R3
03F6 2D82 MOV R24,R2
03F7 5F8F SUBI R24,0xFF
03F8 9380027B STS TxOperateSp0,R24
03FA E78D LDI R24,0x7D
03FB E092 LDI R25,2
03FC 2DE2 MOV R30,R2
03FD 27FF CLR R31
03FE 0FE8 ADD R30,R24
03FF 1FF9 ADC R31,R25
0400 E782 LDI R24,0x72
0401 8380 STD Z+0,R24
(0264) TxBuffer0[TxOperateSp0++]= 'r';
0402 9020027B LDS R2,TxOperateSp0
0404 2433 CLR R3
0405 2D82 MOV R24,R2
0406 5F8F SUBI R24,0xFF
0407 9380027B STS TxOperateSp0,R24
0409 E78D LDI R24,0x7D
040A E092 LDI R25,2
040B 2DE2 MOV R30,R2
040C 27FF CLR R31
040D 0FE8 ADD R30,R24
040E 1FF9 ADC R31,R25
040F E782 LDI R24,0x72
0410 8380 STD Z+0,R24
(0265) TxBuffer0[TxOperateSp0++]= 'O';
0411 9020027B LDS R2,TxOperateSp0
0413 2433 CLR R3
0414 2D82 MOV R24,R2
0415 5F8F SUBI R24,0xFF
0416 9380027B STS TxOperateSp0,R24
0418 E78D LDI R24,0x7D
0419 E092 LDI R25,2
041A 2DE2 MOV R30,R2
041B 27FF CLR R31
041C 0FE8 ADD R30,R24
041D 1FF9 ADC R31,R25
041E E48F LDI R24,0x4F
041F 8380 STD Z+0,R24
(0266) TxBuffer0[TxOperateSp0++]= 'r';
0420 9020027B LDS R2,TxOperateSp0
0422 2433 CLR R3
0423 2D82 MOV R24,R2
0424 5F8F SUBI R24,0xFF
0425 9380027B STS TxOperateSp0,R24
0427 E78D LDI R24,0x7D
0428 E092 LDI R25,2
0429 2DE2 MOV R30,R2
042A 27FF CLR R31
042B 0FE8 ADD R30,R24
042C 1FF9 ADC R31,R25
042D E782 LDI R24,0x72
042E 8380 STD Z+0,R24
(0267) TxBuffer0[TxOperateSp0++]=0x20;
042F 9020027B LDS R2,TxOperateSp0
0431 2433 CLR R3
0432 2D82 MOV R24,R2
0433 5F8F SUBI R24,0xFF
0434 9380027B STS TxOperateSp0,R24
0436 E78D LDI R24,0x7D
0437 E092 LDI R25,2
0438 2DE2 MOV R30,R2
0439 27FF CLR R31
043A 0FE8 ADD R30,R24
043B 1FF9 ADC R31,R25
043C E280 LDI R24,0x20
043D 8380 STD Z+0,R24
(0268) UCSR0B|=0X20;
043E 9A55 SBI 0x0A,5
(0269) }
(0270) TestIOSp++;TestIOSp&=0x0F;
043F 91800174 LDS R24,TestIOSp
0441 5F8F SUBI R24,0xFF
0442 93800174 STS TestIOSp,R24
0444 708F ANDI R24,0xF
0445 93800174 STS TestIOSp,R24
(0271) }
0447 940E04A5 CALL pop_gset2
0449 9508 RET
(0272)
(0273) }
(0274) //===============================================主程序
(0275) void main(void){
(0276) WatchDog();
_main:
044A DCEA RCALL _WatchDog
(0277) watchdog_init();
044B DC75 RCALL _watchdog_init
(0278) init_devices();
044C DCCB RCALL _init_devices
(0279) //can_init();
(0280) set_value();
044D DCF6 RCALL _set_value
044E C002 RJMP 0x0451
(0281) while(1){
(0282) io_test();
044F DDFF RCALL _io_test
(0283) WatchDog();
FILE: <library>
0450 DCE4 RCALL _WatchDog
0451 CFFD RJMP 0x044F
0452 9508 RET
mod16s:
0453 9468 BSET 6
0454 92DA ST R13,-Y
0455 2ED1 MOV R13,R17
0456 C004 RJMP 0x045B
div16s:
0457 94E8 BCLR 6
0458 92DA ST R13,-Y
0459 2ED1 MOV R13,R17
045A 26D3 EOR R13,R19
045B FF17 SBRS R17,7
045C C004 RJMP 0x0461
045D 9510 COM R17
045E 9500 COM R16
045F 5F0F SUBI R16,0xFF
0460 4F1F SBCI R17,0xFF
0461 FF37 SBRS R19,7
0462 C004 RJMP 0x0467
0463 9530 COM R19
0464 9520 COM R18
0465 5F2F SUBI R18,0xFF
0466 4F3F SBCI R19,0xFF
0467 940E0474 CALL xdiv16u
0469 FED7 SBRS R13,7
046A C004 RJMP 0x046F
046B 9510 COM R17
046C 9500 COM R16
046D 5F0F SUBI R16,0xFF
046E 4F1F SBCI R17,0xFF
046F 90D9 LD R13,Y+
0470 9508 RET
mod16u:
0471 9468 BSET 6
0472 C001 RJMP xdiv16u
div16u:
0473 94E8 BCLR 6
xdiv16u:
0474 92EA ST R14,-Y
0475 92FA ST R15,-Y
0476 938A ST R24,-Y
0477 24EE CLR R14
0478 24FF CLR R15
0479 E180 LDI R24,0x10
047A 0F00 LSL R16
047B 1F11 ROL R17
047C 1CEE ROL R14
047D 1CFF ROL R15
047E 16E2 CP R14,R18
047F 06F3 CPC R15,R19
0480 F018 BCS 0x0484
0481 1AE2 SUB R14,R18
0482 0AF3 SBC R15,R19
0483 9503 INC R16
0484 958A DEC R24
0485 F7A1 BNE 0x047A
0486 F416 BRTC 0x0489
0487 2D0E MOV R16,R14
0488 2D1F MOV R17,R15
0489 9189 LD R24,Y+
048A 90F9 LD R15,Y+
048B 90E9 LD R14,Y+
048C 9508 RET
mod8u:
048D 9468 BSET 6
048E C001 RJMP xdiv8u
div8u:
048F 94E8 BCLR 6
xdiv8u:
0490 932A ST R18,-Y
0491 92FA ST R15,-Y
0492 92EA ST R14,-Y
0493 24FF CLR R15
0494 24EE CLR R14
0495 E120 LDI R18,0x10
0496 0F00 LSL R16
0497 1CFF ROL R15
0498 1CEE ROL R14
0499 16E1 CP R14,R17
049A F010 BCS 0x049D
049B 1AE1 SUB R14,R17
049C 9503 INC R16
049D 952A DEC R18
049E F7B9 BNE 0x0496
049F F40E BRTC 0x04A1
04A0 2D0E MOV R16,R14
04A1 90E9 LD R14,Y+
04A2 90F9 LD R15,Y+
04A3 9129 LD R18,Y+
04A4 9508 RET
pop_gset2:
04A5 E0E2 LDI R30,2
04A6 940C04B7 JMP pop
pop_gset3:
04A8 E0E4 LDI R30,4
04A9 940C04B7 JMP pop
push_gset5:
04AB 92FA ST R15,-Y
04AC 92EA ST R14,-Y
push_gset4:
04AD 92DA ST R13,-Y
04AE 92CA ST R12,-Y
push_gset3:
04AF 92BA ST R11,-Y
04B0 92AA ST R10,-Y
push_gset2:
04B1 937A ST R23,-Y
04B2 936A ST R22,-Y
push_gset1:
04B3 935A ST R21,-Y
04B4 934A ST R20,-Y
04B5 9508 RET
pop_gset1:
04B6 E0E1 LDI R30,1
pop:
04B7 9149 LD R20,Y+
04B8 9159 LD R21,Y+
04B9 FDE0 SBRC R30,0
04BA 9508 RET
04BB 9169 LD R22,Y+
04BC 9179 LD R23,Y+
04BD FDE1 SBRC R30,1
04BE 9508 RET
04BF 90A9 LD R10,Y+
04C0 90B9 LD R11,Y+
04C1 FDE2 SBRC R30,2
04C2 9508 RET
04C3 90C9 LD R12,Y+
04C4 90D9 LD R13,Y+
04C5 FDE3 SBRC R30,3
04C6 9508 RET
04C7 90E9 LD R14,Y+
04C8 90F9 LD R15,Y+
04C9 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -