;====Smart Disassembler 智能反编译器======================================= ;========================================================================== ;U51程序编写: 覃远高 ; 版权所有: 覃远高 ; 出品: 开发天地,提供单片机项目开发、单片机逆向工程服务。 ; 主页: http://www.mcusky.com ; 邮箱: qinyg@tom.com ; 电话: 13316529329 0755-82895478 ; 最后更新: 2007.9 ;========================================================================== ;===========Disassemble information======================================== ;========================================================================== ; File Name: D:\8-ATMEGA48PA-TQFP-20120419.HEX ; IC Body: ATmega88PA ; Date: 2012/5/27 ;========================================================================== .include "m88PAdef.inc" .EQU SRAM_0110 = 0x0110 .EQU SRAM_0111 = 0x0111 .EQU SRAM_0113 = 0x0113 .EQU SRAM_0114 = 0x0114 .EQU SRAM_0115 = 0x0115 .EQU SRAM_0116 = 0x0116 .EQU SRAM_0117 = 0x0117 .EQU SRAM_0118 = 0x0118 .EQU SRAM_0119 = 0x0119 .EQU SRAM_011A = 0x011A .EQU SRAM_011B = 0x011B .EQU SRAM_011C = 0x011C .EQU SRAM_011D = 0x011D .EQU SRAM_011E = 0x011E .EQU SRAM_011F = 0x011F .EQU SRAM_0120 = 0x0120 .EQU SRAM_0121 = 0x0121 .EQU SRAM_0122 = 0x0122 .EQU SRAM_0124 = 0x0124 ;===================================================================== .ORG 0x00000 ;===================================================================== Q00000: RJMP Q0001A ;00000::00000--->C019 RJMP Q0025C ;00001::00002--->C25A RJMP Q00035 ;00002::00004--->C032 RJMP Q00035 ;00003::00006--->C031 RJMP Q00035 ;00004::00008--->C030 RJMP Q00035 ;00005::0000A--->C02F RJMP Q00035 ;00006::0000C--->C02E RJMP Q00035 ;00007::0000E--->C02D RJMP Q00035 ;00008::00010--->C02C RJMP Q00105 ;00009::00012--->C0FB RJMP Q00035 ;0000A::00014--->C02A RJMP Q00035 ;0000B::00016--->C029 RJMP Q00035 ;0000C::00018--->C028 RJMP Q0011A ;0000D::0001A--->C10C RJMP Q00035 ;0000E::0001C--->C026 RJMP Q00035 ;0000F::0001E--->C025 RJMP Q00145 ;00010::00020--->C134 RJMP Q00035 ;00011::00022--->C023 RJMP Q00035 ;00012::00024--->C022 RJMP Q00035 ;00013::00026--->C021 RJMP Q00035 ;00014::00028--->C020 RJMP Q00035 ;00015::0002A--->C01F RJMP Q00035 ;00016::0002C--->C01E RJMP Q00035 ;00017::0002E--->C01D RJMP Q00035 ;00018::00030--->C01C RJMP Q00035 ;00019::00032--->C01B ;===================================================================== Q0001A: CLR R1 ;0001A::00034--->2411 OUT SREG,R1 ;0001B::00036--->BE1F LDI R28,0xFF ;0001C::00038--->EFCF LDI R29,0x02 ;0001D::0003A--->E0D2 OUT SPH,R29 ;0001E::0003C--->BFDE OUT SPL,R28 ;0001F::0003E--->BFCD LDI R17,0x01 ;00020::00040--->E011 LDI R26,0x00 ;00021::00042--->E0A0 LDI R27,0x01 ;00022::00044--->E0B1 LDI R30,0x38 ;00023::00046--->E3E8 LDI R31,0x07 ;00024::00048--->E0F7 RJMP Q00028 ;00025::0004A--->C002 ;===================================================================== Q00026: LPM R0,Z+ ;00026::0004C--->9005 ST X+,R0 ;00027::0004E--->920D ;===================================================================== Q00028: CPI R26,0x10 ;00028::00050--->31A0 CPC R27,R17 ;00029::00052--->07B1 BRNE Q00026 ;0002A::00054--->F7D9 LDI R17,0x01 ;0002B::00056--->E011 LDI R26,0x10 ;0002C::00058--->E1A0 LDI R27,0x01 ;0002D::0005A--->E0B1 RJMP Q00030 ;0002E::0005C--->C001 ;===================================================================== Q0002F: ST X+,R1 ;0002F::0005E--->921D ;===================================================================== Q00030: CPI R26,0x45 ;00030::00060--->34A5 CPC R27,R17 ;00031::00062--->07B1 BRNE Q0002F ;00032::00064--->F7E1 RCALL Q00302 ;00033::00066--->D2CE RJMP Q0039A ;00034::00068--->C365 ;===================================================================== Q00035: RJMP Q00000 ;00035::0006A--->CFCA .DW 0xE08C ;.. ;00036::0006C--->E08C .DW 0x9380 ;.. ;00037::0006E--->9380 .DW 0x00C4 ;.. ;00038::00070--->00C4 .DW 0xECE0 ;囔 ;00039::00072--->ECE0 .DW 0xE0F0 ;疣 ;0003A::00074--->E0F0 .DW 0x8180 ;.. ;0003B::00076--->8180 .DW 0x6082 ;.` ;0003C::00078--->6082 .DW 0x8380 ;.. ;0003D::0007A--->8380 .DW 0xE188 ;.. ;0003E::0007C--->E188 .DW 0x9380 ;.. ;0003F::0007E--->9380 .DW 0x00C1 ;.. ;00040::00080--->00C1 .DW 0x9508 ;.. ;00041::00082--->9508 ;===================================================================== Q00042: MOV R30,R24 ;00042::00084--->2FE8 LDI R31,0x00 ;00043::00086--->E0F0 SUBI R30,0x00 ;00044::00088--->50E0 SBCI R31,0xFF ;00045::0008A--->4FFF LDD R30,Z+0x00 ;00046::0008C--->81E0 LDI R24,0x08 ;00047::0008E--->E088 ;===================================================================== Q00048: CBI PORTC,PC2 ;00048::00090--->9842 SBRS R30,0 ;00049::00092--->FFE0 RJMP Q0004D ;0004A::00094--->C002 SBI PORTC,PC3 ;0004B::00096--->9A43 RJMP Q0004E ;0004C::00098--->C001 ;===================================================================== Q0004D: CBI PORTC,PC3 ;0004D::0009A--->9843 ;===================================================================== Q0004E: SBI PORTC,PC2 ;0004E::0009C--->9A42 SUBI R24,0x01 ;0004F::0009E--->5081 BREQ Q00053 ;00050::000A0--->F011 LSR R30 ;00051::000A2--->95E6 RJMP Q00048 ;00052::000A4--->CFF5 ;===================================================================== Q00053: RET ;00053::000A6--->9508 ;===================================================================== Q00054: STS SRAM_0118,R1 ;00054::000A8--->9210 ;00055::000AA--->0118 STS SRAM_0117,R1 ;00056::000AC--->9210 ;00057::000AE--->0117 STS SRAM_0120,R1 ;00058::000B0--->9210 ;00059::000B2--->0120 STS SRAM_011F,R1 ;0005A::000B4--->9210 ;0005B::000B6--->011F STS SRAM_0119,R1 ;0005C::000B8--->9210 ;0005D::000BA--->0119 LDI R24,0x32 ;0005E::000BC--->E382 STS SRAM_0124,R24 ;0005F::000BE--->9380 ;00060::000C0--->0124 LDI R24,0x96 ;00061::000C2--->E986 STS SRAM_0113,R24 ;00062::000C4--->9380 ;00063::000C6--->0113 LDI R24,0xB2 ;00064::000C8--->EB82 LDI R25,0x04 ;00065::000CA--->E094 STS SRAM_011C,R25 ;00066::000CC--->9390 ;00067::000CE--->011C STS SRAM_011B,R24 ;00068::000D0--->9380 ;00069::000D2--->011B RET ;0006A::000D4--->9508 ;===================================================================== Q0006B: PUSH R17 ;0006B::000D6--->931F SBIC PIND,PIND1 ;0006C::000D8--->9949 RJMP Q00073 ;0006D::000DA--->C005 LDS R24,SRAM_0111 ;0006E::000DC--->9180 ;0006F::000DE--->0111 ORI R24,0x21 ;00070::000E0--->6281 STS SRAM_0111,R24 ;00071::000E2--->9380 ;00072::000E4--->0111 ;===================================================================== Q00073: SBIC PIND,PIND0 ;00073::000E6--->9948 RJMP Q0007A ;00074::000E8--->C005 LDS R24,SRAM_0111 ;00075::000EA--->9180 ;00076::000EC--->0111 ORI R24,0x11 ;00077::000EE--->6181 STS SRAM_0111,R24 ;00078::000F0--->9380 ;00079::000F2--->0111 ;===================================================================== Q0007A: SBI PORTD,PD6 ;0007A::000F4--->9A5E LDS R24,SRAM_0111 ;0007B::000F6--->9180 ;0007C::000F8--->0111 CPI R24,0x27 ;0007D::000FA--->3287 BRNE Q00099 ;0007E::000FC--->F4D1 IN R24,PORTB ;0007F::000FE--->B185 ANDI R24,0xFC ;00080::00100--->7F8C OUT PORTB,R24 ;00081::00102--->B985 IN R24,PORTD ;00082::00104--->B18B ANDI R24,0x1F ;00083::00106--->718F OUT PORTD,R24 ;00084::00108--->B98B LDI R17,0x01 ;00085::0010A--->E011 STS SRAM_0114,R17 ;00086::0010C--->9310 ;00087::0010E--->0114 STS SRAM_0111,R1 ;00088::00110--->9210 ;00089::00112--->0111 LDI R24,0x05 ;0008A::00114--->E085 RCALL Q00042 ;0008B::00116--->DFB6 STS SRAM_011A,R17 ;0008C::00118--->9310 ;0008D::0011A--->011A STS SRAM_0116,R1 ;0008E::0011C--->9210 ;0008F::0011E--->0116 STS TCNT1H,R1 ;00090::00120--->9210 ;00091::00122--->0085 STS TCNT1L,R1 ;00092::00124--->9210 ;00093::00126--->0084 STS TCCR1B,R1 ;00094::00128--->9210 ;00095::0012A--->0081 STS TIMSK1,R1 ;00096::0012C--->9210 ;00097::0012E--->006F RCALL Q00054 ;00098::00130--->DFBB ;=====================================================================