📄 eeprom.lss
字号:
1d0: 80 91 3b 00 lds r24, 0x003B
1d4: 84 60 ori r24, 0x04 ; 4
1d6: 80 93 3b 00 sts 0x003B, r24
1da: 22 96 adiw r28, 0x02 ; 2
1dc: 0f b6 in r0, 0x3f ; 63
1de: f8 94 cli
1e0: de bf out 0x3e, r29 ; 62
1e2: 0f be out 0x3f, r0 ; 63
1e4: cd bf out 0x3d, r28 ; 61
1e6: df 91 pop r29
1e8: cf 91 pop r28
1ea: 08 95 ret
000001ec <DispPortInit>:
}
void DispPortInit(void)
{
1ec: cf 93 push r28
1ee: df 93 push r29
1f0: cd b7 in r28, 0x3d ; 61
1f2: de b7 in r29, 0x3e ; 62
NCS_DDR|=(1<<NCS_PIN);
1f4: 80 91 3a 00 lds r24, 0x003A
1f8: 84 60 ori r24, 0x04 ; 4
1fa: 80 93 3a 00 sts 0x003A, r24
SCK_DDR|=(1<<SCK_PIN);
1fe: 80 91 3a 00 lds r24, 0x003A
202: 88 60 ori r24, 0x08 ; 8
204: 80 93 3a 00 sts 0x003A, r24
MOSI_DDR|=(1<<MOSI_PIN);
208: 80 91 3a 00 lds r24, 0x003A
20c: 80 61 ori r24, 0x10 ; 16
20e: 80 93 3a 00 sts 0x003A, r24
DispData(NumTab[17]);
212: 80 91 71 00 lds r24, 0x0071
216: 0e 94 b0 00 call 0x160 <DispData>
DDRA|=(1<<PA5)|(1<<PA6)|(1<<PA7);
21a: 80 91 3a 00 lds r24, 0x003A
21e: 80 6e ori r24, 0xE0 ; 224
220: 80 93 3a 00 sts 0x003A, r24
224: df 91 pop r29
226: cf 91 pop r28
228: 08 95 ret
0000022a <Disp>:
}
void Disp(uint8_t *p)
{
22a: cf 93 push r28
22c: df 93 push r29
22e: cd b7 in r28, 0x3d ; 61
230: de b7 in r29, 0x3e ; 62
232: 2f 97 sbiw r28, 0x0f ; 15
234: 0f b6 in r0, 0x3f ; 63
236: f8 94 cli
238: de bf out 0x3e, r29 ; 62
23a: 0f be out 0x3f, r0 ; 63
23c: cd bf out 0x3d, r28 ; 61
23e: 9a 83 std Y+2, r25 ; 0x02
240: 89 83 std Y+1, r24 ; 0x01
uint8_t i;
for(i=0;i<8;i++)
242: 1b 82 std Y+3, r1 ; 0x03
244: 8b 81 ldd r24, Y+3 ; 0x03
246: 88 30 cpi r24, 0x08 ; 8
248: 08 f0 brcs .+2 ; 0x24c <Disp+0x22>
24a: c8 c0 rjmp .+400 ; 0x3dc <Disp+0x1b2>
{
DispSel(i);
24c: 80 91 3b 00 lds r24, 0x003B
250: 28 2f mov r18, r24
252: 2f 71 andi r18, 0x1F ; 31
254: 8b 81 ldd r24, Y+3 ; 0x03
256: 99 27 eor r25, r25
258: 88 0f add r24, r24
25a: 99 1f adc r25, r25
25c: 82 95 swap r24
25e: 92 95 swap r25
260: 90 7f andi r25, 0xF0 ; 240
262: 98 27 eor r25, r24
264: 80 7f andi r24, 0xF0 ; 240
266: 98 27 eor r25, r24
268: 82 2b or r24, r18
26a: 80 93 3b 00 sts 0x003B, r24
if(i==4)_delay_ms(1);
26e: 8b 81 ldd r24, Y+3 ; 0x03
270: 84 30 cpi r24, 0x04 ; 4
272: 09 f0 breq .+2 ; 0x276 <Disp+0x4c>
274: 4e c0 rjmp .+156 ; 0x312 <Disp+0xe8>
The maximal possible delay is 262.14 ms / F_CPU in MHz.
*/
void
_delay_ms(double __ms)
{
276: 80 e0 ldi r24, 0x00 ; 0
278: 90 e0 ldi r25, 0x00 ; 0
27a: a0 e8 ldi r26, 0x80 ; 128
27c: bf e3 ldi r27, 0x3F ; 63
27e: 8c 83 std Y+4, r24 ; 0x04
280: 9d 83 std Y+5, r25 ; 0x05
282: ae 83 std Y+6, r26 ; 0x06
284: bf 83 std Y+7, r27 ; 0x07
uint16_t __ticks;
double __tmp = ((F_CPU) / 4e3) * __ms;
286: 26 e6 ldi r18, 0x66 ; 102
288: 36 e6 ldi r19, 0x66 ; 102
28a: 46 ee ldi r20, 0xE6 ; 230
28c: 54 e4 ldi r21, 0x44 ; 68
28e: 6c 81 ldd r22, Y+4 ; 0x04
290: 7d 81 ldd r23, Y+5 ; 0x05
292: 8e 81 ldd r24, Y+6 ; 0x06
294: 9f 81 ldd r25, Y+7 ; 0x07
296: 0e 94 62 02 call 0x4c4 <__mulsf3>
29a: dc 01 movw r26, r24
29c: cb 01 movw r24, r22
29e: 8a 87 std Y+10, r24 ; 0x0a
2a0: 9b 87 std Y+11, r25 ; 0x0b
2a2: ac 87 std Y+12, r26 ; 0x0c
2a4: bd 87 std Y+13, r27 ; 0x0d
if (__tmp < 1.0)
2a6: 20 e0 ldi r18, 0x00 ; 0
2a8: 30 e0 ldi r19, 0x00 ; 0
2aa: 40 e8 ldi r20, 0x80 ; 128
2ac: 5f e3 ldi r21, 0x3F ; 63
2ae: 6a 85 ldd r22, Y+10 ; 0x0a
2b0: 7b 85 ldd r23, Y+11 ; 0x0b
2b2: 8c 85 ldd r24, Y+12 ; 0x0c
2b4: 9d 85 ldd r25, Y+13 ; 0x0d
2b6: 0e 94 12 02 call 0x424 <__eqsf2>
2ba: 88 23 and r24, r24
2bc: 0c f0 brlt .+2 ; 0x2c0 <Disp+0x96>
2be: 05 c0 rjmp .+10 ; 0x2ca <Disp+0xa0>
__ticks = 1;
2c0: 81 e0 ldi r24, 0x01 ; 1
2c2: 90 e0 ldi r25, 0x00 ; 0
2c4: 99 87 std Y+9, r25 ; 0x09
2c6: 88 87 std Y+8, r24 ; 0x08
2c8: 1a c0 rjmp .+52 ; 0x2fe <Disp+0xd4>
else if (__tmp > 65535)
2ca: 20 e0 ldi r18, 0x00 ; 0
2cc: 3f ef ldi r19, 0xFF ; 255
2ce: 4f e7 ldi r20, 0x7F ; 127
2d0: 57 e4 ldi r21, 0x47 ; 71
2d2: 6a 85 ldd r22, Y+10 ; 0x0a
2d4: 7b 85 ldd r23, Y+11 ; 0x0b
2d6: 8c 85 ldd r24, Y+12 ; 0x0c
2d8: 9d 85 ldd r25, Y+13 ; 0x0d
2da: 0e 94 15 02 call 0x42a <__gesf2>
2de: 18 16 cp r1, r24
2e0: 0c f0 brlt .+2 ; 0x2e4 <Disp+0xba>
2e2: 03 c0 rjmp .+6 ; 0x2ea <Disp+0xc0>
__ticks = 0; /* i.e. 65536 */
2e4: 19 86 std Y+9, r1 ; 0x09
2e6: 18 86 std Y+8, r1 ; 0x08
2e8: 0a c0 rjmp .+20 ; 0x2fe <Disp+0xd4>
else
__ticks = (uint16_t)__tmp;
2ea: 6a 85 ldd r22, Y+10 ; 0x0a
2ec: 7b 85 ldd r23, Y+11 ; 0x0b
2ee: 8c 85 ldd r24, Y+12 ; 0x0c
2f0: 9d 85 ldd r25, Y+13 ; 0x0d
2f2: 0e 94 f7 01 call 0x3ee <__fixsfsi>
2f6: dc 01 movw r26, r24
2f8: cb 01 movw r24, r22
2fa: 99 87 std Y+9, r25 ; 0x09
2fc: 88 87 std Y+8, r24 ; 0x08
2fe: 88 85 ldd r24, Y+8 ; 0x08
300: 99 85 ldd r25, Y+9 ; 0x09
302: 9f 87 std Y+15, r25 ; 0x0f
304: 8e 87 std Y+14, r24 ; 0x0e
306: 8e 85 ldd r24, Y+14 ; 0x0e
308: 9f 85 ldd r25, Y+15 ; 0x0f
30a: 01 97 sbiw r24, 0x01 ; 1
30c: f1 f7 brne .-4 ; 0x30a <Disp+0xe0>
30e: 9f 87 std Y+15, r25 ; 0x0f
310: 8e 87 std Y+14, r24 ; 0x0e
DispData(NumTab[*p++]);
312: 29 81 ldd r18, Y+1 ; 0x01
314: 3a 81 ldd r19, Y+2 ; 0x02
316: f9 01 movw r30, r18
318: 80 81 ld r24, Z
31a: 99 27 eor r25, r25
31c: fc 01 movw r30, r24
31e: e0 5a subi r30, 0xA0 ; 160
320: ff 4f sbci r31, 0xFF ; 255
322: 2f 5f subi r18, 0xFF ; 255
324: 3f 4f sbci r19, 0xFF ; 255
326: 3a 83 std Y+2, r19 ; 0x02
328: 29 83 std Y+1, r18 ; 0x01
32a: 80 81 ld r24, Z
32c: 0e 94 b0 00 call 0x160 <DispData>
The maximal possible delay is 262.14 ms / F_CPU in MHz.
*/
void
_delay_ms(double __ms)
{
330: 80 e0 ldi r24, 0x00 ; 0
332: 90 e0 ldi r25, 0x00 ; 0
334: a0 e8 ldi r26, 0x80 ; 128
336: bf e3 ldi r27, 0x3F ; 63
338: 8a 87 std Y+10, r24 ; 0x0a
33a: 9b 87 std Y+11, r25 ; 0x0b
33c: ac 87 std Y+12, r26 ; 0x0c
33e: bd 87 std Y+13, r27 ; 0x0d
uint16_t __ticks;
double __tmp = ((F_CPU) / 4e3) * __ms;
340: 26 e6 ldi r18, 0x66 ; 102
342: 36 e6 ldi r19, 0x66 ; 102
344: 46 ee ldi r20, 0xE6 ; 230
346: 54 e4 ldi r21, 0x44 ; 68
348: 6a 85 ldd r22, Y+10 ; 0x0a
34a: 7b 85 ldd r23, Y+11 ; 0x0b
34c: 8c 85 ldd r24, Y+12 ; 0x0c
34e: 9d 85 ldd r25, Y+13 ; 0x0d
350: 0e 94 62 02 call 0x4c4 <__mulsf3>
354: dc 01 movw r26, r24
356: cb 01 movw r24, r22
358: 8c 83 std Y+4, r24 ; 0x04
35a: 9d 83 std Y+5, r25 ; 0x05
35c: ae 83 std Y+6, r26 ; 0x06
35e: bf 83 std Y+7, r27 ; 0x07
if (__tmp < 1.0)
360: 20 e0 ldi r18, 0x00 ; 0
362: 30 e0 ldi r19, 0x00 ; 0
364: 40 e8 ldi r20, 0x80 ; 128
366: 5f e3 ldi r21, 0x3F ; 63
368: 6c 81 ldd r22, Y+4 ; 0x04
36a: 7d 81 ldd r23, Y+5 ; 0x05
36c: 8e 81 ldd r24, Y+6 ; 0x06
36e: 9f 81 ldd r25, Y+7 ; 0x07
370: 0e 94 12 02 call 0x424 <__eqsf2>
374: 88 23 and r24, r24
376: 0c f0 brlt .+2 ; 0x37a <Disp+0x150>
378: 05 c0 rjmp .+10 ; 0x384 <Disp+0x15a>
__ticks = 1;
37a: 81 e0 ldi r24, 0x01 ; 1
37c: 90 e0 ldi r25, 0x00 ; 0
37e: 9f 87 std Y+15, r25 ; 0x0f
380: 8e 87 std Y+14, r24 ; 0x0e
382: 1a c0 rjmp .+52 ; 0x3b8 <Disp+0x18e>
else if (__tmp > 65535)
384: 20 e0 ldi r18, 0x00 ; 0
386: 3f ef ldi r19, 0xFF ; 255
388: 4f e7 ldi r20, 0x7F ; 127
38a: 57 e4 ldi r21, 0x47 ; 71
38c: 6c 81 ldd r22, Y+4 ; 0x04
38e: 7d 81 ldd r23, Y+5 ; 0x05
390: 8e 81 ldd r24, Y+6 ; 0x06
392: 9f 81 ldd r25, Y+7 ; 0x07
394: 0e 94 15 02 call 0x42a <__gesf2>
398: 18 16 cp r1, r24
39a: 0c f0 brlt .+2 ; 0x39e <Disp+0x174>
39c: 03 c0 rjmp .+6 ; 0x3a4 <Disp+0x17a>
__ticks = 0; /* i.e. 65536 */
39e: 1f 86 std Y+15, r1 ; 0x0f
3a0: 1e 86 std Y+14, r1 ; 0x0e
3a2: 0a c0 rjmp .+20 ; 0x3b8 <Disp+0x18e>
else
__ticks = (uint16_t)__tmp;
3a4: 6c 81 ldd r22, Y+4 ; 0x04
3a6: 7d 81 ldd r23, Y+5 ; 0x05
3a8: 8e 81 ldd r24, Y+6 ; 0x06
3aa: 9f 81 ldd r25, Y+7 ; 0x07
3ac: 0e 94 f7 01 call 0x3ee <__fixsfsi>
3b0: dc 01 movw r26, r24
3b2: cb 01 movw r24, r22
3b4: 9f 87 std Y+15, r25 ; 0x0f
3b6: 8e 87 std Y+14, r24 ; 0x0e
3b8: 8e 85 ldd r24, Y+14 ; 0x0e
3ba: 9f 85 ldd r25, Y+15 ; 0x0f
3bc: 99 87 std Y+9, r25 ; 0x09
3be: 88 87 std Y+8, r24 ; 0x08
3c0: 88 85 ldd r24, Y+8 ; 0x08
3c2: 99 85 ldd r25, Y+9 ; 0x09
3c4: 01 97 sbiw r24, 0x01 ; 1
3c6: f1 f7 brne .-4 ; 0x3c4 <Disp+0x19a>
3c8: 99 87 std Y+9, r25 ; 0x09
3ca: 88 87 std Y+8, r24 ; 0x08
_delay_ms(1);
DispData(NumTab[17]);//off the disp
3cc: 80 91 71 00 lds r24, 0x0071
3d0: 0e 94 b0 00 call 0x160 <DispData>
3d4: 8b 81 ldd r24, Y+3 ; 0x03
3d6: 8f 5f subi r24, 0xFF ; 255
3d8: 8b 83 std Y+3, r24 ; 0x03
3da: 34 cf rjmp .-408 ; 0x244 <Disp+0x1a>
3dc: 2f 96 adiw r28, 0x0f ; 15
3de: 0f b6 in r0, 0x3f ; 63
3e0: f8 94 cli
3e2: de bf out 0x3e, r29 ; 62
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -