📄 pwm.lst
字号:
FILE: <library>
__start:
__text_start:
001B E5CF LDI R28,0x5F
001C E0D2 LDI R29,2
001D BFCD OUT 0x3D,R28
001E BFDE OUT 0x3E,R29
001F 51C0 SUBI R28,0x10
0020 40D0 SBCI R29,0
0021 EA0A LDI R16,0xAA
0022 8308 STD Y+0,R16
0023 2400 CLR R0
0024 E7E4 LDI R30,0x74
0025 E0F0 LDI R31,0
0026 E010 LDI R17,0
0027 37E6 CPI R30,0x76
0028 07F1 CPC R31,R17
0029 F011 BEQ 0x002C
002A 9201 ST R0,Z+
002B CFFB RJMP 0x0027
002C 8300 STD Z+0,R16
002D E2E2 LDI R30,0x22
002E E0F0 LDI R31,0
002F E6A0 LDI R26,0x60
0030 E0B0 LDI R27,0
0031 E010 LDI R17,0
0032 33E6 CPI R30,0x36
0033 07F1 CPC R31,R17
0034 F021 BEQ 0x0039
0035 95C8 LPM
0036 9631 ADIW R30,1
0037 920D ST R0,X+
0038 CFF9 RJMP 0x0032
0039 D0CC RCALL _main
_exit:
003A CFFF RJMP _exit
_DelayMs:
j --> R20
i --> R16
003B D123 RCALL push_gset1
003C C00A RJMP 0x0047
003D E440 LDI R20,0x40
003E E15F LDI R21,0x1F
003F C002 RJMP 0x0042
0040 5041 SUBI R20,1
0041 4050 SBCI R21,0
0042 3040 CPI R20,0
0043 0745 CPC R20,R21
0044 F7D9 BNE 0x0040
0045 5001 SUBI R16,1
0046 4010 SBCI R17,0
0047 3000 CPI R16,0
0048 0701 CPC R16,R17
0049 F799 BNE 0x003D
004A D117 RCALL pop_gset1
004B 9508 RET
_Display:
sel --> R20
i --> R22
p --> R10
004C D12C RCALL push_gset3
004D 2EA0 MOV R10,R16
004E 2EB1 MOV R11,R17
004F E041 LDI R20,1
0050 2766 CLR R22
0051 C017 RJMP 0x0069
0052 BB4B OUT 0x1B,R20
0053 2FE6 MOV R30,R22
0054 27FF CLR R31
0055 0DEA ADD R30,R10
0056 1DFB ADC R31,R11
0057 81E0 LDD R30,Z+0
0058 27FF CLR R31
0059 E680 LDI R24,0x60
005A E090 LDI R25,0
005B 0FE8 ADD R30,R24
005C 1FF9 ADC R31,R25
005D 8020 LDD R2,Z+0
005E 2433 CLR R3
005F EF8F LDI R24,0xFF
0060 E090 LDI R25,0
0061 1982 SUB R24,R2
0062 0993 SBC R25,R3
0063 BB85 OUT 0x15,R24
0064 E001 LDI R16,1
0065 E010 LDI R17,0
0066 DFD4 RCALL _DelayMs
0067 0F44 LSL R20
0068 9563 INC R22
0069 3064 CPI R22,4
006A F338 BCS 0x0052
006B D0F1 RCALL pop_gset3
006C 9508 RET
_Add_Process:
p --> R16
006D 2FE0 MOV R30,R16
006E 2FF1 MOV R31,R17
006F 8181 LDD R24,Z+1
0070 3081 CPI R24,1
0071 F0C9 BEQ 0x008B
0072 2F80 MOV R24,R16
0073 2F91 MOV R25,R17
0074 9602 ADIW R24,2
0075 2FE8 MOV R30,R24
0076 2FF9 MOV R31,R25
0077 8180 LDD R24,Z+0
0078 5F8F SUBI R24,0xFF
0079 8380 STD Z+0,R24
007A 2FE0 MOV R30,R16
007B 2FF1 MOV R31,R17
007C 8182 LDD R24,Z+2
007D 308A CPI R24,0xA
007E F461 BNE 0x008B
007F 2422 CLR R2
0080 2FE0 MOV R30,R16
0081 2FF1 MOV R31,R17
0082 8222 STD Z+2,R2
0083 2F80 MOV R24,R16
0084 2F91 MOV R25,R17
0085 9601 ADIW R24,1
0086 2FE8 MOV R30,R24
0087 2FF9 MOV R31,R25
0088 8180 LDD R24,Z+0
0089 5F8F SUBI R24,0xFF
008A 8380 STD Z+0,R24
008B 9508 RET
_Sub_Process:
temp --> R22
p --> R20
008C D0E9 RCALL push_gset2
008D 2F40 MOV R20,R16
008E 2F51 MOV R21,R17
008F 2FE4 MOV R30,R20
0090 2FF5 MOV R31,R21
0091 8111 LDD R17,Z+1
0092 E00A LDI R16,0xA
0093 D0FC RCALL mpy8s
0094 2F60 MOV R22,R16
0095 2FE4 MOV R30,R20
0096 2FF5 MOV R31,R21
0097 8022 LDD R2,Z+2
0098 0D62 ADD R22,R2
0099 F089 BEQ 0x00AB
009A 956A DEC R22
009B E01A LDI R17,0xA
009C 2F06 MOV R16,R22
009D D0A7 RCALL div8u
009E 2FE4 MOV R30,R20
009F 2FF5 MOV R31,R21
00A0 8301 STD Z+1,R16
00A1 2FE4 MOV R30,R20
00A2 2FF5 MOV R31,R21
00A3 8111 LDD R17,Z+1
00A4 E00A LDI R16,0xA
00A5 D0EA RCALL mpy8s
00A6 2E26 MOV R2,R22
00A7 1A20 SUB R2,R16
00A8 2FE4 MOV R30,R20
00A9 2FF5 MOV R31,R21
00AA 8222 STD Z+2,R2
00AB D0AF RCALL pop_gset2
00AC 9508 RET
_Key_Process:
00AD C006 RJMP 0x00B4
00AE E60C LDI R16,0x6C
00AF E010 LDI R17,0
00B0 DF9B RCALL _Display
00B1 E081 LDI R24,1
00B2 93800075 STS _Key1_Flag,R24
00B4 9BB0 SBIS 0x16,0
00B5 CFF8 RJMP 0x00AE
00B6 C006 RJMP 0x00BD
00B7 E60C LDI R16,0x6C
00B8 E010 LDI R17,0
00B9 DF92 RCALL _Display
00BA E081 LDI R24,1
00BB 93800074 STS _Key2_Flag,R24
00BD 9BB1 SBIS 0x16,1
00BE CFF8 RJMP 0x00B7
00BF 91800075 LDS R24,_Key1_Flag
00C1 3081 CPI R24,1
00C2 F431 BNE 0x00C9
00C3 E60C LDI R16,0x6C
00C4 E010 LDI R17,0
00C5 DFA7 RCALL _Add_Process
00C6 2422 CLR R2
00C7 92200075 STS _Key1_Flag,R2
00C9 91800074 LDS R24,_Key2_Flag
00CB 3081 CPI R24,1
00CC F431 BNE 0x00D3
00CD E60C LDI R16,0x6C
00CE E010 LDI R17,0
00CF DFBC RCALL _Sub_Process
00D0 2422 CLR R2
00D1 92200074 STS _Key2_Flag,R2
00D3 9508 RET
_Set_Process:
i --> R20
p --> R20
00D4 D08A RCALL push_gset1
00D5 2F40 MOV R20,R16
00D6 2F51 MOV R21,R17
00D7 2FE4 MOV R30,R20
00D8 2FF5 MOV R31,R21
00D9 8121 LDD R18,Z+1
00DA 2733 CLR R19
00DB E00A LDI R16,0xA
00DC E010 LDI R17,0
00DD D09E RCALL mpy16s
00DE 2E20 MOV R2,R16
00DF 2E31 MOV R3,R17
00E0 2FE4 MOV R30,R20
00E1 2FF5 MOV R31,R21
00E2 8042 LDD R4,Z+2
00E3 2455 CLR R5
00E4 0C24 ADD R2,R4
00E5 1C35 ADC R3,R5
00E6 EF0F LDI R16,0xFF
00E7 E013 LDI R17,3
00E8 2D22 MOV R18,R2
00E9 2D33 MOV R19,R3
00EA D091 RCALL mpy16s
00EB E02A LDI R18,0xA
00EC E030 LDI R19,0
00ED D03B RCALL div16u
00EE 2F40 MOV R20,R16
00EF 2F51 MOV R21,R17
00F0 2E24 MOV R2,R20
00F1 2E35 MOV R3,R21
00F2 2C23 MOV R2,R3
00F3 2433 CLR R3
00F4 BC2B OUT 0x2B,R2
00F5 2F84 MOV R24,R20
00F6 2F95 MOV R25,R21
00F7 7090 ANDI R25,0
00F8 BD8A OUT 0x2A,R24
00F9 D068 RCALL pop_gset1
00FA 9508 RET
_Init_IO:
00FB EF8F LDI R24,0xFF
00FC BB8A OUT 0x1A,R24
00FD BB8B OUT 0x1B,R24
00FE BB84 OUT 0x14,R24
00FF BB85 OUT 0x15,R24
0100 2422 CLR R2
0101 BA27 OUT 0x17,R2
0102 BA28 OUT 0x18,R2
0103 BB81 OUT 0x11,R24
0104 BB82 OUT 0x12,R24
0105 9508 RET
_main:
i --> R20
0106 DFF4 RCALL _Init_IO
0107 EF8F LDI R24,0xFF
0108 BB8B OUT 0x1B,R24
0109 2422 CLR R2
010A BA25 OUT 0x15,R2
010B BB85 OUT 0x15,R24
010C EC83 LDI R24,0xC3
010D BD8F OUT 0x2F,R24
010E E082 LDI R24,2
010F BD8E OUT 0x2E,R24
0110 C014 RJMP 0x0125
0111 DF9B RCALL _Key_Process
0112 E60C LDI R16,0x6C
0113 E010 LDI R17,0
0114 DFBF RCALL _Set_Process
0115 E342 LDI R20,0x32
0116 C004 RJMP 0x011B
0117 E60C LDI R16,0x6C
0118 E010 LDI R17,0
0119 DF32 RCALL _Display
011A 954A DEC R20
011B 2344 TST R20
011C F7D1 BNE 0x0117
011D E342 LDI R20,0x32
011E C004 RJMP 0x0123
011F E700 LDI R16,0x70
0120 E010 LDI R17,0
0121 DF2A RCALL _Display
0122 954A DEC R20
0123 2344 TST R20
0124 F7D1 BNE 0x011F
0125 CFEB RJMP 0x0111
0126 9508 RET
mod16u:
0127 9468 BSET 6
0128 C001 RJMP xdiv16u
div16u:
0129 94E8 BCLR 6
xdiv16u:
012A 92EA ST R14,-Y
012B 92FA ST R15,-Y
012C 938A ST R24,-Y
012D 24EE CLR R14
012E 24FF CLR R15
012F E180 LDI R24,0x10
0130 0F00 LSL R16
0131 1F11 ROL R17
0132 1CEE ROL R14
0133 1CFF ROL R15
0134 16E2 CP R14,R18
0135 06F3 CPC R15,R19
0136 F018 BCS 0x013A
0137 1AE2 SUB R14,R18
0138 0AF3 SBC R15,R19
0139 9503 INC R16
013A 958A DEC R24
013B F7A1 BNE 0x0130
013C F416 BRTC 0x013F
013D 2D0E MOV R16,R14
013E 2D1F MOV R17,R15
013F 9189 LD R24,Y+
0140 90F9 LD R15,Y+
0141 90E9 LD R14,Y+
0142 9508 RET
mod8u:
0143 9468 BSET 6
0144 C001 RJMP xdiv8u
div8u:
0145 94E8 BCLR 6
xdiv8u:
0146 932A ST R18,-Y
0147 92FA ST R15,-Y
0148 92EA ST R14,-Y
0149 24FF CLR R15
014A 24EE CLR R14
014B E120 LDI R18,0x10
014C 0F00 LSL R16
014D 1CFF ROL R15
014E 1CEE ROL R14
014F 16E1 CP R14,R17
0150 F010 BCS 0x0153
0151 1AE1 SUB R14,R17
0152 9503 INC R16
0153 952A DEC R18
0154 F7B9 BNE 0x014C
0155 F40E BRTC 0x0157
0156 2D0E MOV R16,R14
0157 90E9 LD R14,Y+
0158 90F9 LD R15,Y+
0159 9129 LD R18,Y+
015A 9508 RET
pop_gset2:
015B E0E2 LDI R30,2
015C C006 RJMP pop
pop_gset3:
015D E0E4 LDI R30,4
015E C004 RJMP pop
push_gset1:
015F 935A ST R21,-Y
0160 934A ST R20,-Y
0161 9508 RET
pop_gset1:
0162 E0E1 LDI R30,1
pop:
0163 9149 LD R20,Y+
0164 9159 LD R21,Y+
0165 FDE0 SBRC R30,0
0166 9508 RET
0167 9169 LD R22,Y+
0168 9179 LD R23,Y+
0169 FDE1 SBRC R30,1
016A 9508 RET
016B 90A9 LD R10,Y+
016C 90B9 LD R11,Y+
016D FDE2 SBRC R30,2
016E 9508 RET
016F 90C9 LD R12,Y+
0170 90D9 LD R13,Y+
0171 FDE3 SBRC R30,3
0172 9508 RET
0173 90E9 LD R14,Y+
0174 90F9 LD R15,Y+
0175 9508 RET
push_gset2:
0176 937A ST R23,-Y
0177 936A ST R22,-Y
0178 CFE6 RJMP push_gset1
push_gset3:
0179 92BA ST R11,-Y
017A 92AA ST R10,-Y
017B CFFA RJMP push_gset2
mpy16s:
017C 920A ST R0,-Y
017D 921A ST R1,-Y
017E 2400 CLR R0
017F 2411 CLR R1
0180 3000 CPI R16,0
0181 0701 CPC R16,R17
0182 F041 BEQ 0x018B
0183 9516 LSR R17
0184 9507 ROR R16
0185 F410 BCC 0x0188
0186 0E02 ADD R0,R18
0187 1E13 ADC R1,R19
0188 0F22 LSL R18
0189 1F33 ROL R19
018A CFF5 RJMP 0x0180
018B 2D00 MOV R16,R0
018C 2D11 MOV R17,R1
018D 9019 LD R1,Y+
018E 9009 LD R0,Y+
018F 9508 RET
mpy8s:
0190 920A ST R0,-Y
0191 2400 CLR R0
0192 2300 TST R16
0193 F029 BEQ 0x0199
0194 9506 LSR R16
0195 F408 BCC 0x0197
0196 0E01 ADD R0,R17
0197 0F11 LSL R17
0198 CFF9 RJMP 0x0192
0199 2D00 MOV R16,R0
019A 9009 LD R0,Y+
019B 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -