📄 test_isp.lis
字号:
02EE 4424 clr R4
02F0 5524 clr R5
02F2 FE01 movw R30,R28
02F4 6080 ldd R6,z+0
02F6 7180 ldd R7,z+1
02F8 8280 ldd R8,z+2
02FA 9380 ldd R9,z+3
02FC 620C add R6,R2
02FE 731C adc R7,R3
0300 841C adc R8,R4
0302 951C adc R9,R5
0304 6082 std z+0,R6
0306 7182 std z+1,R7
0308 8282 std z+2,R8
030A 9382 std z+3,R9
030C .dbline 102
030C ; temp=temp*256;
030C 2080 ldd R2,z+0
030E 3180 ldd R3,z+1
0310 4280 ldd R4,z+2
0312 5380 ldd R5,z+3
0314 40E0 ldi R20,0
0316 51E0 ldi R21,1
0318 60E0 ldi R22,0
031A 70E0 ldi R23,0
031C 5A92 st -y,R5
031E 4A92 st -y,R4
0320 3A92 st -y,R3
0322 2A92 st -y,R2
0324 8A01 movw R16,R20
0326 9B01 movw R18,R22
0328 0E940000 xcall empy32s
032C FE01 movw R30,R28
032E 0083 std z+0,R16
0330 1183 std z+1,R17
0332 2283 std z+2,R18
0334 3383 std z+3,R19
0336 .dbline 103
0336 ; buf=spi_tranByte (CH3,0x9000);
0336 20E0 ldi R18,36864
0338 30E9 ldi R19,144
033A 04E0 ldi R16,4
033C 61DE xcall _spi_tranByte
033E A02E mov R10,R16
0340 .dbline 104
0340 ; temp+=buf;
0340 2A2C mov R2,R10
0342 3324 clr R3
0344 4424 clr R4
0346 5524 clr R5
0348 FE01 movw R30,R28
034A 6080 ldd R6,z+0
034C 7180 ldd R7,z+1
034E 8280 ldd R8,z+2
0350 9380 ldd R9,z+3
0352 620C add R6,R2
0354 731C adc R7,R3
0356 841C adc R8,R4
0358 951C adc R9,R5
035A 6082 std z+0,R6
035C 7182 std z+1,R7
035E 8282 std z+2,R8
0360 9382 std z+3,R9
0362 .dbline 105
0362 ; temp=temp*256;
0362 2080 ldd R2,z+0
0364 3180 ldd R3,z+1
0366 4280 ldd R4,z+2
0368 5380 ldd R5,z+3
036A 40E0 ldi R20,0
036C 51E0 ldi R21,1
036E 60E0 ldi R22,0
0370 70E0 ldi R23,0
0372 5A92 st -y,R5
0374 4A92 st -y,R4
0376 3A92 st -y,R3
0378 2A92 st -y,R2
037A 8A01 movw R16,R20
037C 9B01 movw R18,R22
037E 0E940000 xcall empy32s
0382 FE01 movw R30,R28
0384 0083 std z+0,R16
0386 1183 std z+1,R17
0388 2283 std z+2,R18
038A 3383 std z+3,R19
038C .dbline 106
038C ; buf=spi_tranByte (CH3,0x9000);
038C 20E0 ldi R18,36864
038E 30E9 ldi R19,144
0390 04E0 ldi R16,4
0392 36DE xcall _spi_tranByte
0394 A02E mov R10,R16
0396 .dbline 107
0396 ; temp+=buf;
0396 2A2C mov R2,R10
0398 3324 clr R3
039A 4424 clr R4
039C 5524 clr R5
039E FE01 movw R30,R28
03A0 6080 ldd R6,z+0
03A2 7180 ldd R7,z+1
03A4 8280 ldd R8,z+2
03A6 9380 ldd R9,z+3
03A8 620C add R6,R2
03AA 731C adc R7,R3
03AC 841C adc R8,R4
03AE 951C adc R9,R5
03B0 6082 std z+0,R6
03B2 7182 std z+1,R7
03B4 8282 std z+2,R8
03B6 9382 std z+3,R9
03B8 .dbline 108
03B8 ; temp=temp*256;
03B8 2080 ldd R2,z+0
03BA 3180 ldd R3,z+1
03BC 4280 ldd R4,z+2
03BE 5380 ldd R5,z+3
03C0 40E0 ldi R20,0
03C2 51E0 ldi R21,1
03C4 60E0 ldi R22,0
03C6 70E0 ldi R23,0
03C8 5A92 st -y,R5
03CA 4A92 st -y,R4
03CC 3A92 st -y,R3
03CE 2A92 st -y,R2
03D0 8A01 movw R16,R20
03D2 9B01 movw R18,R22
03D4 0E940000 xcall empy32s
03D8 FE01 movw R30,R28
03DA 0083 std z+0,R16
03DC 1183 std z+1,R17
03DE 2283 std z+2,R18
03E0 3383 std z+3,R19
03E2 .dbline 109
03E2 ; buf=spi_tranByte (CH3,0x9000);
03E2 20E0 ldi R18,36864
03E4 30E9 ldi R19,144
03E6 04E0 ldi R16,4
03E8 0BDE xcall _spi_tranByte
03EA A02E mov R10,R16
03EC .dbline 110
03EC ; temp+=buf;
03EC 2A2C mov R2,R10
03EE 3324 clr R3
03F0 4424 clr R4
03F2 5524 clr R5
03F4 FE01 movw R30,R28
03F6 6080 ldd R6,z+0
03F8 7180 ldd R7,z+1
03FA 8280 ldd R8,z+2
03FC 9380 ldd R9,z+3
03FE 620C add R6,R2
0400 731C adc R7,R3
0402 841C adc R8,R4
0404 951C adc R9,R5
0406 6082 std z+0,R6
0408 7182 std z+1,R7
040A 8282 std z+2,R8
040C 9382 std z+3,R9
040E .dbline 111
040E ; break;
040E L6:
040E L7:
040E .dbline 116
040E ;
040E ;
040E ;
040E ; }
040E ; len=temp;
040E FE01 movw R30,R28
0410 2080 ldd R2,z+0
0412 3180 ldd R3,z+1
0414 4280 ldd R4,z+2
0416 5380 ldd R5,z+3
0418 30920100 sts _len+1,R3
041C 20920000 sts _len,R2
0420 50920300 sts _len+2+1,R5
0424 40920200 sts _len+2,R4
0428 .dbline 118
0428 ;
0428 ; return temp;
0428 0081 ldd R16,z+0
042A 1181 ldd R17,z+1
042C 2281 ldd R18,z+2
042E 3381 ldd R19,z+3
0430 .dbline -2
0430 L5:
0430 2496 adiw R28,4
0432 0E940000 xcall pop_gset4
0436 .dbline 0 ; func end
0436 0895 ret
0438 .dbsym l temp 0 L
0438 .dbsym r buf 10 c
0438 .dbsym r cha 12 c
0438 .dbend
0438 .dbfunc e port_init _port_init fV
.even
0438 _port_init::
0438 .dbline -1
0438 .dbline 123
0438 ; }
0438 ;
0438 ;
0438 ; void port_init(void)
0438 ; {
0438 .dbline 124
0438 ; DDRB = 0x07;
0438 87E0 ldi R24,7
043A 87BB out 0x17,R24
043C .dbline 125
043C ; MCUCR |= 0X80;
043C 85B7 in R24,0x35
043E 8068 ori R24,128
0440 85BF out 0x35,R24
0442 .dbline 126
0442 ; XMCRA = 0X00;
0442 2224 clr R2
0444 20926D00 sts 109,R2
0448 .dbline 127
0448 ; XMCRB = 0X80;
0448 80E8 ldi R24,128
044A 80936C00 sts 108,R24
044E .dbline -2
044E .dbline 129
044E ;
044E ; }
044E L21:
044E .dbline 0 ; func end
044E 0895 ret
0450 .dbend
0450 .dbfunc e spi_init _spi_init fV
.even
0450 _spi_init::
0450 .dbline -1
0450 .dbline 137
0450 ; //SPI initialize
0450 ; // clock rate: 4000000hz
0450 ;
0450 ;
0450 ;
0450 ;
0450 ; void spi_init(void)
0450 ; {
0450 .dbline 138
0450 ; SPCR = 0x50; //setup SPI
0450 80E5 ldi R24,80
0452 8DB9 out 0xd,R24
0454 .dbline 139
0454 ; SPSR = 0x00; //setup SPI
0454 2224 clr R2
0456 2EB8 out 0xe,R2
0458 .dbline -2
0458 .dbline 140
0458 ; }
0458 L22:
0458 .dbline 0 ; func end
0458 0895 ret
045A .dbend
045A .dbfunc e init_isp_devices _init_isp_devices fV
.even
045A _init_isp_devices::
045A .dbline -1
045A .dbline 144
045A ;
045A ;
045A ; void init_isp_devices(void)
045A ; {
045A .dbline 146
045A ;
045A ; port_init();
045A EEDF xcall _port_init
045C .dbline 147
045C ; spi_init();
045C .dbline -2
045C .dbline 149
045C ;
045C ; }
045C L23:
045C .dbline 0 ; func end
045C F9CF xjmp _spi_init
045E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -