📄 flash2.lst
字号:
01F4 1620 CP R2,R16
01F5 0631 CPC R3,R17
01F6 F384 BLT 0x01E7
01F7 940E02CC CALL pop_gset1
01F9 9508 RET
FILE: E:\MYSTUD~1\微雪电子\微雪电子CD1\开发板试验器\SD系列\M16SD\教程\内核及主板相关试验\LED发~1\Flash2\Flash2.c
(0001) /*********************************************************************
(0002) 微 雪 电 子 WaveShare http://www.waveShare.net
(0003)
(0004) 功能目的: 建立LED闪烁示例
(0005)
(0006) 目标系统: 基于AVR单片机
(0007)
(0008) 应用软件: ICCAVR
(0009)
(0010) 版 本: Version 1.0
(0011)
(0012) 圆版时间: 2005-03-01
(0013)
(0014) 开发人员: SEE
(0015)
(0016) 说 明: 若用于商业用途,请保留此段文字或注明代码来源
(0017)
(0018) 深 圳 微 雪 电 子 保 留 所 有 的 版 权
(0019) *********************************************************************/
(0020)
(0021) /*01010101010101010101010101010101010101010101010101010101010101010101
(0022) ----------------------------------------------------------------------
(0023) 版本更新记录:
(0024)
(0025) ----------------------------------------------------------------------
(0026) 程序功能: 详见教程文档
(0027) 接入模块: 详见教程文档
(0028) 接口说明: 详见教程文档
(0029)
(0030) ----------------------------------------------------------------------
(0031) 注意事项: 详见教程文档及M16SD说明书
(0032)
(0033) ----------------------------------------------------------------------
(0034) 10101010101010101010101010101010101010101010101010101010101010101010*/
(0035)
(0036) #include <iom16v.h>
(0037) #include "D:\ICC_H\CmmICC.H"
(0038)
(0039) #define LED_DDR DDRD
(0040) #define LED_PORT PORTD
(0041)
(0042) /*--------------------------------------------------------------------
(0043) 函数名称:
(0044) 函数功能:
(0045) 注意事项:
(0046) 提示说明:
(0047) 输 入:
(0048) 返 回:
(0049) --------------------------------------------------------------------*/
(0050) void main(void)
(0051) {
(0052) sint8 i,j;
(0053) uint8 k,temp=0;
_main:
i --> R22
temp --> R20
k --> R10
j --> R12
01FA 2744 CLR R20
(0054) LED_DDR=0XFF;
01FB EF8F LDI R24,0xFF
01FC BB81 OUT 0x11,R24
01FD C015 RJMP 0x0213
(0055)
(0056) while(1)
(0057) {
(0058) for(i=7;i>=0;i--)
01FE E067 LDI R22,7
01FF C011 RJMP 0x0211
(0059) {
(0060) k=0x01;
0200 24AA CLR R10
0201 94A3 INC R10
(0061) for(j=i;j>=0;j--)
0202 2EC6 MOV R12,R22
0203 C008 RJMP 0x020C
(0062) {
(0063) LED_PORT = temp|k;
0204 2E24 MOV R2,R20
0205 282A OR R2,R10
0206 BA22 OUT 0x12,R2
(0064) delay50ms(5);
0207 E005 LDI R16,5
0208 E010 LDI R17,0
0209 DFDA RCALL _delay50ms
(0065) k<<=1;
020A 0CAA LSL R10
020B 94CA DEC R12
020C 2D8C MOV R24,R12
020D 3080 CPI R24,0
020E F7AC BGE 0x0204
(0066) }
(0067) temp = LED_PORT;
FILE: <library>
020F B342 IN R20,0x12
0210 956A DEC R22
0211 3060 CPI R22,0
0212 F76C BGE 0x0200
0213 CFEA RJMP 0x01FE
0214 9508 RET
push_arg4:
0215 933A ST R19,-Y
0216 932A ST R18,-Y
push_arg2:
0217 931A ST R17,-Y
0218 930A ST R16,-Y
0219 9508 RET
div32u:
021A 94E8 BCLR 6
021B C001 RJMP 0x021D
mod32u:
021C 9468 BSET 6
021D D02F RCALL long_div_prolog
021E 24CC CLR R12
021F C008 RJMP 0x0228
div32s:
0220 94E8 BCLR 6
0221 C001 RJMP 0x0223
mod32s:
0222 9468 BSET 6
0223 D029 RCALL long_div_prolog
0224 FD37 SBRC R19,7
0225 D053 RCALL neg_R16_R19
0226 FDB7 SBRC R27,7
0227 D05A RCALL neg_R24_R27
0228 2477 CLR R7
0229 2488 CLR R8
022A 2499 CLR R9
022B 24AA CLR R10
022C 24BB CLR R11
022D D041 RCALL tst_R16_R19
022E F0C1 BEQ 0x0247
022F D044 RCALL tst_R24_R27
0230 F0B1 BEQ 0x0247
0231 E2E8 LDI R30,0x28
0232 0F00 LSL R16
0233 1F11 ROL R17
0234 1F22 ROL R18
0235 1F33 ROL R19
0236 1C77 ROL R7
0237 1C88 ROL R8
0238 1C99 ROL R9
0239 1CAA ROL R10
023A 1CBB ROL R11
023B 1688 CP R8,R24
023C 0699 CPC R9,R25
023D 06AA CPC R10,R26
023E 06BB CPC R11,R27
023F F028 BCS 0x0245
0240 1A88 SUB R8,R24
0241 0A99 SBC R9,R25
0242 0AAA SBC R10,R26
0243 0ABB SBC R11,R27
0244 9503 INC R16
0245 95EA DEC R30
0246 F759 BNE 0x0232
0247 F426 BRTC 0x024C
0248 2D08 MOV R16,R8
0249 2D19 MOV R17,R9
024A 2D2A MOV R18,R10
024B 2D3B MOV R19,R11
024C C013 RJMP long_div_epilog
long_div_prolog:
024D 927A ST R7,-Y
024E 928A ST R8,-Y
024F 929A ST R9,-Y
0250 92AA ST R10,-Y
0251 92BA ST R11,-Y
0252 92CA ST R12,-Y
0253 93EA ST R30,-Y
0254 938A ST R24,-Y
0255 939A ST R25,-Y
0256 93AA ST R26,-Y
0257 93BA ST R27,-Y
0258 858B LDD R24,Y+11
0259 859C LDD R25,Y+12
025A 85AD LDD R26,Y+13
025B 85BE LDD R27,Y+14
025C 2EC3 MOV R12,R19
025D F00E BRTS 0x025F
025E 26CB EOR R12,R27
025F 9508 RET
long_div_epilog:
0260 FCC7 SBRC R12,7
0261 D017 RCALL neg_R16_R19
0262 91B9 LD R27,Y+
0263 91A9 LD R26,Y+
0264 9199 LD R25,Y+
0265 9189 LD R24,Y+
0266 91E9 LD R30,Y+
0267 90C9 LD R12,Y+
0268 90B9 LD R11,Y+
0269 90A9 LD R10,Y+
026A 9099 LD R9,Y+
026B 9089 LD R8,Y+
026C 9079 LD R7,Y+
026D 9624 ADIW R28,4
026E 9508 RET
tst_R16_R19:
026F 2FE0 MOV R30,R16
0270 2BE1 OR R30,R17
0271 2BE2 OR R30,R18
0272 2BE3 OR R30,R19
0273 9508 RET
tst_R24_R27:
0274 2FE8 MOV R30,R24
0275 2BE9 OR R30,R25
0276 2BEA OR R30,R26
0277 2BEB OR R30,R27
0278 9508 RET
neg_R16_R19:
0279 9500 COM R16
027A 9510 COM R17
027B 9520 COM R18
027C 9530 COM R19
027D 5F0F SUBI R16,0xFF
027E 4F1F SBCI R17,0xFF
027F 4F2F SBCI R18,0xFF
0280 4F3F SBCI R19,0xFF
0281 9508 RET
neg_R24_R27:
0282 9580 COM R24
0283 9590 COM R25
0284 95A0 COM R26
0285 95B0 COM R27
0286 5F8F SUBI R24,0xFF
0287 4F9F SBCI R25,0xFF
0288 4FAF SBCI R26,0xFF
0289 4FBF SBCI R27,0xFF
028A 9508 RET
empy32s:
empy32u:
028B 940E02E0 CALL long_prolog
028D 927F PUSH R7
028E 940E02F9 CALL tstzero1
0290 F139 BEQ 0x02B8
0291 2477 CLR R7
0292 940E02FF CALL tstzero2
0294 F419 BNE 0x0298
0295 018C MOVW R16,R24
0296 019D MOVW R18,R26
0297 C020 RJMP 0x02B8
0298 9F08 MUL R16,R24
0299 2CB0 MOV R11,R0
029A 2CA1 MOV R10,R1
029B 9F28 MUL R18,R24
029C 2C90 MOV R9,R0
029D 2C81 MOV R8,R1
029E 9F18 MUL R17,R24
029F 0CA0 ADD R10,R0
02A0 1C91 ADC R9,R1
02A1 1C87 ADC R8,R7
02A2 9F09 MUL R16,R25
02A3 0CA0 ADD R10,R0
02A4 1C91 ADC R9,R1
02A5 1C87 ADC R8,R7
02A6 9F19 MUL R17,R25
02A7 0C90 ADD R9,R0
02A8 1C81 ADC R8,R1
02A9 9F0A MUL R16,R26
02AA 0C90 ADD R9,R0
02AB 1C81 ADC R8,R1
02AC 9F38 MUL R19,R24
02AD 0C80 ADD R8,R0
02AE 9F29 MUL R18,R25
02AF 0C80 ADD R8,R0
02B0 9F1A MUL R17,R26
02B1 0C80 ADD R8,R0
02B2 9F0B MUL R16,R27
02B3 0C80 ADD R8,R0
02B4 2D0B MOV R16,R11
02B5 2D1A MOV R17,R10
02B6 2D29 MOV R18,R9
02B7 2D38 MOV R19,R8
02B8 907F POP R7
02B9 940C02EE JMP long_epilog
pop_gset2:
02BB E0E2 LDI R30,2
02BC 940C02CD JMP pop
pop_gset4:
02BE E0E8 LDI R30,0x8
02BF 940C02CD JMP pop
push_gset5:
02C1 92FA ST R15,-Y
02C2 92EA ST R14,-Y
push_gset4:
02C3 92DA ST R13,-Y
02C4 92CA ST R12,-Y
push_gset3:
02C5 92BA ST R11,-Y
02C6 92AA ST R10,-Y
push_gset2:
02C7 937A ST R23,-Y
02C8 936A ST R22,-Y
push_gset1:
02C9 935A ST R21,-Y
02CA 934A ST R20,-Y
02CB 9508 RET
pop_gset1:
02CC E0E1 LDI R30,1
pop:
02CD 9149 LD R20,Y+
02CE 9159 LD R21,Y+
02CF FDE0 SBRC R30,0
02D0 9508 RET
02D1 9169 LD R22,Y+
02D2 9179 LD R23,Y+
02D3 FDE1 SBRC R30,1
02D4 9508 RET
02D5 90A9 LD R10,Y+
02D6 90B9 LD R11,Y+
02D7 FDE2 SBRC R30,2
02D8 9508 RET
02D9 90C9 LD R12,Y+
02DA 90D9 LD R13,Y+
02DB FDE3 SBRC R30,3
02DC 9508 RET
02DD 90E9 LD R14,Y+
02DE 90F9 LD R15,Y+
02DF 9508 RET
long_prolog:
02E0 928A ST R8,-Y
02E1 929A ST R9,-Y
02E2 92AA ST R10,-Y
02E3 92BA ST R11,-Y
02E4 93EA ST R30,-Y
02E5 938A ST R24,-Y
02E6 939A ST R25,-Y
02E7 93AA ST R26,-Y
02E8 93BA ST R27,-Y
02E9 8589 LDD R24,Y+9
02EA 859A LDD R25,Y+10
02EB 85AB LDD R26,Y+11
02EC 85BC LDD R27,Y+12
02ED 9508 RET
long_epilog:
02EE 91B9 LD R27,Y+
02EF 91A9 LD R26,Y+
02F0 9199 LD R25,Y+
02F1 9189 LD R24,Y+
02F2 91E9 LD R30,Y+
02F3 90B9 LD R11,Y+
02F4 90A9 LD R10,Y+
02F5 9099 LD R9,Y+
02F6 9089 LD R8,Y+
02F7 9624 ADIW R28,4
02F8 9508 RET
tstzero1:
02F9 27EE CLR R30
02FA 2BE0 OR R30,R16
02FB 2BE1 OR R30,R17
02FC 2BE2 OR R30,R18
02FD 2BE3 OR R30,R19
02FE 9508 RET
tstzero2:
02FF 27EE CLR R30
0300 2BE8 OR R30,R24
0301 2BE9 OR R30,R25
0302 2BEA OR R30,R26
0303 2BEB OR R30,R27
0304 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -