Last active
August 29, 2015 14:06
-
-
Save master-q/6e26d28ba93b3b013d5d to your computer and use it in GitHub Desktop.
notuse_template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
main.elf: file format elf32-avr | |
Sections: | |
Idx Name Size VMA LMA File off Algn | |
0 .data 000001c0 00800100 00000b8c 00000c20 2**0 | |
CONTENTS, ALLOC, LOAD, DATA | |
1 .text 00000b8c 00000000 00000000 00000094 2**1 | |
CONTENTS, ALLOC, LOAD, READONLY, CODE | |
2 .bss 00000010 008002c0 008002c0 00000de0 2**0 | |
ALLOC | |
3 .stab 000026dc 00000000 00000000 00000de0 2**2 | |
CONTENTS, READONLY, DEBUGGING | |
4 .stabstr 0000716d 00000000 00000000 000034bc 2**0 | |
CONTENTS, READONLY, DEBUGGING | |
5 .comment 00000011 00000000 00000000 0000a629 2**0 | |
CONTENTS, READONLY | |
Disassembly of section .text: | |
00000000 <__vectors>: | |
0: 0c 94 61 00 jmp 0xc2 ; 0xc2 <__ctors_end> | |
4: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
8: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
c: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
10: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
14: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
18: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
1c: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
20: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
24: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
28: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
2c: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
30: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
34: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
38: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
3c: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
40: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
44: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
48: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
4c: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
50: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
54: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
58: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
5c: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
60: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
64: 0c 94 7e 00 jmp 0xfc ; 0xfc <__bad_interrupt> | |
00000068 <__trampolines_end>: | |
68: 00 00 nop | |
6a: 00 07 cpc r16, r16 | |
6c: 00 02 muls r16, r16 | |
6e: 01 00 .word 0x0001 ; ???? | |
70: 00 03 mulsu r16, r16 | |
72: 04 06 cpc r0, r20 | |
... | |
0000007c <digital_pin_to_bit_mask_PGM>: | |
7c: 01 02 04 08 10 20 40 80 01 02 04 08 10 20 01 02 ..... @...... .. | |
8c: 04 08 10 20 ... | |
00000090 <digital_pin_to_port_PGM>: | |
90: 04 04 04 04 04 04 04 04 02 02 02 02 02 02 03 03 ................ | |
a0: 03 03 03 03 .... | |
000000a4 <port_to_input_PGM>: | |
a4: 00 00 00 00 23 00 26 00 29 00 ....#.&.). | |
000000ae <port_to_output_PGM>: | |
ae: 00 00 00 00 25 00 28 00 2b 00 ....%.(.+. | |
000000b8 <port_to_mode_PGM>: | |
b8: 00 00 00 00 24 00 27 00 2a 00 ....$.'.*. | |
000000c2 <__ctors_end>: | |
c2: 11 24 eor r1, r1 | |
c4: 1f be out 0x3f, r1 ; 63 | |
c6: cf ef ldi r28, 0xFF ; 255 | |
c8: d8 e0 ldi r29, 0x08 ; 8 | |
ca: de bf out 0x3e, r29 ; 62 | |
cc: cd bf out 0x3d, r28 ; 61 | |
000000ce <__do_copy_data>: | |
ce: 12 e0 ldi r17, 0x02 ; 2 | |
d0: a0 e0 ldi r26, 0x00 ; 0 | |
d2: b1 e0 ldi r27, 0x01 ; 1 | |
d4: ec e8 ldi r30, 0x8C ; 140 | |
d6: fb e0 ldi r31, 0x0B ; 11 | |
d8: 02 c0 rjmp .+4 ; 0xde <__do_copy_data+0x10> | |
da: 05 90 lpm r0, Z+ | |
dc: 0d 92 st X+, r0 | |
de: a0 3c cpi r26, 0xC0 ; 192 | |
e0: b1 07 cpc r27, r17 | |
e2: d9 f7 brne .-10 ; 0xda <__do_copy_data+0xc> | |
000000e4 <__do_clear_bss>: | |
e4: 22 e0 ldi r18, 0x02 ; 2 | |
e6: a0 ec ldi r26, 0xC0 ; 192 | |
e8: b2 e0 ldi r27, 0x02 ; 2 | |
ea: 01 c0 rjmp .+2 ; 0xee <.do_clear_bss_start> | |
000000ec <.do_clear_bss_loop>: | |
ec: 1d 92 st X+, r1 | |
000000ee <.do_clear_bss_start>: | |
ee: a0 3d cpi r26, 0xD0 ; 208 | |
f0: b2 07 cpc r27, r18 | |
f2: e1 f7 brne .-8 ; 0xec <.do_clear_bss_loop> | |
f4: 0e 94 ff 02 call 0x5fe ; 0x5fe <main> | |
f8: 0c 94 c4 05 jmp 0xb88 ; 0xb88 <_exit> | |
000000fc <__bad_interrupt>: | |
fc: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> | |
00000100 <turnOffPWM>: | |
// | |
//static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); | |
//static inline void turnOffPWM(uint8_t timer) | |
static void turnOffPWM(uint8_t timer) | |
{ | |
switch (timer) | |
100: 83 30 cpi r24, 0x03 ; 3 | |
102: 81 f0 breq .+32 ; 0x124 <turnOffPWM+0x24> | |
104: 28 f4 brcc .+10 ; 0x110 <turnOffPWM+0x10> | |
106: 81 30 cpi r24, 0x01 ; 1 | |
108: 99 f0 breq .+38 ; 0x130 <turnOffPWM+0x30> | |
10a: 82 30 cpi r24, 0x02 ; 2 | |
10c: a1 f0 breq .+40 ; 0x136 <turnOffPWM+0x36> | |
10e: 08 95 ret | |
110: 86 30 cpi r24, 0x06 ; 6 | |
112: a9 f0 breq .+42 ; 0x13e <turnOffPWM+0x3e> | |
114: 87 30 cpi r24, 0x07 ; 7 | |
116: b9 f0 breq .+46 ; 0x146 <turnOffPWM+0x46> | |
118: 84 30 cpi r24, 0x04 ; 4 | |
11a: d1 f4 brne .+52 ; 0x150 <turnOffPWM+0x50> | |
{ | |
#if defined(TCCR1A) && defined(COM1A1) | |
case TIMER1A: cbi(TCCR1A, COM1A1); break; | |
#endif | |
#if defined(TCCR1A) && defined(COM1B1) | |
case TIMER1B: cbi(TCCR1A, COM1B1); break; | |
11c: 80 91 80 00 lds r24, 0x0080 | |
120: 8f 7d andi r24, 0xDF ; 223 | |
122: 03 c0 rjmp .+6 ; 0x12a <turnOffPWM+0x2a> | |
static void turnOffPWM(uint8_t timer) | |
{ | |
switch (timer) | |
{ | |
#if defined(TCCR1A) && defined(COM1A1) | |
case TIMER1A: cbi(TCCR1A, COM1A1); break; | |
124: 80 91 80 00 lds r24, 0x0080 | |
128: 8f 77 andi r24, 0x7F ; 127 | |
#endif | |
#if defined(TCCR1A) && defined(COM1B1) | |
case TIMER1B: cbi(TCCR1A, COM1B1); break; | |
12a: 80 93 80 00 sts 0x0080, r24 | |
12e: 08 95 ret | |
#if defined(TCCR2) && defined(COM21) | |
case TIMER2: cbi(TCCR2, COM21); break; | |
#endif | |
#if defined(TCCR0A) && defined(COM0A1) | |
case TIMER0A: cbi(TCCR0A, COM0A1); break; | |
130: 84 b5 in r24, 0x24 ; 36 | |
132: 8f 77 andi r24, 0x7F ; 127 | |
134: 02 c0 rjmp .+4 ; 0x13a <turnOffPWM+0x3a> | |
#endif | |
#if defined(TIMER0B) && defined(COM0B1) | |
case TIMER0B: cbi(TCCR0A, COM0B1); break; | |
136: 84 b5 in r24, 0x24 ; 36 | |
138: 8f 7d andi r24, 0xDF ; 223 | |
13a: 84 bd out 0x24, r24 ; 36 | |
13c: 08 95 ret | |
#endif | |
#if defined(TCCR2A) && defined(COM2A1) | |
case TIMER2A: cbi(TCCR2A, COM2A1); break; | |
13e: 80 91 b0 00 lds r24, 0x00B0 | |
142: 8f 77 andi r24, 0x7F ; 127 | |
144: 03 c0 rjmp .+6 ; 0x14c <turnOffPWM+0x4c> | |
#endif | |
#if defined(TCCR2A) && defined(COM2B1) | |
case TIMER2B: cbi(TCCR2A, COM2B1); break; | |
146: 80 91 b0 00 lds r24, 0x00B0 | |
14a: 8f 7d andi r24, 0xDF ; 223 | |
14c: 80 93 b0 00 sts 0x00B0, r24 | |
150: 08 95 ret | |
00000152 <pinMode>: | |
#define ARDUINO_MAIN | |
#include "wiring_private.h" | |
#include "pins_arduino.h" | |
void pinMode(uint8_t pin, uint8_t mode) | |
{ | |
152: cf 93 push r28 | |
154: df 93 push r29 | |
uint8_t bit = digitalPinToBitMask(pin); | |
156: 90 e0 ldi r25, 0x00 ; 0 | |
158: fc 01 movw r30, r24 | |
15a: e4 58 subi r30, 0x84 ; 132 | |
15c: ff 4f sbci r31, 0xFF ; 255 | |
15e: 24 91 lpm r18, Z | |
uint8_t port = digitalPinToPort(pin); | |
160: fc 01 movw r30, r24 | |
162: e0 57 subi r30, 0x70 ; 112 | |
164: ff 4f sbci r31, 0xFF ; 255 | |
166: 84 91 lpm r24, Z | |
volatile uint8_t *reg, *out; | |
if (port == NOT_A_PIN) return; | |
168: 88 23 and r24, r24 | |
16a: 49 f1 breq .+82 ; 0x1be <pinMode+0x6c> | |
// JWS: can I let the optimizer do this? | |
reg = portModeRegister(port); | |
16c: 90 e0 ldi r25, 0x00 ; 0 | |
16e: 88 0f add r24, r24 | |
170: 99 1f adc r25, r25 | |
172: fc 01 movw r30, r24 | |
174: e8 54 subi r30, 0x48 ; 72 | |
176: ff 4f sbci r31, 0xFF ; 255 | |
178: a5 91 lpm r26, Z+ | |
17a: b4 91 lpm r27, Z | |
out = portOutputRegister(port); | |
17c: 82 55 subi r24, 0x52 ; 82 | |
17e: 9f 4f sbci r25, 0xFF ; 255 | |
180: fc 01 movw r30, r24 | |
182: c5 91 lpm r28, Z+ | |
184: d4 91 lpm r29, Z | |
if (mode == INPUT) { | |
uint8_t oldSREG = SREG; | |
186: 9f b7 in r25, 0x3f ; 63 | |
// JWS: can I let the optimizer do this? | |
reg = portModeRegister(port); | |
out = portOutputRegister(port); | |
if (mode == INPUT) { | |
188: 61 11 cpse r22, r1 | |
18a: 08 c0 rjmp .+16 ; 0x19c <pinMode+0x4a> | |
uint8_t oldSREG = SREG; | |
cli(); | |
18c: f8 94 cli | |
*reg &= ~bit; | |
18e: 8c 91 ld r24, X | |
190: 20 95 com r18 | |
192: 82 23 and r24, r18 | |
194: 8c 93 st X, r24 | |
*out &= ~bit; | |
196: 88 81 ld r24, Y | |
198: 82 23 and r24, r18 | |
19a: 0a c0 rjmp .+20 ; 0x1b0 <pinMode+0x5e> | |
SREG = oldSREG; | |
} else if (mode == INPUT_PULLUP) { | |
19c: 62 30 cpi r22, 0x02 ; 2 | |
19e: 51 f4 brne .+20 ; 0x1b4 <pinMode+0x62> | |
uint8_t oldSREG = SREG; | |
cli(); | |
1a0: f8 94 cli | |
*reg &= ~bit; | |
1a2: 8c 91 ld r24, X | |
1a4: 32 2f mov r19, r18 | |
1a6: 30 95 com r19 | |
1a8: 83 23 and r24, r19 | |
1aa: 8c 93 st X, r24 | |
*out |= bit; | |
1ac: 88 81 ld r24, Y | |
1ae: 82 2b or r24, r18 | |
1b0: 88 83 st Y, r24 | |
1b2: 04 c0 rjmp .+8 ; 0x1bc <pinMode+0x6a> | |
SREG = oldSREG; | |
} else { | |
uint8_t oldSREG = SREG; | |
cli(); | |
1b4: f8 94 cli | |
*reg |= bit; | |
1b6: 8c 91 ld r24, X | |
1b8: 82 2b or r24, r18 | |
1ba: 8c 93 st X, r24 | |
SREG = oldSREG; | |
1bc: 9f bf out 0x3f, r25 ; 63 | |
} | |
} | |
1be: df 91 pop r29 | |
1c0: cf 91 pop r28 | |
1c2: 08 95 ret | |
000001c4 <digitalWrite>: | |
#endif | |
} | |
} | |
void digitalWrite(uint8_t pin, uint8_t val) | |
{ | |
1c4: 0f 93 push r16 | |
1c6: 1f 93 push r17 | |
1c8: cf 93 push r28 | |
1ca: df 93 push r29 | |
1cc: 1f 92 push r1 | |
1ce: cd b7 in r28, 0x3d ; 61 | |
1d0: de b7 in r29, 0x3e ; 62 | |
uint8_t timer = digitalPinToTimer(pin); | |
1d2: 28 2f mov r18, r24 | |
1d4: 30 e0 ldi r19, 0x00 ; 0 | |
1d6: f9 01 movw r30, r18 | |
1d8: e8 59 subi r30, 0x98 ; 152 | |
1da: ff 4f sbci r31, 0xFF ; 255 | |
1dc: 84 91 lpm r24, Z | |
uint8_t bit = digitalPinToBitMask(pin); | |
1de: f9 01 movw r30, r18 | |
1e0: e4 58 subi r30, 0x84 ; 132 | |
1e2: ff 4f sbci r31, 0xFF ; 255 | |
1e4: 14 91 lpm r17, Z | |
uint8_t port = digitalPinToPort(pin); | |
1e6: f9 01 movw r30, r18 | |
1e8: e0 57 subi r30, 0x70 ; 112 | |
1ea: ff 4f sbci r31, 0xFF ; 255 | |
1ec: 04 91 lpm r16, Z | |
volatile uint8_t *out; | |
if (port == NOT_A_PIN) return; | |
1ee: 00 23 and r16, r16 | |
1f0: c9 f0 breq .+50 ; 0x224 <digitalWrite+0x60> | |
// If the pin that support PWM output, we need to turn it off | |
// before doing a digital write. | |
if (timer != NOT_ON_TIMER) turnOffPWM(timer); | |
1f2: 88 23 and r24, r24 | |
1f4: 21 f0 breq .+8 ; 0x1fe <digitalWrite+0x3a> | |
1f6: 69 83 std Y+1, r22 ; 0x01 | |
1f8: 0e 94 80 00 call 0x100 ; 0x100 <turnOffPWM> | |
1fc: 69 81 ldd r22, Y+1 ; 0x01 | |
out = portOutputRegister(port); | |
1fe: e0 2f mov r30, r16 | |
200: f0 e0 ldi r31, 0x00 ; 0 | |
202: ee 0f add r30, r30 | |
204: ff 1f adc r31, r31 | |
206: e2 55 subi r30, 0x52 ; 82 | |
208: ff 4f sbci r31, 0xFF ; 255 | |
20a: a5 91 lpm r26, Z+ | |
20c: b4 91 lpm r27, Z | |
uint8_t oldSREG = SREG; | |
20e: 9f b7 in r25, 0x3f ; 63 | |
cli(); | |
210: f8 94 cli | |
if (val == LOW) { | |
*out &= ~bit; | |
212: 8c 91 ld r24, X | |
out = portOutputRegister(port); | |
uint8_t oldSREG = SREG; | |
cli(); | |
if (val == LOW) { | |
214: 61 11 cpse r22, r1 | |
216: 03 c0 rjmp .+6 ; 0x21e <digitalWrite+0x5a> | |
*out &= ~bit; | |
218: 10 95 com r17 | |
21a: 81 23 and r24, r17 | |
21c: 01 c0 rjmp .+2 ; 0x220 <digitalWrite+0x5c> | |
} else { | |
*out |= bit; | |
21e: 81 2b or r24, r17 | |
220: 8c 93 st X, r24 | |
} | |
SREG = oldSREG; | |
222: 9f bf out 0x3f, r25 ; 63 | |
} | |
224: 0f 90 pop r0 | |
226: df 91 pop r29 | |
228: cf 91 pop r28 | |
22a: 1f 91 pop r17 | |
22c: 0f 91 pop r16 | |
22e: 08 95 ret | |
00000230 <digitalRead>: | |
uint8_t digitalRead(uint8_t pin) | |
{ | |
230: cf 93 push r28 | |
232: df 93 push r29 | |
uint8_t timer = digitalPinToTimer(pin); | |
234: 28 2f mov r18, r24 | |
236: 30 e0 ldi r19, 0x00 ; 0 | |
238: f9 01 movw r30, r18 | |
23a: e8 59 subi r30, 0x98 ; 152 | |
23c: ff 4f sbci r31, 0xFF ; 255 | |
23e: 84 91 lpm r24, Z | |
uint8_t bit = digitalPinToBitMask(pin); | |
240: f9 01 movw r30, r18 | |
242: e4 58 subi r30, 0x84 ; 132 | |
244: ff 4f sbci r31, 0xFF ; 255 | |
246: d4 91 lpm r29, Z | |
uint8_t port = digitalPinToPort(pin); | |
248: f9 01 movw r30, r18 | |
24a: e0 57 subi r30, 0x70 ; 112 | |
24c: ff 4f sbci r31, 0xFF ; 255 | |
24e: c4 91 lpm r28, Z | |
if (port == NOT_A_PIN) return LOW; | |
250: cc 23 and r28, r28 | |
252: 79 f0 breq .+30 ; 0x272 <digitalRead+0x42> | |
// If the pin that support PWM output, we need to turn it off | |
// before getting a digital reading. | |
if (timer != NOT_ON_TIMER) turnOffPWM(timer); | |
254: 81 11 cpse r24, r1 | |
256: 0e 94 80 00 call 0x100 ; 0x100 <turnOffPWM> | |
if (*portInputRegister(port) & bit) return HIGH; | |
25a: ec 2f mov r30, r28 | |
25c: f0 e0 ldi r31, 0x00 ; 0 | |
25e: ee 0f add r30, r30 | |
260: ff 1f adc r31, r31 | |
262: ec 55 subi r30, 0x5C ; 92 | |
264: ff 4f sbci r31, 0xFF ; 255 | |
266: a5 91 lpm r26, Z+ | |
268: b4 91 lpm r27, Z | |
26a: 9c 91 ld r25, X | |
26c: 9d 23 and r25, r29 | |
26e: 81 e0 ldi r24, 0x01 ; 1 | |
270: 09 f4 brne .+2 ; 0x274 <digitalRead+0x44> | |
{ | |
uint8_t timer = digitalPinToTimer(pin); | |
uint8_t bit = digitalPinToBitMask(pin); | |
uint8_t port = digitalPinToPort(pin); | |
if (port == NOT_A_PIN) return LOW; | |
272: 80 e0 ldi r24, 0x00 ; 0 | |
// before getting a digital reading. | |
if (timer != NOT_ON_TIMER) turnOffPWM(timer); | |
if (*portInputRegister(port) & bit) return HIGH; | |
return LOW; | |
} | |
274: df 91 pop r29 | |
276: cf 91 pop r28 | |
278: 08 95 ret | |
0000027a <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_close>: | |
global: | |
*/ | |
ATSextern() | |
atsvoid_t0ype | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_close(atstkind_type(atstype_ptrk) arg0) | |
{ | |
27a: 08 95 ret | |
0000027c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable>: | |
global: | |
*/ | |
ATSextern() | |
atsvoid_t0ype | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable(atstkind_type(atstype_ptrk) arg0) | |
{ | |
27c: cf 93 push r28 | |
27e: df 93 push r29 | |
280: ec 01 movw r28, r24 | |
letpush(beg) | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6680(line=178, offs=12) -- 6713(line=178, offs=45) | |
*/ | |
ATSINSmove_void(tmp78, digitalWrite(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_49), postiats_tyrec_50, atslab__enable_pin), ATSextval(LOW))) ; | |
282: 60 e0 ldi r22, 0x00 ; 0 | |
284: 8a 81 ldd r24, Y+2 ; 0x02 | |
286: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
#else | |
//round up by default | |
__ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |
#endif | |
__builtin_avr_delay_cycles(__ticks_dc); | |
28a: 85 e0 ldi r24, 0x05 ; 5 | |
28c: 8a 95 dec r24 | |
28e: f1 f7 brne .-4 ; 0x28c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable+0x10> | |
290: 00 00 nop | |
ATSINSmove_void(tmp79, _delay_us(ATSPMVf0loat(1.0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6750(line=180, offs=12) -- 6784(line=180, offs=46) | |
*/ | |
ATSINSmove_void(tmp80, digitalWrite(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_51), postiats_tyrec_52, atslab__enable_pin), ATSextval(HIGH))) ; | |
292: 61 e0 ldi r22, 0x01 ; 1 | |
294: 8a 81 ldd r24, Y+2 ; 0x02 | |
296: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
29a: 95 e0 ldi r25, 0x05 ; 5 | |
29c: 9a 95 dec r25 | |
29e: f1 f7 brne .-4 ; 0x29c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable+0x20> | |
2a0: 00 00 nop | |
ATSINSmove_void(tmp81, _delay_us(ATSPMVf0loat(1.0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6852(line=182, offs=12) -- 6885(line=182, offs=45) | |
*/ | |
ATSINSmove_void(tmp82, digitalWrite(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_53), postiats_tyrec_54, atslab__enable_pin), ATSextval(LOW))) ; | |
2a2: 60 e0 ldi r22, 0x00 ; 0 | |
2a4: 8a 81 ldd r24, Y+2 ; 0x02 | |
2a6: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
2aa: 8f e8 ldi r24, 0x8F ; 143 | |
2ac: 91 e0 ldi r25, 0x01 ; 1 | |
2ae: 01 97 sbiw r24, 0x01 ; 1 | |
2b0: f1 f7 brne .-4 ; 0x2ae <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable+0x32> | |
2b2: 00 c0 rjmp .+0 ; 0x2b4 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable+0x38> | |
2b4: 00 00 nop | |
/* | |
INSletpop() | |
*/ | |
ATSfunbody_end() | |
ATSreturn_void(tmpret77) ; | |
} /* end of [_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable] */ | |
2b6: df 91 pop r29 | |
2b8: cf 91 pop r28 | |
2ba: 08 95 ret | |
000002bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits>: | |
global: | |
*/ | |
ATSextern() | |
atsvoid_t0ype | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_uint8) arg1) | |
{ | |
2bc: ff 92 push r15 | |
2be: 0f 93 push r16 | |
2c0: 1f 93 push r17 | |
2c2: cf 93 push r28 | |
2c4: df 93 push r29 | |
2c6: ec 01 movw r28, r24 | |
2c8: f6 2e mov r15, r22 | |
letpush(beg) | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7097(line=188, offs=12) -- 7131(line=188, offs=46) | |
*/ | |
ATSINSmove_void(tmp86, pinMode(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_55), postiats_tyrec_56, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(0)]), ATSextval(OUTPUT))) ; | |
2ca: 61 e0 ldi r22, 0x01 ; 1 | |
2cc: 88 85 ldd r24, Y+8 ; 0x08 | |
2ce: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
(atstype_uint8 x, atstype_int n) { return (x << n) ; } | |
// end of [atspre_g0uint_lsl_uint8] | |
ATSinline() | |
atstype_uint8 | |
atspre_g0uint_lsr_uint8 | |
(atstype_uint8 x, atstype_int n) { return (x >> n) ; } | |
2d2: 0f 2d mov r16, r15 | |
2d4: 10 e0 ldi r17, 0x00 ; 0 | |
/* | |
/home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 458(line=13, offs=1) -- 618(line=16, offs=3) | |
*/ | |
ATSextcode_beg() | |
inline uint8_t atspre_uint8_bit_or(uint8_t a, uint8_t b) { return (a | b); } | |
inline uint8_t atspre_uint8_bit_and(uint8_t a, uint8_t b) { return (a & b); } | |
2d6: 6f 2d mov r22, r15 | |
2d8: 61 70 andi r22, 0x01 ; 1 | |
ATSINSmove(tmp88, uint8_to_highlow_32(tmp89)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7143(line=189, offs=12) -- 7205(line=189, offs=74) | |
*/ | |
ATSINSmove_void(tmp87, digitalWrite(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_57), postiats_tyrec_58, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(0)]), tmp88)) ; | |
2da: 88 85 ldd r24, Y+8 ; 0x08 | |
2dc: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7217(line=190, offs=12) -- 7251(line=190, offs=46) | |
*/ | |
ATSINSmove_void(tmp90, pinMode(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_59), postiats_tyrec_60, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(1)]), ATSextval(OUTPUT))) ; | |
2e0: 61 e0 ldi r22, 0x01 ; 1 | |
2e2: 89 85 ldd r24, Y+9 ; 0x09 | |
2e4: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
2e8: b8 01 movw r22, r16 | |
2ea: 75 95 asr r23 | |
2ec: 67 95 ror r22 | |
/* | |
/home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 458(line=13, offs=1) -- 618(line=16, offs=3) | |
*/ | |
ATSextcode_beg() | |
inline uint8_t atspre_uint8_bit_or(uint8_t a, uint8_t b) { return (a | b); } | |
inline uint8_t atspre_uint8_bit_and(uint8_t a, uint8_t b) { return (a & b); } | |
2ee: 61 70 andi r22, 0x01 ; 1 | |
ATSINSmove(tmp92, uint8_to_highlow_32(tmp93)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7263(line=191, offs=12) -- 7325(line=191, offs=74) | |
*/ | |
ATSINSmove_void(tmp91, digitalWrite(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_61), postiats_tyrec_62, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(1)]), tmp92)) ; | |
2f0: 89 85 ldd r24, Y+9 ; 0x09 | |
2f2: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7337(line=192, offs=12) -- 7371(line=192, offs=46) | |
*/ | |
ATSINSmove_void(tmp94, pinMode(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_63), postiats_tyrec_64, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(2)]), ATSextval(OUTPUT))) ; | |
2f6: 61 e0 ldi r22, 0x01 ; 1 | |
2f8: 8a 85 ldd r24, Y+10 ; 0x0a | |
2fa: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
2fe: b8 01 movw r22, r16 | |
300: 75 95 asr r23 | |
302: 67 95 ror r22 | |
304: 75 95 asr r23 | |
306: 67 95 ror r22 | |
/* | |
/home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 458(line=13, offs=1) -- 618(line=16, offs=3) | |
*/ | |
ATSextcode_beg() | |
inline uint8_t atspre_uint8_bit_or(uint8_t a, uint8_t b) { return (a | b); } | |
inline uint8_t atspre_uint8_bit_and(uint8_t a, uint8_t b) { return (a & b); } | |
308: 61 70 andi r22, 0x01 ; 1 | |
ATSINSmove(tmp96, uint8_to_highlow_32(tmp97)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7383(line=193, offs=12) -- 7445(line=193, offs=74) | |
*/ | |
ATSINSmove_void(tmp95, digitalWrite(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_65), postiats_tyrec_66, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(2)]), tmp96)) ; | |
30a: 8a 85 ldd r24, Y+10 ; 0x0a | |
30c: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7457(line=194, offs=12) -- 7491(line=194, offs=46) | |
*/ | |
ATSINSmove_void(tmp98, pinMode(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_67), postiats_tyrec_68, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(3)]), ATSextval(OUTPUT))) ; | |
310: 61 e0 ldi r22, 0x01 ; 1 | |
312: 8b 85 ldd r24, Y+11 ; 0x0b | |
314: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
318: b8 01 movw r22, r16 | |
31a: 23 e0 ldi r18, 0x03 ; 3 | |
31c: 75 95 asr r23 | |
31e: 67 95 ror r22 | |
320: 2a 95 dec r18 | |
322: e1 f7 brne .-8 ; 0x31c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits+0x60> | |
/* | |
/home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 458(line=13, offs=1) -- 618(line=16, offs=3) | |
*/ | |
ATSextcode_beg() | |
inline uint8_t atspre_uint8_bit_or(uint8_t a, uint8_t b) { return (a | b); } | |
inline uint8_t atspre_uint8_bit_and(uint8_t a, uint8_t b) { return (a & b); } | |
324: 61 70 andi r22, 0x01 ; 1 | |
ATSINSmove(tmp100, uint8_to_highlow_32(tmp101)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7503(line=195, offs=12) -- 7565(line=195, offs=74) | |
*/ | |
ATSINSmove_void(tmp99, digitalWrite(ATSSELarrptrind(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_69), postiats_tyrec_70, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(3)]), tmp100)) ; | |
326: 8b 85 ldd r24, Y+11 ; 0x0b | |
328: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7577(line=196, offs=12) -- 7603(line=196, offs=38) | |
*/ | |
ATSINSmove_void(tmpret83, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable(arg0)) ; | |
32c: ce 01 movw r24, r28 | |
/* | |
INSletpop() | |
*/ | |
ATSfunbody_end() | |
ATSreturn_void(tmpret83) ; | |
} /* end of [_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits] */ | |
32e: df 91 pop r29 | |
330: cf 91 pop r28 | |
332: 1f 91 pop r17 | |
334: 0f 91 pop r16 | |
336: ff 90 pop r15 | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 7577(line=196, offs=12) -- 7603(line=196, offs=38) | |
*/ | |
ATSINSmove_void(tmpret83, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable(arg0)) ; | |
338: 0c 94 3e 01 jmp 0x27c ; 0x27c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable> | |
0000033c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send>: | |
global: | |
*/ | |
ATSextern() | |
atsvoid_t0ype | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_uint8) arg1, uint8_t arg2) | |
{ | |
33c: 1f 93 push r17 | |
33e: cf 93 push r28 | |
340: df 93 push r29 | |
342: ec 01 movw r28, r24 | |
344: 16 2f mov r17, r22 | |
letpush(beg) | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6460(line=171, offs=12) -- 6490(line=171, offs=42) | |
*/ | |
ATSINSmove_void(tmp73, digitalWrite(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_45), postiats_tyrec_46, atslab__rs_pin), arg2)) ; | |
346: 64 2f mov r22, r20 | |
348: 88 81 ld r24, Y | |
34a: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6502(line=172, offs=12) -- 6531(line=172, offs=41) | |
*/ | |
ATSINSmove_void(tmp74, digitalWrite(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_47), postiats_tyrec_48, atslab__rw_pin), ATSextval(LOW))) ; | |
34e: 60 e0 ldi r22, 0x00 ; 0 | |
350: 89 81 ldd r24, Y+1 ; 0x01 | |
352: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
356: 61 2f mov r22, r17 | |
358: 70 e0 ldi r23, 0x00 ; 0 | |
35a: 34 e0 ldi r19, 0x04 ; 4 | |
35c: 75 95 asr r23 | |
35e: 67 95 ror r22 | |
360: 3a 95 dec r19 | |
362: e1 f7 brne .-8 ; 0x35c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send+0x20> | |
ATSINSmove(tmp76, atspre_g0uint_lsr_uint8(arg1, ATSPMVi0nt(4))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6543(line=173, offs=12) -- 6580(line=173, offs=49) | |
*/ | |
ATSINSmove_void(tmp75, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(arg0, tmp76)) ; | |
364: ce 01 movw r24, r28 | |
366: 0e 94 5e 01 call 0x2bc ; 0x2bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits> | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6592(line=174, offs=12) -- 6624(line=174, offs=44) | |
*/ | |
ATSINSmove_void(tmpret72, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(arg0, arg1)) ; | |
36a: 61 2f mov r22, r17 | |
36c: ce 01 movw r24, r28 | |
/* | |
INSletpop() | |
*/ | |
ATSfunbody_end() | |
ATSreturn_void(tmpret72) ; | |
} /* end of [_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send] */ | |
36e: df 91 pop r29 | |
370: cf 91 pop r28 | |
372: 1f 91 pop r17 | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6592(line=174, offs=12) -- 6624(line=174, offs=44) | |
*/ | |
ATSINSmove_void(tmpret72, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(arg0, arg1)) ; | |
374: 0c 94 5e 01 jmp 0x2bc ; 0x2bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits> | |
00000378 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_write>: | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5943(line=154, offs=12) -- 5975(line=154, offs=44) | |
*/ | |
ATSINSmove_void(tmpret67, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), arg1, ATSextval(HIGH))) ; | |
378: 41 e0 ldi r20, 0x01 ; 1 | |
37a: 0c 94 9e 01 jmp 0x33c ; 0x33c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send> | |
0000037e <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print>: | |
global: | |
*/ | |
ATSextern() | |
atsvoid_t0ype | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print(atsrefarg0_type(atstkind_type(atstype_ptrk)) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_size) arg2, atstkind_t0ype(atstype_int) arg3) | |
{ | |
37e: ef 92 push r14 | |
380: ff 92 push r15 | |
382: 0f 93 push r16 | |
384: 1f 93 push r17 | |
386: cf 93 push r28 | |
388: df 93 push r29 | |
38a: ec 01 movw r28, r24 | |
/* ****** ****** */ | |
ATSinline() | |
atstype_ptr | |
atspre_add_ptr_bsz | |
(atstype_ptr p, atstype_size ofs) { return ((char*)p + ofs) ; } | |
38c: 62 0f add r22, r18 | |
38e: 73 1f adc r23, r19 | |
ATSINSmove(tmp48, ATSLIB_056_prelude__gt_g0int_int__5__2(arg2, ATSPMVi0nt(0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5682(line=145, offs=14) -- 5747(line=145, offs=79) | |
*/ | |
ATSif( | |
390: 10 16 cp r1, r16 | |
392: 11 06 cpc r1, r17 | |
394: 54 f4 brge .+20 ; 0x3aa <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print+0x2c> | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5597(line=142, offs=14) -- 5615(line=142, offs=32) | |
*/ | |
ATSINSmove_void(tmpret43, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_write(ATSPMVrefarg0(arg0), tmp44)) ; | |
396: fb 01 movw r30, r22 | |
398: 61 91 ld r22, Z+ | |
39a: 7f 01 movw r14, r30 | |
39c: ce 01 movw r24, r28 | |
39e: 0e 94 bc 01 call 0x378 ; 0x378 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_write> | |
(atstype_int x1, atstype_int x2) { return (x1 + x2) ; } | |
// end of [atspre_g0int_add_int] | |
ATSinline() | |
atstype_int | |
atspre_g0int_sub_int | |
(atstype_int x1, atstype_int x2) { return (x1 - x2) ; } | |
3a2: 01 50 subi r16, 0x01 ; 1 | |
3a4: 11 09 sbc r17, r1 | |
3a6: b7 01 movw r22, r14 | |
3a8: f3 cf rjmp .-26 ; 0x390 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print+0x12> | |
/* | |
INSletpop() | |
*/ | |
ATSfunbody_end() | |
ATSreturn_void(tmpret42) ; | |
} /* end of [_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print] */ | |
3aa: df 91 pop r29 | |
3ac: cf 91 pop r28 | |
3ae: 1f 91 pop r17 | |
3b0: 0f 91 pop r16 | |
3b2: ff 90 pop r15 | |
3b4: ef 90 pop r14 | |
3b6: 08 95 ret | |
000003b8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command>: | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6367(line=167, offs=12) -- 6398(line=167, offs=43) | |
*/ | |
ATSINSmove_void(tmpret71, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send(arg0, arg1, ATSextval(LOW))) ; | |
3b8: 40 e0 ldi r20, 0x00 ; 0 | |
3ba: 0c 94 9e 01 jmp 0x33c ; 0x33c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send> | |
000003be <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_clear>: | |
/* (*nothing*) */ | |
/* (*nothing*) */ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 4954(line=126, offs=12) -- 4994(line=126, offs=52) | |
*/ | |
ATSINSmove_void(tmp32, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x01)))) ; | |
3be: 61 e0 ldi r22, 0x01 ; 1 | |
3c0: 0e 94 dc 01 call 0x3b8 ; 0x3b8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command> | |
3c4: 8f e3 ldi r24, 0x3F ; 63 | |
3c6: 9f e1 ldi r25, 0x1F ; 31 | |
3c8: 01 97 sbiw r24, 0x01 ; 1 | |
3ca: f1 f7 brne .-4 ; 0x3c8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_clear+0xa> | |
3cc: 00 c0 rjmp .+0 ; 0x3ce <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_clear+0x10> | |
3ce: 00 00 nop | |
3d0: 08 95 ret | |
000003d2 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor>: | |
ATSINSmove(tmp35, ATSLIB_056_prelude__gt_g0int_int__5__1(arg2, ATSPMVi0nt(0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5250(line=133, offs=17) -- 5280(line=133, offs=47) | |
*/ | |
ATSif( | |
3d2: 14 16 cp r1, r20 | |
3d4: 15 06 cpc r1, r21 | |
3d6: 14 f4 brge .+4 ; 0x3dc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor+0xa> | |
tmp35 | |
) ATSthen() { | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5266(line=133, offs=33) -- 5270(line=133, offs=37) | |
*/ | |
ATSINSmove(tmp34, ATSPMVi0nt(0x40)) ; | |
3d8: 20 e4 ldi r18, 0x40 ; 64 | |
3da: 01 c0 rjmp .+2 ; 0x3de <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor+0xc> | |
} ATSelse() { | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5276(line=133, offs=43) -- 5280(line=133, offs=47) | |
*/ | |
ATSINSmove(tmp34, ATSPMVi0nt(0x00)) ; | |
3dc: 20 e0 ldi r18, 0x00 ; 0 | |
(atstype_uint8 x) { return (x >> 1) ; } | |
// end of [atspre_g0uint_pred_uint8] | |
ATSinline() | |
atstype_uint8 | |
atspre_g0uint_add_uint8 | |
(atstype_uint8 x1, atstype_uint8 x2) { return (x1 + x2) ; } | |
3de: 62 0f add r22, r18 | |
ATSstatmpdec(statmpref0, postiats_tyrec_0) ; | |
/* | |
/home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 458(line=13, offs=1) -- 618(line=16, offs=3) | |
*/ | |
ATSextcode_beg() | |
inline uint8_t atspre_uint8_bit_or(uint8_t a, uint8_t b) { return (a | b); } | |
3e0: 60 68 ori r22, 0x80 ; 128 | |
ATSINSmove(tmp40, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x80)), tmp41)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 5336(line=135, offs=12) -- 5415(line=135, offs=91) | |
*/ | |
ATSINSmove_void(tmpret33, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), tmp40)) ; | |
3e2: 0c 94 dc 01 jmp 0x3b8 ; 0x3b8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command> | |
000003e6 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_display>: | |
*/ | |
/* (*nothing*) */ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6107(line=160, offs=12) -- 6141(line=160, offs=46) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(arg0, postiats_tyrec_41), postiats_tyrec_42, atslab__displaycontrol), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x04))) ; | |
3e6: 24 e0 ldi r18, 0x04 ; 4 | |
3e8: fc 01 movw r30, r24 | |
3ea: 24 83 std Z+4, r18 ; 0x04 | |
ATSINSmove(tmp70, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x08)), tmp69)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 6235(line=163, offs=12) -- 6308(line=163, offs=85) | |
*/ | |
ATSINSmove_void(tmpret68, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command(arg0, tmp70)) ; | |
3ec: 6c e0 ldi r22, 0x0C ; 12 | |
3ee: 0c 94 dc 01 jmp 0x3b8 ; 0x3b8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command> | |
000003f2 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open>: | |
global: | |
*/ | |
ATSextern() | |
atstkind_type(atstype_ptrk) | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open(atstkind_t0ype(atstype_uint8) arg0, atstkind_t0ype(atstype_uint8) arg1, atstkind_t0ype(atstype_uint8) arg2, atstkind_t0ype(atstype_uint8) arg3, atstkind_t0ype(atstype_uint8) arg4, atstkind_t0ype(atstype_uint8) arg5, atstkind_t0ype(atstype_uint8) arg6) | |
{ | |
3f2: af 92 push r10 | |
3f4: bf 92 push r11 | |
3f6: cf 92 push r12 | |
3f8: ef 92 push r14 | |
3fa: 0f 93 push r16 | |
3fc: cf 93 push r28 | |
3fe: df 93 push r29 | |
/* (*nothing*) */ | |
/* (*nothing*) */ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2089(line=59, offs=14) -- 2108(line=59, offs=33) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_1), postiats_tyrec_2, atslab__rs_pin), arg0) ; | |
400: e0 ec ldi r30, 0xC0 ; 192 | |
402: f2 e0 ldi r31, 0x02 ; 2 | |
404: 80 83 st Z, r24 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2122(line=60, offs=14) -- 2141(line=60, offs=33) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_3), postiats_tyrec_4, atslab__rw_pin), arg1) ; | |
406: 51 ec ldi r21, 0xC1 ; 193 | |
408: a5 2e mov r10, r21 | |
40a: 52 e0 ldi r21, 0x02 ; 2 | |
40c: b5 2e mov r11, r21 | |
40e: d5 01 movw r26, r10 | |
410: 6c 93 st X, r22 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2155(line=61, offs=14) -- 2178(line=61, offs=37) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_5), postiats_tyrec_6, atslab__enable_pin), arg2) ; | |
412: c2 ec ldi r28, 0xC2 ; 194 | |
414: d2 e0 ldi r29, 0x02 ; 2 | |
416: 48 83 st Y, r20 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2192(line=62, offs=14) -- 2214(line=62, offs=36) | |
*/ | |
ATSINSstore(ATSSELarrptrind(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_7), postiats_tyrec_8, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(0)]), arg3) ; | |
418: 20 87 std Z+8, r18 ; 0x08 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2228(line=63, offs=14) -- 2250(line=63, offs=36) | |
*/ | |
ATSINSstore(ATSSELarrptrind(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_9), postiats_tyrec_10, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(1)]), arg4) ; | |
41a: 01 87 std Z+9, r16 ; 0x09 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2264(line=64, offs=14) -- 2286(line=64, offs=36) | |
*/ | |
ATSINSstore(ATSSELarrptrind(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_11), postiats_tyrec_12, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(2)]), arg5) ; | |
41c: e2 86 std Z+10, r14 ; 0x0a | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2300(line=65, offs=14) -- 2322(line=65, offs=36) | |
*/ | |
ATSINSstore(ATSSELarrptrind(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_13), postiats_tyrec_14, atslab__data_pins), atstkind_t0ype(atstype_uint8), [ATSPMVi0nt(3)]), arg6) ; | |
41e: c3 86 std Z+11, r12 ; 0x0b | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2336(line=66, offs=14) -- 2363(line=66, offs=41) | |
*/ | |
ATSINSmove_void(tmp2, pinMode(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_15), postiats_tyrec_16, atslab__rs_pin), ATSextval(OUTPUT))) ; | |
420: 61 e0 ldi r22, 0x01 ; 1 | |
422: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2377(line=67, offs=14) -- 2404(line=67, offs=41) | |
*/ | |
ATSINSmove_void(tmp3, pinMode(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_17), postiats_tyrec_18, atslab__rw_pin), ATSextval(OUTPUT))) ; | |
426: 61 e0 ldi r22, 0x01 ; 1 | |
428: f5 01 movw r30, r10 | |
42a: 80 81 ld r24, Z | |
42c: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2418(line=68, offs=14) -- 2449(line=68, offs=45) | |
*/ | |
ATSINSmove_void(tmp4, pinMode(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_19), postiats_tyrec_20, atslab__enable_pin), ATSextval(OUTPUT))) ; | |
430: 61 e0 ldi r22, 0x01 ; 1 | |
432: 88 81 ld r24, Y | |
434: 0e 94 a9 00 call 0x152 ; 0x152 <pinMode> | |
ATSINSmove(tmp5, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x00)), tmp6)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2574(line=72, offs=14) -- 2662(line=72, offs=102) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(ATSPMVcastfn(castvwtp0, atstype_boxed, ATSPMVptrof(statmpref0)))), postiats_tyrec_21), postiats_tyrec_22, atslab__displayfunction), tmp5) ; | |
438: 88 e0 ldi r24, 0x08 ; 8 | |
43a: 80 93 c3 02 sts 0x02C3, r24 | |
*/ | |
/* (*nothing*) */ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2826(line=76, offs=16) -- 2846(line=76, offs=36) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_23), postiats_tyrec_24, atslab__numlines), arg1) ; | |
43e: 82 e0 ldi r24, 0x02 ; 2 | |
440: 80 93 c6 02 sts 0x02C6, r24 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2862(line=77, offs=16) -- 2887(line=77, offs=41) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_25), postiats_tyrec_26, atslab__currline), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0))) ; | |
444: 10 92 c7 02 sts 0x02C7, r1 | |
448: ff ef ldi r31, 0xFF ; 255 | |
44a: 20 e7 ldi r18, 0x70 ; 112 | |
44c: 82 e0 ldi r24, 0x02 ; 2 | |
44e: f1 50 subi r31, 0x01 ; 1 | |
450: 20 40 sbci r18, 0x00 ; 0 | |
452: 80 40 sbci r24, 0x00 ; 0 | |
454: e1 f7 brne .-8 ; 0x44e <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0x5c> | |
456: 00 c0 rjmp .+0 ; 0x458 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0x66> | |
458: 00 00 nop | |
ATSINSmove_void(tmp8, _delay_us(ATSPMVf0loat(50000.0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2936(line=79, offs=16) -- 2965(line=79, offs=45) | |
*/ | |
ATSINSmove_void(tmp9, digitalWrite(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_27), postiats_tyrec_28, atslab__rs_pin), ATSextval(LOW))) ; | |
45a: 60 e0 ldi r22, 0x00 ; 0 | |
45c: 80 91 c0 02 lds r24, 0x02C0 | |
460: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 2981(line=80, offs=16) -- 3014(line=80, offs=49) | |
*/ | |
ATSINSmove_void(tmp10, digitalWrite(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_29), postiats_tyrec_30, atslab__enable_pin), ATSextval(LOW))) ; | |
464: 60 e0 ldi r22, 0x00 ; 0 | |
466: 80 91 c2 02 lds r24, 0x02C2 | |
46a: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3030(line=81, offs=16) -- 3059(line=81, offs=45) | |
*/ | |
ATSINSmove_void(tmp11, digitalWrite(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_31), postiats_tyrec_32, atslab__rw_pin), ATSextval(LOW))) ; | |
46e: 60 e0 ldi r22, 0x00 ; 0 | |
470: 80 91 c1 02 lds r24, 0x02C1 | |
474: 0e 94 e2 00 call 0x1c4 ; 0x1c4 <digitalWrite> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3088(line=82, offs=29) -- 3106(line=82, offs=47) | |
*/ | |
ATSINSmove(tmp12, ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_33), postiats_tyrec_34, atslab__displayfunction)) ; | |
478: c0 91 c3 02 lds r28, 0x02C3 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3255(line=85, offs=16) -- 3295(line=85, offs=56) | |
*/ | |
ATSINSmove_void(tmp13, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x03)))) ; | |
47c: 63 e0 ldi r22, 0x03 ; 3 | |
47e: 80 ec ldi r24, 0xC0 ; 192 | |
480: 92 e0 ldi r25, 0x02 ; 2 | |
482: 0e 94 5e 01 call 0x2bc ; 0x2bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits> | |
486: af e4 ldi r26, 0x4F ; 79 | |
488: b6 e4 ldi r27, 0x46 ; 70 | |
48a: 11 97 sbiw r26, 0x01 ; 1 | |
48c: f1 f7 brne .-4 ; 0x48a <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0x98> | |
48e: 00 c0 rjmp .+0 ; 0x490 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0x9e> | |
490: 00 00 nop | |
ATSINSmove_void(tmp14, _delay_us(ATSPMVf0loat(4500.0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3343(line=87, offs=16) -- 3383(line=87, offs=56) | |
*/ | |
ATSINSmove_void(tmp15, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x03)))) ; | |
492: 63 e0 ldi r22, 0x03 ; 3 | |
494: 80 ec ldi r24, 0xC0 ; 192 | |
496: 92 e0 ldi r25, 0x02 ; 2 | |
498: 0e 94 5e 01 call 0x2bc ; 0x2bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits> | |
49c: ef e4 ldi r30, 0x4F ; 79 | |
49e: f6 e4 ldi r31, 0x46 ; 70 | |
4a0: 31 97 sbiw r30, 0x01 ; 1 | |
4a2: f1 f7 brne .-4 ; 0x4a0 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0xae> | |
4a4: 00 c0 rjmp .+0 ; 0x4a6 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0xb4> | |
4a6: 00 00 nop | |
ATSINSmove_void(tmp16, _delay_us(ATSPMVf0loat(4500.0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3445(line=89, offs=16) -- 3485(line=89, offs=56) | |
*/ | |
ATSINSmove_void(tmp17, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x03)))) ; | |
4a8: 63 e0 ldi r22, 0x03 ; 3 | |
4aa: 80 ec ldi r24, 0xC0 ; 192 | |
4ac: 92 e0 ldi r25, 0x02 ; 2 | |
4ae: 0e 94 5e 01 call 0x2bc ; 0x2bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits> | |
4b2: 87 e5 ldi r24, 0x57 ; 87 | |
4b4: 92 e0 ldi r25, 0x02 ; 2 | |
4b6: 01 97 sbiw r24, 0x01 ; 1 | |
4b8: f1 f7 brne .-4 ; 0x4b6 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0xc4> | |
4ba: 00 c0 rjmp .+0 ; 0x4bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open+0xca> | |
4bc: 00 00 nop | |
ATSINSmove_void(tmp18, _delay_us(ATSPMVf0loat(150.0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3545(line=91, offs=16) -- 3585(line=91, offs=56) | |
*/ | |
ATSINSmove_void(tmp19, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x02)))) ; | |
4be: 62 e0 ldi r22, 0x02 ; 2 | |
4c0: 80 ec ldi r24, 0xC0 ; 192 | |
4c2: 92 e0 ldi r25, 0x02 ; 2 | |
4c4: 0e 94 5e 01 call 0x2bc ; 0x2bc <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits> | |
ATSstatmpdec(statmpref0, postiats_tyrec_0) ; | |
/* | |
/home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 458(line=13, offs=1) -- 618(line=16, offs=3) | |
*/ | |
ATSextcode_beg() | |
inline uint8_t atspre_uint8_bit_or(uint8_t a, uint8_t b) { return (a | b); } | |
4c8: 6c 2f mov r22, r28 | |
4ca: 60 62 ori r22, 0x20 ; 32 | |
ATSINSmove(tmp21, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x20)), tmp12)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3725(line=94, offs=16) -- 3796(line=94, offs=87) | |
*/ | |
ATSINSmove_void(tmp20, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), tmp21)) ; | |
4cc: 80 ec ldi r24, 0xC0 ; 192 | |
4ce: 92 e0 ldi r25, 0x02 ; 2 | |
4d0: 0e 94 dc 01 call 0x3b8 ; 0x3b8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command> | |
ATSINSmove(tmp22, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x04)), tmp23)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 3996(line=99, offs=16) -- 4089(line=99, offs=109) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_35), postiats_tyrec_36, atslab__displaycontrol), tmp22) ; | |
4d4: 84 e0 ldi r24, 0x04 ; 4 | |
4d6: 80 93 c4 02 sts 0x02C4, r24 | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 4105(line=100, offs=16) -- 4127(line=100, offs=38) | |
*/ | |
ATSINSmove_void(tmp24, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_display(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)))) ; | |
4da: 80 ec ldi r24, 0xC0 ; 192 | |
4dc: 92 e0 ldi r25, 0x02 ; 2 | |
4de: 0e 94 f3 01 call 0x3e6 ; 0x3e6 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_display> | |
ATSINSmove(tmp25, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x02)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x00)))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 4313(line=104, offs=16) -- 4384(line=104, offs=87) | |
*/ | |
ATSINSstore(ATSSELfltrec(ATSderef(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), postiats_tyrec_37), postiats_tyrec_38, atslab__displaymode), tmp25) ; | |
4e2: 82 e0 ldi r24, 0x02 ; 2 | |
4e4: 80 93 c5 02 sts 0x02C5, r24 | |
ATSINSmove(tmp28, atspre_uint8_bit_or(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0x04)), tmp26)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 4510(line=108, offs=16) -- 4578(line=108, offs=84) | |
*/ | |
ATSINSmove_void(tmp27, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command(ATSPMVcastfn(LCD_takeout_struct, atstkind_type(atstype_ptrk), ATSPMVrefarg0(arg0)), tmp28)) ; | |
4e8: 66 e0 ldi r22, 0x06 ; 6 | |
4ea: 80 ec ldi r24, 0xC0 ; 192 | |
4ec: 92 e0 ldi r25, 0x02 ; 2 | |
4ee: 0e 94 dc 01 call 0x3b8 ; 0x3b8 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command> | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/lcd.dats: 4664(line=111, offs=16) -- 4677(line=111, offs=29) | |
*/ | |
ATSINSmove_void(tmpret7, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_clear(ATSPMVrefarg0(arg0))) ; | |
4f2: 80 ec ldi r24, 0xC0 ; 192 | |
4f4: 92 e0 ldi r25, 0x02 ; 2 | |
4f6: 0e 94 df 01 call 0x3be ; 0x3be <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_clear> | |
/* | |
INSletpop() | |
*/ | |
ATSfunbody_end() | |
ATSreturn(tmpret1) ; | |
} /* end of [_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open] */ | |
4fa: 80 ec ldi r24, 0xC0 ; 192 | |
4fc: 92 e0 ldi r25, 0x02 ; 2 | |
4fe: df 91 pop r29 | |
500: cf 91 pop r28 | |
502: 0f 91 pop r16 | |
504: ef 90 pop r14 | |
506: cf 90 pop r12 | |
508: bf 90 pop r11 | |
50a: af 90 pop r10 | |
50c: 08 95 ret | |
0000050e <mainats_void_0>: | |
letpush(beg) | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 1213(line=28, offs=13) -- 1307(line=28, offs=107) | |
*/ | |
ATSINSmove(tmp25, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open(ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(8)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(13)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(9)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(4)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(5)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(6)), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(7)))) ; | |
50e: 87 e0 ldi r24, 0x07 ; 7 | |
510: c8 2e mov r12, r24 | |
512: 96 e0 ldi r25, 0x06 ; 6 | |
514: e9 2e mov r14, r25 | |
516: 05 e0 ldi r16, 0x05 ; 5 | |
518: 24 e0 ldi r18, 0x04 ; 4 | |
51a: 49 e0 ldi r20, 0x09 ; 9 | |
51c: 6d e0 ldi r22, 0x0D ; 13 | |
51e: 88 e0 ldi r24, 0x08 ; 8 | |
520: 0e 94 f9 01 call 0x3f2 ; 0x3f2 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open> | |
524: ec 01 movw r28, r24 | |
ATSINSmove(tmp8, atspre_g1uint_lt_size(tmp9, tmp16)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 956(line=21, offs=14) -- 1017(line=21, offs=75) | |
*/ | |
ATSif( | |
526: c1 2c mov r12, r1 | |
528: d1 2c mov r13, r1 | |
52a: 76 01 movw r14, r12 | |
letpush(beg) | |
*/ | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 714(line=16, offs=14) -- 748(line=16, offs=48) | |
*/ | |
ATSINSmove_void(tmp2, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor(ATSPMVrefarg0(arg0), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(1)), ATSPMVi0nt(0))) ; | |
52c: 40 e0 ldi r20, 0x00 ; 0 | |
52e: 50 e0 ldi r21, 0x00 ; 0 | |
530: 61 e0 ldi r22, 0x01 ; 1 | |
532: ce 01 movw r24, r28 | |
534: 0e 94 e9 01 call 0x3d2 ; 0x3d2 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor> | |
ATSINSmove(tmp4, atspre_g1int2uint_int_size(ATSPMVi0nt(0))) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 762(line=17, offs=14) -- 807(line=17, offs=59) | |
*/ | |
ATSINSmove_void(tmp3, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print(ATSPMVrefarg0(arg0), ATSPMVstring("<ATS running!>"), tmp4, ATSPMVi0nt(14))) ; | |
538: 0e e0 ldi r16, 0x0E ; 14 | |
53a: 10 e0 ldi r17, 0x00 ; 0 | |
53c: 20 e0 ldi r18, 0x00 ; 0 | |
53e: 30 e0 ldi r19, 0x00 ; 0 | |
540: a9 01 movw r20, r18 | |
542: 60 e0 ldi r22, 0x00 ; 0 | |
544: 71 e0 ldi r23, 0x01 ; 1 | |
546: ce 01 movw r24, r28 | |
548: 0e 94 bf 01 call 0x37e ; 0x37e <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 821(line=18, offs=14) -- 855(line=18, offs=48) | |
*/ | |
ATSINSmove_void(tmp5, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor(ATSPMVrefarg0(arg0), ATSPMVcastfn(cast, atstkind_t0ype(atstype_uint8), ATSPMVi0nt(0)), ATSPMVi0nt(1))) ; | |
54c: 41 e0 ldi r20, 0x01 ; 1 | |
54e: 50 e0 ldi r21, 0x00 ; 0 | |
550: 60 e0 ldi r22, 0x00 ; 0 | |
552: ce 01 movw r24, r28 | |
554: 0e 94 e9 01 call 0x3d2 ; 0x3d2 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor> | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 869(line=19, offs=14) -- 905(line=19, offs=50) | |
*/ | |
ATSINSmove_void(tmp6, _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print(ATSPMVrefarg0(arg0), arg1, arg2, ATSPMVintrep(16))) ; | |
558: 00 e1 ldi r16, 0x10 ; 16 | |
55a: 10 e0 ldi r17, 0x00 ; 0 | |
55c: a7 01 movw r20, r14 | |
55e: 96 01 movw r18, r12 | |
560: 6f e0 ldi r22, 0x0F ; 15 | |
562: 71 e0 ldi r23, 0x01 ; 1 | |
564: ce 01 movw r24, r28 | |
566: 0e 94 bf 01 call 0x37e ; 0x37e <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print> | |
#else | |
//round up by default | |
__ticks_dc = (uint32_t)(ceil(fabs(__tmp))); | |
#endif | |
__builtin_avr_delay_cycles(__ticks_dc); | |
56a: 2f ef ldi r18, 0xFF ; 255 | |
56c: 87 e8 ldi r24, 0x87 ; 135 | |
56e: 93 e1 ldi r25, 0x13 ; 19 | |
570: 21 50 subi r18, 0x01 ; 1 | |
572: 80 40 sbci r24, 0x00 ; 0 | |
574: 90 40 sbci r25, 0x00 ; 0 | |
576: e1 f7 brne .-8 ; 0x570 <mainats_void_0+0x62> | |
578: 00 c0 rjmp .+0 ; 0x57a <mainats_void_0+0x6c> | |
57a: 00 00 nop | |
(atstype_size x) { return (x >> 1) ; } | |
// end of [atspre_g0uint_half_size] | |
ATSinline() | |
atstype_size | |
atspre_g0uint_add_size | |
(atstype_size x1, atstype_size x2) { return (x1 + x2) ; } | |
57c: d7 01 movw r26, r14 | |
57e: c6 01 movw r24, r12 | |
580: 40 96 adiw r24, 0x10 ; 16 | |
582: a1 1d adc r26, r1 | |
584: b1 1d adc r27, r1 | |
ATSINSmove(tmp8, atspre_g1uint_lt_size(tmp9, tmp16)) ; | |
/* | |
emit_instr: loc0 = /home/kiwamu/src/arduino-ats/demo/lcd_ats/DATS/main.dats: 956(line=21, offs=14) -- 1017(line=21, offs=75) | |
*/ | |
ATSif( | |
586: 86 35 cpi r24, 0x56 ; 86 | |
588: 91 40 sbci r25, 0x01 ; 1 | |
58a: a1 05 cpc r26, r1 | |
58c: b1 05 cpc r27, r1 | |
58e: 58 f6 brcc .-106 ; 0x526 <mainats_void_0+0x18> | |
590: 8f ef ldi r24, 0xFF ; 255 | |
592: c8 1a sub r12, r24 | |
594: d8 0a sbc r13, r24 | |
596: e8 0a sbc r14, r24 | |
598: f8 0a sbc r15, r24 | |
59a: c8 cf rjmp .-112 ; 0x52c <mainats_void_0+0x1e> | |
0000059c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynload>: | |
ATSfunbody_beg() | |
ATSdynload(/*void*/) | |
ATSdynloadflag_sta( | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynloadflag | |
) ; | |
ATSif( | |
59c: 80 91 c8 02 lds r24, 0x02C8 | |
5a0: 90 91 c9 02 lds r25, 0x02C9 | |
5a4: 89 2b or r24, r25 | |
5a6: 31 f4 brne .+12 ; 0x5b4 <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynload+0x18> | |
ATSCKiseqz( | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynloadflag | |
) | |
) ATSthen() { | |
ATSdynloadset(_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynloadflag) ; | |
5a8: 81 e0 ldi r24, 0x01 ; 1 | |
5aa: 90 e0 ldi r25, 0x00 ; 0 | |
5ac: 90 93 c9 02 sts 0x02C9, r25 | |
5b0: 80 93 c8 02 sts 0x02C8, r24 | |
5b4: 08 95 ret | |
000005b6 <atsruntime_handle_unmatchedval>: | |
extern | |
void | |
atsruntime_handle_unmatchedval | |
(char *msg0) | |
{ | |
fprintf( | |
5b6: 9f 93 push r25 | |
5b8: 8f 93 push r24 | |
5ba: 86 e6 ldi r24, 0x66 ; 102 | |
5bc: 92 e0 ldi r25, 0x02 ; 2 | |
5be: 9f 93 push r25 | |
5c0: 8f 93 push r24 | |
5c2: ee ec ldi r30, 0xCE ; 206 | |
5c4: f2 e0 ldi r31, 0x02 ; 2 | |
5c6: 81 81 ldd r24, Z+1 ; 0x01 | |
5c8: 8f 93 push r24 | |
5ca: 80 81 ld r24, Z | |
5cc: 8f 93 push r24 | |
5ce: 0e 94 03 03 call 0x606 ; 0x606 <fprintf> | |
stderr | |
, "exit(ATS): unmatched value at run-time:\n%s\n", msg0 | |
) ; exit(1) ; | |
5d2: 81 e0 ldi r24, 0x01 ; 1 | |
5d4: 90 e0 ldi r25, 0x00 ; 0 | |
5d6: 0e 94 c4 05 call 0xb88 ; 0xb88 <_exit> | |
000005da <atsruntime_handle_unmatchedarg>: | |
extern | |
void | |
atsruntime_handle_unmatchedarg | |
(char *msg0) | |
{ | |
fprintf( | |
5da: 9f 93 push r25 | |
5dc: 8f 93 push r24 | |
5de: 82 e9 ldi r24, 0x92 ; 146 | |
5e0: 92 e0 ldi r25, 0x02 ; 2 | |
5e2: 9f 93 push r25 | |
5e4: 8f 93 push r24 | |
5e6: ee ec ldi r30, 0xCE ; 206 | |
5e8: f2 e0 ldi r31, 0x02 ; 2 | |
5ea: 81 81 ldd r24, Z+1 ; 0x01 | |
5ec: 8f 93 push r24 | |
5ee: 80 81 ld r24, Z | |
5f0: 8f 93 push r24 | |
5f2: 0e 94 03 03 call 0x606 ; 0x606 <fprintf> | |
stderr | |
, "exit(ATS): unmatched funarg at run-time:\n%s\n", msg0 | |
) ; exit(1) ; | |
5f6: 81 e0 ldi r24, 0x01 ; 1 | |
5f8: 90 e0 ldi r25, 0x00 ; 0 | |
5fa: 0e 94 c4 05 call 0xb88 ; 0xb88 <_exit> | |
000005fe <main>: | |
main | |
( | |
int argc, char **argv, char **envp | |
) { | |
int err = 0 ; | |
_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynload() ; | |
5fe: 0e 94 ce 02 call 0x59c ; 0x59c <_057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynload> | |
ATSmainats_void_0(err) ; | |
602: 0e 94 87 02 call 0x50e ; 0x50e <mainats_void_0> | |
00000606 <fprintf>: | |
606: a0 e0 ldi r26, 0x00 ; 0 | |
608: b0 e0 ldi r27, 0x00 ; 0 | |
60a: e9 e0 ldi r30, 0x09 ; 9 | |
60c: f3 e0 ldi r31, 0x03 ; 3 | |
60e: 0c 94 9d 05 jmp 0xb3a ; 0xb3a <__prologue_saves__+0x20> | |
612: ae 01 movw r20, r28 | |
614: 47 5f subi r20, 0xF7 ; 247 | |
616: 5f 4f sbci r21, 0xFF ; 255 | |
618: 6f 81 ldd r22, Y+7 ; 0x07 | |
61a: 78 85 ldd r23, Y+8 ; 0x08 | |
61c: 8d 81 ldd r24, Y+5 ; 0x05 | |
61e: 9e 81 ldd r25, Y+6 ; 0x06 | |
620: 0e 94 15 03 call 0x62a ; 0x62a <vfprintf> | |
624: e2 e0 ldi r30, 0x02 ; 2 | |
626: 0c 94 b9 05 jmp 0xb72 ; 0xb72 <__epilogue_restores__+0x20> | |
0000062a <vfprintf>: | |
62a: ac e0 ldi r26, 0x0C ; 12 | |
62c: b0 e0 ldi r27, 0x00 ; 0 | |
62e: eb e1 ldi r30, 0x1B ; 27 | |
630: f3 e0 ldi r31, 0x03 ; 3 | |
632: 0c 94 8d 05 jmp 0xb1a ; 0xb1a <__prologue_saves__> | |
636: 7c 01 movw r14, r24 | |
638: 6b 01 movw r12, r22 | |
63a: 8a 01 movw r16, r20 | |
63c: fc 01 movw r30, r24 | |
63e: 17 82 std Z+7, r1 ; 0x07 | |
640: 16 82 std Z+6, r1 ; 0x06 | |
642: 83 81 ldd r24, Z+3 ; 0x03 | |
644: 81 ff sbrs r24, 1 | |
646: bd c1 rjmp .+890 ; 0x9c2 <__stack+0xc3> | |
648: ce 01 movw r24, r28 | |
64a: 01 96 adiw r24, 0x01 ; 1 | |
64c: 4c 01 movw r8, r24 | |
64e: f7 01 movw r30, r14 | |
650: 93 81 ldd r25, Z+3 ; 0x03 | |
652: f6 01 movw r30, r12 | |
654: 93 fd sbrc r25, 3 | |
656: 85 91 lpm r24, Z+ | |
658: 93 ff sbrs r25, 3 | |
65a: 81 91 ld r24, Z+ | |
65c: 6f 01 movw r12, r30 | |
65e: 88 23 and r24, r24 | |
660: 09 f4 brne .+2 ; 0x664 <vfprintf+0x3a> | |
662: ab c1 rjmp .+854 ; 0x9ba <__stack+0xbb> | |
664: 85 32 cpi r24, 0x25 ; 37 | |
666: 39 f4 brne .+14 ; 0x676 <vfprintf+0x4c> | |
668: 93 fd sbrc r25, 3 | |
66a: 85 91 lpm r24, Z+ | |
66c: 93 ff sbrs r25, 3 | |
66e: 81 91 ld r24, Z+ | |
670: 6f 01 movw r12, r30 | |
672: 85 32 cpi r24, 0x25 ; 37 | |
674: 29 f4 brne .+10 ; 0x680 <vfprintf+0x56> | |
676: b7 01 movw r22, r14 | |
678: 90 e0 ldi r25, 0x00 ; 0 | |
67a: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
67e: e7 cf rjmp .-50 ; 0x64e <vfprintf+0x24> | |
680: 51 2c mov r5, r1 | |
682: 31 2c mov r3, r1 | |
684: 20 e0 ldi r18, 0x00 ; 0 | |
686: 20 32 cpi r18, 0x20 ; 32 | |
688: a0 f4 brcc .+40 ; 0x6b2 <vfprintf+0x88> | |
68a: 8b 32 cpi r24, 0x2B ; 43 | |
68c: 69 f0 breq .+26 ; 0x6a8 <vfprintf+0x7e> | |
68e: 30 f4 brcc .+12 ; 0x69c <vfprintf+0x72> | |
690: 80 32 cpi r24, 0x20 ; 32 | |
692: 59 f0 breq .+22 ; 0x6aa <vfprintf+0x80> | |
694: 83 32 cpi r24, 0x23 ; 35 | |
696: 69 f4 brne .+26 ; 0x6b2 <vfprintf+0x88> | |
698: 20 61 ori r18, 0x10 ; 16 | |
69a: 2c c0 rjmp .+88 ; 0x6f4 <vfprintf+0xca> | |
69c: 8d 32 cpi r24, 0x2D ; 45 | |
69e: 39 f0 breq .+14 ; 0x6ae <vfprintf+0x84> | |
6a0: 80 33 cpi r24, 0x30 ; 48 | |
6a2: 39 f4 brne .+14 ; 0x6b2 <vfprintf+0x88> | |
6a4: 21 60 ori r18, 0x01 ; 1 | |
6a6: 26 c0 rjmp .+76 ; 0x6f4 <vfprintf+0xca> | |
6a8: 22 60 ori r18, 0x02 ; 2 | |
6aa: 24 60 ori r18, 0x04 ; 4 | |
6ac: 23 c0 rjmp .+70 ; 0x6f4 <vfprintf+0xca> | |
6ae: 28 60 ori r18, 0x08 ; 8 | |
6b0: 21 c0 rjmp .+66 ; 0x6f4 <vfprintf+0xca> | |
6b2: 27 fd sbrc r18, 7 | |
6b4: 27 c0 rjmp .+78 ; 0x704 <vfprintf+0xda> | |
6b6: 30 ed ldi r19, 0xD0 ; 208 | |
6b8: 38 0f add r19, r24 | |
6ba: 3a 30 cpi r19, 0x0A ; 10 | |
6bc: 78 f4 brcc .+30 ; 0x6dc <vfprintf+0xb2> | |
6be: 26 ff sbrs r18, 6 | |
6c0: 06 c0 rjmp .+12 ; 0x6ce <vfprintf+0xa4> | |
6c2: fa e0 ldi r31, 0x0A ; 10 | |
6c4: 5f 9e mul r5, r31 | |
6c6: 30 0d add r19, r0 | |
6c8: 11 24 eor r1, r1 | |
6ca: 53 2e mov r5, r19 | |
6cc: 13 c0 rjmp .+38 ; 0x6f4 <vfprintf+0xca> | |
6ce: 8a e0 ldi r24, 0x0A ; 10 | |
6d0: 38 9e mul r3, r24 | |
6d2: 30 0d add r19, r0 | |
6d4: 11 24 eor r1, r1 | |
6d6: 33 2e mov r3, r19 | |
6d8: 20 62 ori r18, 0x20 ; 32 | |
6da: 0c c0 rjmp .+24 ; 0x6f4 <vfprintf+0xca> | |
6dc: 8e 32 cpi r24, 0x2E ; 46 | |
6de: 21 f4 brne .+8 ; 0x6e8 <vfprintf+0xbe> | |
6e0: 26 fd sbrc r18, 6 | |
6e2: 6b c1 rjmp .+726 ; 0x9ba <__stack+0xbb> | |
6e4: 20 64 ori r18, 0x40 ; 64 | |
6e6: 06 c0 rjmp .+12 ; 0x6f4 <vfprintf+0xca> | |
6e8: 8c 36 cpi r24, 0x6C ; 108 | |
6ea: 11 f4 brne .+4 ; 0x6f0 <vfprintf+0xc6> | |
6ec: 20 68 ori r18, 0x80 ; 128 | |
6ee: 02 c0 rjmp .+4 ; 0x6f4 <vfprintf+0xca> | |
6f0: 88 36 cpi r24, 0x68 ; 104 | |
6f2: 41 f4 brne .+16 ; 0x704 <vfprintf+0xda> | |
6f4: f6 01 movw r30, r12 | |
6f6: 93 fd sbrc r25, 3 | |
6f8: 85 91 lpm r24, Z+ | |
6fa: 93 ff sbrs r25, 3 | |
6fc: 81 91 ld r24, Z+ | |
6fe: 6f 01 movw r12, r30 | |
700: 81 11 cpse r24, r1 | |
702: c1 cf rjmp .-126 ; 0x686 <vfprintf+0x5c> | |
704: 98 2f mov r25, r24 | |
706: 9f 7d andi r25, 0xDF ; 223 | |
708: 95 54 subi r25, 0x45 ; 69 | |
70a: 93 30 cpi r25, 0x03 ; 3 | |
70c: 28 f4 brcc .+10 ; 0x718 <vfprintf+0xee> | |
70e: 0c 5f subi r16, 0xFC ; 252 | |
710: 1f 4f sbci r17, 0xFF ; 255 | |
712: ff e3 ldi r31, 0x3F ; 63 | |
714: f9 83 std Y+1, r31 ; 0x01 | |
716: 0d c0 rjmp .+26 ; 0x732 <vfprintf+0x108> | |
718: 83 36 cpi r24, 0x63 ; 99 | |
71a: 31 f0 breq .+12 ; 0x728 <vfprintf+0xfe> | |
71c: 83 37 cpi r24, 0x73 ; 115 | |
71e: 71 f0 breq .+28 ; 0x73c <vfprintf+0x112> | |
720: 83 35 cpi r24, 0x53 ; 83 | |
722: 09 f0 breq .+2 ; 0x726 <vfprintf+0xfc> | |
724: 5b c0 rjmp .+182 ; 0x7dc <vfprintf+0x1b2> | |
726: 22 c0 rjmp .+68 ; 0x76c <vfprintf+0x142> | |
728: f8 01 movw r30, r16 | |
72a: 80 81 ld r24, Z | |
72c: 89 83 std Y+1, r24 ; 0x01 | |
72e: 0e 5f subi r16, 0xFE ; 254 | |
730: 1f 4f sbci r17, 0xFF ; 255 | |
732: 44 24 eor r4, r4 | |
734: 43 94 inc r4 | |
736: 51 2c mov r5, r1 | |
738: 54 01 movw r10, r8 | |
73a: 15 c0 rjmp .+42 ; 0x766 <vfprintf+0x13c> | |
73c: 38 01 movw r6, r16 | |
73e: f2 e0 ldi r31, 0x02 ; 2 | |
740: 6f 0e add r6, r31 | |
742: 71 1c adc r7, r1 | |
744: f8 01 movw r30, r16 | |
746: a0 80 ld r10, Z | |
748: b1 80 ldd r11, Z+1 ; 0x01 | |
74a: 26 ff sbrs r18, 6 | |
74c: 03 c0 rjmp .+6 ; 0x754 <vfprintf+0x12a> | |
74e: 65 2d mov r22, r5 | |
750: 70 e0 ldi r23, 0x00 ; 0 | |
752: 02 c0 rjmp .+4 ; 0x758 <vfprintf+0x12e> | |
754: 6f ef ldi r22, 0xFF ; 255 | |
756: 7f ef ldi r23, 0xFF ; 255 | |
758: c5 01 movw r24, r10 | |
75a: 2c 87 std Y+12, r18 ; 0x0c | |
75c: 0e 94 f2 04 call 0x9e4 ; 0x9e4 <strnlen> | |
760: 2c 01 movw r4, r24 | |
762: 83 01 movw r16, r6 | |
764: 2c 85 ldd r18, Y+12 ; 0x0c | |
766: 2f 77 andi r18, 0x7F ; 127 | |
768: 22 2e mov r2, r18 | |
76a: 17 c0 rjmp .+46 ; 0x79a <vfprintf+0x170> | |
76c: 38 01 movw r6, r16 | |
76e: f2 e0 ldi r31, 0x02 ; 2 | |
770: 6f 0e add r6, r31 | |
772: 71 1c adc r7, r1 | |
774: f8 01 movw r30, r16 | |
776: a0 80 ld r10, Z | |
778: b1 80 ldd r11, Z+1 ; 0x01 | |
77a: 26 ff sbrs r18, 6 | |
77c: 03 c0 rjmp .+6 ; 0x784 <vfprintf+0x15a> | |
77e: 65 2d mov r22, r5 | |
780: 70 e0 ldi r23, 0x00 ; 0 | |
782: 02 c0 rjmp .+4 ; 0x788 <vfprintf+0x15e> | |
784: 6f ef ldi r22, 0xFF ; 255 | |
786: 7f ef ldi r23, 0xFF ; 255 | |
788: c5 01 movw r24, r10 | |
78a: 2c 87 std Y+12, r18 ; 0x0c | |
78c: 0e 94 e7 04 call 0x9ce ; 0x9ce <strnlen_P> | |
790: 2c 01 movw r4, r24 | |
792: 2c 85 ldd r18, Y+12 ; 0x0c | |
794: 20 68 ori r18, 0x80 ; 128 | |
796: 22 2e mov r2, r18 | |
798: 83 01 movw r16, r6 | |
79a: 23 fc sbrc r2, 3 | |
79c: 1b c0 rjmp .+54 ; 0x7d4 <vfprintf+0x1aa> | |
79e: 83 2d mov r24, r3 | |
7a0: 90 e0 ldi r25, 0x00 ; 0 | |
7a2: 48 16 cp r4, r24 | |
7a4: 59 06 cpc r5, r25 | |
7a6: b0 f4 brcc .+44 ; 0x7d4 <vfprintf+0x1aa> | |
7a8: b7 01 movw r22, r14 | |
7aa: 80 e2 ldi r24, 0x20 ; 32 | |
7ac: 90 e0 ldi r25, 0x00 ; 0 | |
7ae: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
7b2: 3a 94 dec r3 | |
7b4: f4 cf rjmp .-24 ; 0x79e <vfprintf+0x174> | |
7b6: f5 01 movw r30, r10 | |
7b8: 27 fc sbrc r2, 7 | |
7ba: 85 91 lpm r24, Z+ | |
7bc: 27 fe sbrs r2, 7 | |
7be: 81 91 ld r24, Z+ | |
7c0: 5f 01 movw r10, r30 | |
7c2: b7 01 movw r22, r14 | |
7c4: 90 e0 ldi r25, 0x00 ; 0 | |
7c6: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
7ca: 31 10 cpse r3, r1 | |
7cc: 3a 94 dec r3 | |
7ce: f1 e0 ldi r31, 0x01 ; 1 | |
7d0: 4f 1a sub r4, r31 | |
7d2: 51 08 sbc r5, r1 | |
7d4: 41 14 cp r4, r1 | |
7d6: 51 04 cpc r5, r1 | |
7d8: 71 f7 brne .-36 ; 0x7b6 <vfprintf+0x18c> | |
7da: e5 c0 rjmp .+458 ; 0x9a6 <__stack+0xa7> | |
7dc: 84 36 cpi r24, 0x64 ; 100 | |
7de: 11 f0 breq .+4 ; 0x7e4 <vfprintf+0x1ba> | |
7e0: 89 36 cpi r24, 0x69 ; 105 | |
7e2: 39 f5 brne .+78 ; 0x832 <vfprintf+0x208> | |
7e4: f8 01 movw r30, r16 | |
7e6: 27 ff sbrs r18, 7 | |
7e8: 07 c0 rjmp .+14 ; 0x7f8 <vfprintf+0x1ce> | |
7ea: 60 81 ld r22, Z | |
7ec: 71 81 ldd r23, Z+1 ; 0x01 | |
7ee: 82 81 ldd r24, Z+2 ; 0x02 | |
7f0: 93 81 ldd r25, Z+3 ; 0x03 | |
7f2: 0c 5f subi r16, 0xFC ; 252 | |
7f4: 1f 4f sbci r17, 0xFF ; 255 | |
7f6: 08 c0 rjmp .+16 ; 0x808 <vfprintf+0x1de> | |
7f8: 60 81 ld r22, Z | |
7fa: 71 81 ldd r23, Z+1 ; 0x01 | |
7fc: 88 27 eor r24, r24 | |
7fe: 77 fd sbrc r23, 7 | |
800: 80 95 com r24 | |
802: 98 2f mov r25, r24 | |
804: 0e 5f subi r16, 0xFE ; 254 | |
806: 1f 4f sbci r17, 0xFF ; 255 | |
808: 2f 76 andi r18, 0x6F ; 111 | |
80a: b2 2e mov r11, r18 | |
80c: 97 ff sbrs r25, 7 | |
80e: 09 c0 rjmp .+18 ; 0x822 <vfprintf+0x1f8> | |
810: 90 95 com r25 | |
812: 80 95 com r24 | |
814: 70 95 com r23 | |
816: 61 95 neg r22 | |
818: 7f 4f sbci r23, 0xFF ; 255 | |
81a: 8f 4f sbci r24, 0xFF ; 255 | |
81c: 9f 4f sbci r25, 0xFF ; 255 | |
81e: 20 68 ori r18, 0x80 ; 128 | |
820: b2 2e mov r11, r18 | |
822: 2a e0 ldi r18, 0x0A ; 10 | |
824: 30 e0 ldi r19, 0x00 ; 0 | |
826: a4 01 movw r20, r8 | |
828: 0e 94 2f 05 call 0xa5e ; 0xa5e <__ultoa_invert> | |
82c: a8 2e mov r10, r24 | |
82e: a8 18 sub r10, r8 | |
830: 44 c0 rjmp .+136 ; 0x8ba <vfprintf+0x290> | |
832: 85 37 cpi r24, 0x75 ; 117 | |
834: 29 f4 brne .+10 ; 0x840 <vfprintf+0x216> | |
836: 2f 7e andi r18, 0xEF ; 239 | |
838: b2 2e mov r11, r18 | |
83a: 2a e0 ldi r18, 0x0A ; 10 | |
83c: 30 e0 ldi r19, 0x00 ; 0 | |
83e: 25 c0 rjmp .+74 ; 0x88a <vfprintf+0x260> | |
840: f2 2f mov r31, r18 | |
842: f9 7f andi r31, 0xF9 ; 249 | |
844: bf 2e mov r11, r31 | |
846: 8f 36 cpi r24, 0x6F ; 111 | |
848: c1 f0 breq .+48 ; 0x87a <vfprintf+0x250> | |
84a: 18 f4 brcc .+6 ; 0x852 <vfprintf+0x228> | |
84c: 88 35 cpi r24, 0x58 ; 88 | |
84e: 79 f0 breq .+30 ; 0x86e <vfprintf+0x244> | |
850: b4 c0 rjmp .+360 ; 0x9ba <__stack+0xbb> | |
852: 80 37 cpi r24, 0x70 ; 112 | |
854: 19 f0 breq .+6 ; 0x85c <vfprintf+0x232> | |
856: 88 37 cpi r24, 0x78 ; 120 | |
858: 21 f0 breq .+8 ; 0x862 <vfprintf+0x238> | |
85a: af c0 rjmp .+350 ; 0x9ba <__stack+0xbb> | |
85c: 2f 2f mov r18, r31 | |
85e: 20 61 ori r18, 0x10 ; 16 | |
860: b2 2e mov r11, r18 | |
862: b4 fe sbrs r11, 4 | |
864: 0d c0 rjmp .+26 ; 0x880 <vfprintf+0x256> | |
866: 8b 2d mov r24, r11 | |
868: 84 60 ori r24, 0x04 ; 4 | |
86a: b8 2e mov r11, r24 | |
86c: 09 c0 rjmp .+18 ; 0x880 <vfprintf+0x256> | |
86e: 24 ff sbrs r18, 4 | |
870: 0a c0 rjmp .+20 ; 0x886 <vfprintf+0x25c> | |
872: 9f 2f mov r25, r31 | |
874: 96 60 ori r25, 0x06 ; 6 | |
876: b9 2e mov r11, r25 | |
878: 06 c0 rjmp .+12 ; 0x886 <vfprintf+0x25c> | |
87a: 28 e0 ldi r18, 0x08 ; 8 | |
87c: 30 e0 ldi r19, 0x00 ; 0 | |
87e: 05 c0 rjmp .+10 ; 0x88a <vfprintf+0x260> | |
880: 20 e1 ldi r18, 0x10 ; 16 | |
882: 30 e0 ldi r19, 0x00 ; 0 | |
884: 02 c0 rjmp .+4 ; 0x88a <vfprintf+0x260> | |
886: 20 e1 ldi r18, 0x10 ; 16 | |
888: 32 e0 ldi r19, 0x02 ; 2 | |
88a: f8 01 movw r30, r16 | |
88c: b7 fe sbrs r11, 7 | |
88e: 07 c0 rjmp .+14 ; 0x89e <vfprintf+0x274> | |
890: 60 81 ld r22, Z | |
892: 71 81 ldd r23, Z+1 ; 0x01 | |
894: 82 81 ldd r24, Z+2 ; 0x02 | |
896: 93 81 ldd r25, Z+3 ; 0x03 | |
898: 0c 5f subi r16, 0xFC ; 252 | |
89a: 1f 4f sbci r17, 0xFF ; 255 | |
89c: 06 c0 rjmp .+12 ; 0x8aa <vfprintf+0x280> | |
89e: 60 81 ld r22, Z | |
8a0: 71 81 ldd r23, Z+1 ; 0x01 | |
8a2: 80 e0 ldi r24, 0x00 ; 0 | |
8a4: 90 e0 ldi r25, 0x00 ; 0 | |
8a6: 0e 5f subi r16, 0xFE ; 254 | |
8a8: 1f 4f sbci r17, 0xFF ; 255 | |
8aa: a4 01 movw r20, r8 | |
8ac: 0e 94 2f 05 call 0xa5e ; 0xa5e <__ultoa_invert> | |
8b0: a8 2e mov r10, r24 | |
8b2: a8 18 sub r10, r8 | |
8b4: fb 2d mov r31, r11 | |
8b6: ff 77 andi r31, 0x7F ; 127 | |
8b8: bf 2e mov r11, r31 | |
8ba: b6 fe sbrs r11, 6 | |
8bc: 0b c0 rjmp .+22 ; 0x8d4 <vfprintf+0x2aa> | |
8be: 2b 2d mov r18, r11 | |
8c0: 2e 7f andi r18, 0xFE ; 254 | |
8c2: a5 14 cp r10, r5 | |
8c4: 50 f4 brcc .+20 ; 0x8da <vfprintf+0x2b0> | |
8c6: b4 fe sbrs r11, 4 | |
8c8: 0a c0 rjmp .+20 ; 0x8de <vfprintf+0x2b4> | |
8ca: b2 fc sbrc r11, 2 | |
8cc: 08 c0 rjmp .+16 ; 0x8de <vfprintf+0x2b4> | |
8ce: 2b 2d mov r18, r11 | |
8d0: 2e 7e andi r18, 0xEE ; 238 | |
8d2: 05 c0 rjmp .+10 ; 0x8de <vfprintf+0x2b4> | |
8d4: 7a 2c mov r7, r10 | |
8d6: 2b 2d mov r18, r11 | |
8d8: 03 c0 rjmp .+6 ; 0x8e0 <vfprintf+0x2b6> | |
8da: 7a 2c mov r7, r10 | |
8dc: 01 c0 rjmp .+2 ; 0x8e0 <vfprintf+0x2b6> | |
8de: 75 2c mov r7, r5 | |
8e0: 24 ff sbrs r18, 4 | |
8e2: 0d c0 rjmp .+26 ; 0x8fe <vfprintf+0x2d4> | |
8e4: fe 01 movw r30, r28 | |
8e6: ea 0d add r30, r10 | |
8e8: f1 1d adc r31, r1 | |
8ea: 80 81 ld r24, Z | |
8ec: 80 33 cpi r24, 0x30 ; 48 | |
8ee: 11 f4 brne .+4 ; 0x8f4 <vfprintf+0x2ca> | |
8f0: 29 7e andi r18, 0xE9 ; 233 | |
8f2: 09 c0 rjmp .+18 ; 0x906 <__stack+0x7> | |
8f4: 22 ff sbrs r18, 2 | |
8f6: 06 c0 rjmp .+12 ; 0x904 <__stack+0x5> | |
8f8: 73 94 inc r7 | |
8fa: 73 94 inc r7 | |
8fc: 04 c0 rjmp .+8 ; 0x906 <__stack+0x7> | |
8fe: 82 2f mov r24, r18 | |
900: 86 78 andi r24, 0x86 ; 134 | |
902: 09 f0 breq .+2 ; 0x906 <__stack+0x7> | |
904: 73 94 inc r7 | |
906: 23 fd sbrc r18, 3 | |
908: 13 c0 rjmp .+38 ; 0x930 <__stack+0x31> | |
90a: 20 ff sbrs r18, 0 | |
90c: 06 c0 rjmp .+12 ; 0x91a <__stack+0x1b> | |
90e: 5a 2c mov r5, r10 | |
910: 73 14 cp r7, r3 | |
912: 18 f4 brcc .+6 ; 0x91a <__stack+0x1b> | |
914: 53 0c add r5, r3 | |
916: 57 18 sub r5, r7 | |
918: 73 2c mov r7, r3 | |
91a: 73 14 cp r7, r3 | |
91c: 68 f4 brcc .+26 ; 0x938 <__stack+0x39> | |
91e: b7 01 movw r22, r14 | |
920: 80 e2 ldi r24, 0x20 ; 32 | |
922: 90 e0 ldi r25, 0x00 ; 0 | |
924: 2c 87 std Y+12, r18 ; 0x0c | |
926: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
92a: 73 94 inc r7 | |
92c: 2c 85 ldd r18, Y+12 ; 0x0c | |
92e: f5 cf rjmp .-22 ; 0x91a <__stack+0x1b> | |
930: 73 14 cp r7, r3 | |
932: 10 f4 brcc .+4 ; 0x938 <__stack+0x39> | |
934: 37 18 sub r3, r7 | |
936: 01 c0 rjmp .+2 ; 0x93a <__stack+0x3b> | |
938: 31 2c mov r3, r1 | |
93a: 24 ff sbrs r18, 4 | |
93c: 12 c0 rjmp .+36 ; 0x962 <__stack+0x63> | |
93e: b7 01 movw r22, r14 | |
940: 80 e3 ldi r24, 0x30 ; 48 | |
942: 90 e0 ldi r25, 0x00 ; 0 | |
944: 2c 87 std Y+12, r18 ; 0x0c | |
946: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
94a: 2c 85 ldd r18, Y+12 ; 0x0c | |
94c: 22 ff sbrs r18, 2 | |
94e: 17 c0 rjmp .+46 ; 0x97e <__stack+0x7f> | |
950: 21 ff sbrs r18, 1 | |
952: 03 c0 rjmp .+6 ; 0x95a <__stack+0x5b> | |
954: 88 e5 ldi r24, 0x58 ; 88 | |
956: 90 e0 ldi r25, 0x00 ; 0 | |
958: 02 c0 rjmp .+4 ; 0x95e <__stack+0x5f> | |
95a: 88 e7 ldi r24, 0x78 ; 120 | |
95c: 90 e0 ldi r25, 0x00 ; 0 | |
95e: b7 01 movw r22, r14 | |
960: 0c c0 rjmp .+24 ; 0x97a <__stack+0x7b> | |
962: 82 2f mov r24, r18 | |
964: 86 78 andi r24, 0x86 ; 134 | |
966: 59 f0 breq .+22 ; 0x97e <__stack+0x7f> | |
968: 21 fd sbrc r18, 1 | |
96a: 02 c0 rjmp .+4 ; 0x970 <__stack+0x71> | |
96c: 80 e2 ldi r24, 0x20 ; 32 | |
96e: 01 c0 rjmp .+2 ; 0x972 <__stack+0x73> | |
970: 8b e2 ldi r24, 0x2B ; 43 | |
972: 27 fd sbrc r18, 7 | |
974: 8d e2 ldi r24, 0x2D ; 45 | |
976: b7 01 movw r22, r14 | |
978: 90 e0 ldi r25, 0x00 ; 0 | |
97a: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
97e: a5 14 cp r10, r5 | |
980: 38 f4 brcc .+14 ; 0x990 <__stack+0x91> | |
982: b7 01 movw r22, r14 | |
984: 80 e3 ldi r24, 0x30 ; 48 | |
986: 90 e0 ldi r25, 0x00 ; 0 | |
988: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
98c: 5a 94 dec r5 | |
98e: f7 cf rjmp .-18 ; 0x97e <__stack+0x7f> | |
990: aa 94 dec r10 | |
992: f4 01 movw r30, r8 | |
994: ea 0d add r30, r10 | |
996: f1 1d adc r31, r1 | |
998: 80 81 ld r24, Z | |
99a: b7 01 movw r22, r14 | |
99c: 90 e0 ldi r25, 0x00 ; 0 | |
99e: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
9a2: a1 10 cpse r10, r1 | |
9a4: f5 cf rjmp .-22 ; 0x990 <__stack+0x91> | |
9a6: 33 20 and r3, r3 | |
9a8: 09 f4 brne .+2 ; 0x9ac <__stack+0xad> | |
9aa: 51 ce rjmp .-862 ; 0x64e <vfprintf+0x24> | |
9ac: b7 01 movw r22, r14 | |
9ae: 80 e2 ldi r24, 0x20 ; 32 | |
9b0: 90 e0 ldi r25, 0x00 ; 0 | |
9b2: 0e 94 fd 04 call 0x9fa ; 0x9fa <fputc> | |
9b6: 3a 94 dec r3 | |
9b8: f6 cf rjmp .-20 ; 0x9a6 <__stack+0xa7> | |
9ba: f7 01 movw r30, r14 | |
9bc: 86 81 ldd r24, Z+6 ; 0x06 | |
9be: 97 81 ldd r25, Z+7 ; 0x07 | |
9c0: 02 c0 rjmp .+4 ; 0x9c6 <__stack+0xc7> | |
9c2: 8f ef ldi r24, 0xFF ; 255 | |
9c4: 9f ef ldi r25, 0xFF ; 255 | |
9c6: 2c 96 adiw r28, 0x0c ; 12 | |
9c8: e2 e1 ldi r30, 0x12 ; 18 | |
9ca: 0c 94 a9 05 jmp 0xb52 ; 0xb52 <__epilogue_restores__> | |
000009ce <strnlen_P>: | |
9ce: fc 01 movw r30, r24 | |
9d0: 05 90 lpm r0, Z+ | |
9d2: 61 50 subi r22, 0x01 ; 1 | |
9d4: 70 40 sbci r23, 0x00 ; 0 | |
9d6: 01 10 cpse r0, r1 | |
9d8: d8 f7 brcc .-10 ; 0x9d0 <strnlen_P+0x2> | |
9da: 80 95 com r24 | |
9dc: 90 95 com r25 | |
9de: 8e 0f add r24, r30 | |
9e0: 9f 1f adc r25, r31 | |
9e2: 08 95 ret | |
000009e4 <strnlen>: | |
9e4: fc 01 movw r30, r24 | |
9e6: 61 50 subi r22, 0x01 ; 1 | |
9e8: 70 40 sbci r23, 0x00 ; 0 | |
9ea: 01 90 ld r0, Z+ | |
9ec: 01 10 cpse r0, r1 | |
9ee: d8 f7 brcc .-10 ; 0x9e6 <strnlen+0x2> | |
9f0: 80 95 com r24 | |
9f2: 90 95 com r25 | |
9f4: 8e 0f add r24, r30 | |
9f6: 9f 1f adc r25, r31 | |
9f8: 08 95 ret | |
000009fa <fputc>: | |
9fa: 0f 93 push r16 | |
9fc: 1f 93 push r17 | |
9fe: cf 93 push r28 | |
a00: df 93 push r29 | |
a02: 18 2f mov r17, r24 | |
a04: 09 2f mov r16, r25 | |
a06: eb 01 movw r28, r22 | |
a08: 8b 81 ldd r24, Y+3 ; 0x03 | |
a0a: 81 fd sbrc r24, 1 | |
a0c: 03 c0 rjmp .+6 ; 0xa14 <fputc+0x1a> | |
a0e: 8f ef ldi r24, 0xFF ; 255 | |
a10: 9f ef ldi r25, 0xFF ; 255 | |
a12: 20 c0 rjmp .+64 ; 0xa54 <fputc+0x5a> | |
a14: 82 ff sbrs r24, 2 | |
a16: 10 c0 rjmp .+32 ; 0xa38 <fputc+0x3e> | |
a18: 4e 81 ldd r20, Y+6 ; 0x06 | |
a1a: 5f 81 ldd r21, Y+7 ; 0x07 | |
a1c: 2c 81 ldd r18, Y+4 ; 0x04 | |
a1e: 3d 81 ldd r19, Y+5 ; 0x05 | |
a20: 42 17 cp r20, r18 | |
a22: 53 07 cpc r21, r19 | |
a24: 7c f4 brge .+30 ; 0xa44 <fputc+0x4a> | |
a26: e8 81 ld r30, Y | |
a28: f9 81 ldd r31, Y+1 ; 0x01 | |
a2a: 9f 01 movw r18, r30 | |
a2c: 2f 5f subi r18, 0xFF ; 255 | |
a2e: 3f 4f sbci r19, 0xFF ; 255 | |
a30: 39 83 std Y+1, r19 ; 0x01 | |
a32: 28 83 st Y, r18 | |
a34: 10 83 st Z, r17 | |
a36: 06 c0 rjmp .+12 ; 0xa44 <fputc+0x4a> | |
a38: e8 85 ldd r30, Y+8 ; 0x08 | |
a3a: f9 85 ldd r31, Y+9 ; 0x09 | |
a3c: 81 2f mov r24, r17 | |
a3e: 09 95 icall | |
a40: 89 2b or r24, r25 | |
a42: 29 f7 brne .-54 ; 0xa0e <fputc+0x14> | |
a44: 2e 81 ldd r18, Y+6 ; 0x06 | |
a46: 3f 81 ldd r19, Y+7 ; 0x07 | |
a48: 2f 5f subi r18, 0xFF ; 255 | |
a4a: 3f 4f sbci r19, 0xFF ; 255 | |
a4c: 3f 83 std Y+7, r19 ; 0x07 | |
a4e: 2e 83 std Y+6, r18 ; 0x06 | |
a50: 81 2f mov r24, r17 | |
a52: 90 2f mov r25, r16 | |
a54: df 91 pop r29 | |
a56: cf 91 pop r28 | |
a58: 1f 91 pop r17 | |
a5a: 0f 91 pop r16 | |
a5c: 08 95 ret | |
00000a5e <__ultoa_invert>: | |
a5e: fa 01 movw r30, r20 | |
a60: aa 27 eor r26, r26 | |
a62: 28 30 cpi r18, 0x08 ; 8 | |
a64: 51 f1 breq .+84 ; 0xaba <__ultoa_invert+0x5c> | |
a66: 20 31 cpi r18, 0x10 ; 16 | |
a68: 81 f1 breq .+96 ; 0xaca <__ultoa_invert+0x6c> | |
a6a: e8 94 clt | |
a6c: 6f 93 push r22 | |
a6e: 6e 7f andi r22, 0xFE ; 254 | |
a70: 6e 5f subi r22, 0xFE ; 254 | |
a72: 7f 4f sbci r23, 0xFF ; 255 | |
a74: 8f 4f sbci r24, 0xFF ; 255 | |
a76: 9f 4f sbci r25, 0xFF ; 255 | |
a78: af 4f sbci r26, 0xFF ; 255 | |
a7a: b1 e0 ldi r27, 0x01 ; 1 | |
a7c: 3e d0 rcall .+124 ; 0xafa <__ultoa_invert+0x9c> | |
a7e: b4 e0 ldi r27, 0x04 ; 4 | |
a80: 3c d0 rcall .+120 ; 0xafa <__ultoa_invert+0x9c> | |
a82: 67 0f add r22, r23 | |
a84: 78 1f adc r23, r24 | |
a86: 89 1f adc r24, r25 | |
a88: 9a 1f adc r25, r26 | |
a8a: a1 1d adc r26, r1 | |
a8c: 68 0f add r22, r24 | |
a8e: 79 1f adc r23, r25 | |
a90: 8a 1f adc r24, r26 | |
a92: 91 1d adc r25, r1 | |
a94: a1 1d adc r26, r1 | |
a96: 6a 0f add r22, r26 | |
a98: 71 1d adc r23, r1 | |
a9a: 81 1d adc r24, r1 | |
a9c: 91 1d adc r25, r1 | |
a9e: a1 1d adc r26, r1 | |
aa0: 20 d0 rcall .+64 ; 0xae2 <__ultoa_invert+0x84> | |
aa2: 09 f4 brne .+2 ; 0xaa6 <__ultoa_invert+0x48> | |
aa4: 68 94 set | |
aa6: 3f 91 pop r19 | |
aa8: 2a e0 ldi r18, 0x0A ; 10 | |
aaa: 26 9f mul r18, r22 | |
aac: 11 24 eor r1, r1 | |
aae: 30 19 sub r19, r0 | |
ab0: 30 5d subi r19, 0xD0 ; 208 | |
ab2: 31 93 st Z+, r19 | |
ab4: de f6 brtc .-74 ; 0xa6c <__ultoa_invert+0xe> | |
ab6: cf 01 movw r24, r30 | |
ab8: 08 95 ret | |
aba: 46 2f mov r20, r22 | |
abc: 47 70 andi r20, 0x07 ; 7 | |
abe: 40 5d subi r20, 0xD0 ; 208 | |
ac0: 41 93 st Z+, r20 | |
ac2: b3 e0 ldi r27, 0x03 ; 3 | |
ac4: 0f d0 rcall .+30 ; 0xae4 <__ultoa_invert+0x86> | |
ac6: c9 f7 brne .-14 ; 0xaba <__ultoa_invert+0x5c> | |
ac8: f6 cf rjmp .-20 ; 0xab6 <__ultoa_invert+0x58> | |
aca: 46 2f mov r20, r22 | |
acc: 4f 70 andi r20, 0x0F ; 15 | |
ace: 40 5d subi r20, 0xD0 ; 208 | |
ad0: 4a 33 cpi r20, 0x3A ; 58 | |
ad2: 18 f0 brcs .+6 ; 0xada <__ultoa_invert+0x7c> | |
ad4: 49 5d subi r20, 0xD9 ; 217 | |
ad6: 31 fd sbrc r19, 1 | |
ad8: 40 52 subi r20, 0x20 ; 32 | |
ada: 41 93 st Z+, r20 | |
adc: 02 d0 rcall .+4 ; 0xae2 <__ultoa_invert+0x84> | |
ade: a9 f7 brne .-22 ; 0xaca <__ultoa_invert+0x6c> | |
ae0: ea cf rjmp .-44 ; 0xab6 <__ultoa_invert+0x58> | |
ae2: b4 e0 ldi r27, 0x04 ; 4 | |
ae4: a6 95 lsr r26 | |
ae6: 97 95 ror r25 | |
ae8: 87 95 ror r24 | |
aea: 77 95 ror r23 | |
aec: 67 95 ror r22 | |
aee: ba 95 dec r27 | |
af0: c9 f7 brne .-14 ; 0xae4 <__ultoa_invert+0x86> | |
af2: 00 97 sbiw r24, 0x00 ; 0 | |
af4: 61 05 cpc r22, r1 | |
af6: 71 05 cpc r23, r1 | |
af8: 08 95 ret | |
afa: 9b 01 movw r18, r22 | |
afc: ac 01 movw r20, r24 | |
afe: 0a 2e mov r0, r26 | |
b00: 06 94 lsr r0 | |
b02: 57 95 ror r21 | |
b04: 47 95 ror r20 | |
b06: 37 95 ror r19 | |
b08: 27 95 ror r18 | |
b0a: ba 95 dec r27 | |
b0c: c9 f7 brne .-14 ; 0xb00 <__ultoa_invert+0xa2> | |
b0e: 62 0f add r22, r18 | |
b10: 73 1f adc r23, r19 | |
b12: 84 1f adc r24, r20 | |
b14: 95 1f adc r25, r21 | |
b16: a0 1d adc r26, r0 | |
b18: 08 95 ret | |
00000b1a <__prologue_saves__>: | |
b1a: 2f 92 push r2 | |
b1c: 3f 92 push r3 | |
b1e: 4f 92 push r4 | |
b20: 5f 92 push r5 | |
b22: 6f 92 push r6 | |
b24: 7f 92 push r7 | |
b26: 8f 92 push r8 | |
b28: 9f 92 push r9 | |
b2a: af 92 push r10 | |
b2c: bf 92 push r11 | |
b2e: cf 92 push r12 | |
b30: df 92 push r13 | |
b32: ef 92 push r14 | |
b34: ff 92 push r15 | |
b36: 0f 93 push r16 | |
b38: 1f 93 push r17 | |
b3a: cf 93 push r28 | |
b3c: df 93 push r29 | |
b3e: cd b7 in r28, 0x3d ; 61 | |
b40: de b7 in r29, 0x3e ; 62 | |
b42: ca 1b sub r28, r26 | |
b44: db 0b sbc r29, r27 | |
b46: 0f b6 in r0, 0x3f ; 63 | |
b48: f8 94 cli | |
b4a: de bf out 0x3e, r29 ; 62 | |
b4c: 0f be out 0x3f, r0 ; 63 | |
b4e: cd bf out 0x3d, r28 ; 61 | |
b50: 09 94 ijmp | |
00000b52 <__epilogue_restores__>: | |
b52: 2a 88 ldd r2, Y+18 ; 0x12 | |
b54: 39 88 ldd r3, Y+17 ; 0x11 | |
b56: 48 88 ldd r4, Y+16 ; 0x10 | |
b58: 5f 84 ldd r5, Y+15 ; 0x0f | |
b5a: 6e 84 ldd r6, Y+14 ; 0x0e | |
b5c: 7d 84 ldd r7, Y+13 ; 0x0d | |
b5e: 8c 84 ldd r8, Y+12 ; 0x0c | |
b60: 9b 84 ldd r9, Y+11 ; 0x0b | |
b62: aa 84 ldd r10, Y+10 ; 0x0a | |
b64: b9 84 ldd r11, Y+9 ; 0x09 | |
b66: c8 84 ldd r12, Y+8 ; 0x08 | |
b68: df 80 ldd r13, Y+7 ; 0x07 | |
b6a: ee 80 ldd r14, Y+6 ; 0x06 | |
b6c: fd 80 ldd r15, Y+5 ; 0x05 | |
b6e: 0c 81 ldd r16, Y+4 ; 0x04 | |
b70: 1b 81 ldd r17, Y+3 ; 0x03 | |
b72: aa 81 ldd r26, Y+2 ; 0x02 | |
b74: b9 81 ldd r27, Y+1 ; 0x01 | |
b76: ce 0f add r28, r30 | |
b78: d1 1d adc r29, r1 | |
b7a: 0f b6 in r0, 0x3f ; 63 | |
b7c: f8 94 cli | |
b7e: de bf out 0x3e, r29 ; 62 | |
b80: 0f be out 0x3f, r0 ; 63 | |
b82: cd bf out 0x3d, r28 ; 61 | |
b84: ed 01 movw r28, r26 | |
b86: 08 95 ret | |
00000b88 <_exit>: | |
b88: f8 94 cli | |
00000b8a <__stop_program>: | |
b8a: ff cf rjmp .-2 ; 0xb8a <__stop_program> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Archive member included because of file (symbol) | |
/usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o (exit) | |
/usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
DATS/main_dats.o (__do_copy_data) | |
/usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
DATS/lcd_dats.o (__do_clear_bss) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) | |
DATS/main_dats.o (fprintf) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
DATS/main_dats.o (__iob) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) (vfprintf) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen_P.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) (strnlen_P) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) (strnlen) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fputc.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) (fputc) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(ultoa_invert.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) (__ultoa_invert) | |
/usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) (__prologue_saves__) | |
/usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
/usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) (__epilogue_restores__) | |
Allocating common symbols | |
Common symbol size file | |
__iob 0x6 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
Memory Configuration | |
Name Origin Length Attributes | |
text 0x0000000000000000 0x0000000000020000 xr | |
data 0x0000000000800060 0x000000000000ffa0 rw !x | |
eeprom 0x0000000000810000 0x0000000000010000 rw !x | |
fuse 0x0000000000820000 0x0000000000000400 rw !x | |
lock 0x0000000000830000 0x0000000000000400 rw !x | |
signature 0x0000000000840000 0x0000000000000400 rw !x | |
user_signatures 0x0000000000850000 0x0000000000000400 rw !x | |
*default* 0x0000000000000000 0xffffffffffffffff | |
Linker script and memory map | |
Address of section .data set to 0x800100 | |
LOAD /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
LOAD wiring_digital.o | |
LOAD DATS/lcd_dats.o | |
LOAD DATS/main_dats.o | |
START GROUP | |
LOAD /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a | |
LOAD /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libm.a | |
LOAD /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a | |
END GROUP | |
.hash | |
*(.hash) | |
.dynsym | |
*(.dynsym) | |
.dynstr | |
*(.dynstr) | |
.gnu.version | |
*(.gnu.version) | |
.gnu.version_d | |
*(.gnu.version_d) | |
.gnu.version_r | |
*(.gnu.version_r) | |
.rel.init | |
*(.rel.init) | |
.rela.init | |
*(.rela.init) | |
.rel.text | |
*(.rel.text) | |
*(.rel.text.*) | |
*(.rel.gnu.linkonce.t*) | |
.rela.text | |
*(.rela.text) | |
*(.rela.text.*) | |
*(.rela.gnu.linkonce.t*) | |
.rel.fini | |
*(.rel.fini) | |
.rela.fini | |
*(.rela.fini) | |
.rel.rodata | |
*(.rel.rodata) | |
*(.rel.rodata.*) | |
*(.rel.gnu.linkonce.r*) | |
.rela.rodata | |
*(.rela.rodata) | |
*(.rela.rodata.*) | |
*(.rela.gnu.linkonce.r*) | |
.rel.data | |
*(.rel.data) | |
*(.rel.data.*) | |
*(.rel.gnu.linkonce.d*) | |
.rela.data | |
*(.rela.data) | |
*(.rela.data.*) | |
*(.rela.gnu.linkonce.d*) | |
.rel.ctors | |
*(.rel.ctors) | |
.rela.ctors | |
*(.rela.ctors) | |
.rel.dtors | |
*(.rel.dtors) | |
.rela.dtors | |
*(.rela.dtors) | |
.rel.got | |
*(.rel.got) | |
.rela.got | |
*(.rela.got) | |
.rel.bss | |
*(.rel.bss) | |
.rela.bss | |
*(.rela.bss) | |
.rel.plt | |
*(.rel.plt) | |
.rela.plt | |
*(.rela.plt) | |
.text 0x0000000000000000 0xb8c | |
*(.vectors) | |
.vectors 0x0000000000000000 0x68 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
0x0000000000000000 __vectors | |
0x0000000000000000 __vector_default | |
*(.vectors) | |
*(.progmem.gcc*) | |
0x0000000000000068 . = ALIGN (0x2) | |
0x0000000000000068 __trampolines_start = . | |
*(.trampolines) | |
.trampolines 0x0000000000000068 0x0 linker stubs | |
*(.trampolines*) | |
0x0000000000000068 __trampolines_end = . | |
*(.progmem*) | |
.progmem.data 0x0000000000000068 0x5a wiring_digital.o | |
0x0000000000000068 digital_pin_to_timer_PGM | |
0x000000000000007c digital_pin_to_bit_mask_PGM | |
0x0000000000000090 digital_pin_to_port_PGM | |
0x00000000000000a4 port_to_input_PGM | |
0x00000000000000ae port_to_output_PGM | |
0x00000000000000b8 port_to_mode_PGM | |
0x00000000000000c2 . = ALIGN (0x2) | |
*(.jumptables) | |
*(.jumptables*) | |
*(.lowtext) | |
*(.lowtext*) | |
0x00000000000000c2 __ctors_start = . | |
*(.ctors) | |
0x00000000000000c2 __ctors_end = . | |
0x00000000000000c2 __dtors_start = . | |
*(.dtors) | |
0x00000000000000c2 __dtors_end = . | |
SORT(*)(.ctors) | |
SORT(*)(.dtors) | |
*(.init0) | |
.init0 0x00000000000000c2 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
0x00000000000000c2 __init | |
*(.init0) | |
*(.init1) | |
*(.init1) | |
*(.init2) | |
.init2 0x00000000000000c2 0xc /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
*(.init2) | |
*(.init3) | |
*(.init3) | |
*(.init4) | |
.init4 0x00000000000000ce 0x16 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
0x00000000000000ce __do_copy_data | |
.init4 0x00000000000000e4 0x10 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
0x00000000000000e4 __do_clear_bss | |
*(.init4) | |
*(.init5) | |
*(.init5) | |
*(.init6) | |
*(.init6) | |
*(.init7) | |
*(.init7) | |
*(.init8) | |
*(.init8) | |
*(.init9) | |
.init9 0x00000000000000f4 0x8 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
*(.init9) | |
*(.text) | |
.text 0x00000000000000fc 0x4 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
0x00000000000000fc __vector_22 | |
0x00000000000000fc __vector_1 | |
0x00000000000000fc __vector_24 | |
0x00000000000000fc __vector_12 | |
0x00000000000000fc __bad_interrupt | |
0x00000000000000fc __vector_6 | |
0x00000000000000fc __vector_3 | |
0x00000000000000fc __vector_23 | |
0x00000000000000fc __vector_25 | |
0x00000000000000fc __vector_11 | |
0x00000000000000fc __vector_13 | |
0x00000000000000fc __vector_17 | |
0x00000000000000fc __vector_19 | |
0x00000000000000fc __vector_7 | |
0x00000000000000fc __vector_5 | |
0x00000000000000fc __vector_4 | |
0x00000000000000fc __vector_9 | |
0x00000000000000fc __vector_2 | |
0x00000000000000fc __vector_21 | |
0x00000000000000fc __vector_15 | |
0x00000000000000fc __vector_8 | |
0x00000000000000fc __vector_14 | |
0x00000000000000fc __vector_10 | |
0x00000000000000fc __vector_16 | |
0x00000000000000fc __vector_18 | |
0x00000000000000fc __vector_20 | |
.text 0x0000000000000100 0x17a wiring_digital.o | |
0x0000000000000152 pinMode | |
0x00000000000001c4 digitalWrite | |
0x0000000000000230 digitalRead | |
.text 0x000000000000027a 0x294 DATS/lcd_dats.o | |
0x000000000000027a _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_close | |
0x000000000000027c _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_pulseEnable | |
0x00000000000002bc _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_write4bits | |
0x000000000000033c _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_send | |
0x0000000000000378 _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_write | |
0x000000000000037e _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_print | |
0x00000000000003b8 _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_command | |
0x00000000000003be _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_clear | |
0x00000000000003d2 _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_setCursor | |
0x00000000000003e6 _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_lcd_056_dats__lcd_display | |
0x00000000000003f2 _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_SATS_057_lcd_056_sats__lcd_open | |
.text 0x000000000000050e 0xf0 DATS/main_dats.o | |
0x000000000000050e mainats_void_0 | |
0x000000000000059c _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynload | |
0x00000000000005b6 atsruntime_handle_unmatchedval | |
0x00000000000005da atsruntime_handle_unmatchedarg | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen_P.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fputc.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(ultoa_invert.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text 0x00000000000005fe 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
0x00000000000005fe . = ALIGN (0x2) | |
*(.text.*) | |
.text.startup 0x00000000000005fe 0x8 DATS/main_dats.o | |
0x00000000000005fe main | |
.text.libgcc.mul | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc.div | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc 0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc.prologue | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc.builtins | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc.fmul | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc.fixed | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.text.libgcc.mul | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc.div | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc 0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc.prologue | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc.builtins | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc.fmul | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc.fixed | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.text.libgcc.mul | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.libgcc.div | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.libgcc 0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.libgcc.prologue | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.libgcc.builtins | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.libgcc.fmul | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.libgcc.fixed | |
0x0000000000000606 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.text.avr-libc | |
0x0000000000000606 0x24 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) | |
0x0000000000000606 fprintf | |
.text.avr-libc | |
0x000000000000062a 0x3a4 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) | |
0x000000000000062a vfprintf | |
.text.avr-libc | |
0x00000000000009ce 0x16 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen_P.o) | |
0x00000000000009ce strnlen_P | |
.text.avr-libc | |
0x00000000000009e4 0x16 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen.o) | |
0x00000000000009e4 strnlen | |
.text.avr-libc | |
0x00000000000009fa 0x64 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fputc.o) | |
0x00000000000009fa fputc | |
.text.avr-libc | |
0x0000000000000a5e 0xbc /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(ultoa_invert.o) | |
0x0000000000000a5e __ultoa_invert | |
.text.libgcc.mul | |
0x0000000000000b1a 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text.libgcc.div | |
0x0000000000000b1a 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text.libgcc 0x0000000000000b1a 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text.libgcc.prologue | |
0x0000000000000b1a 0x38 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
0x0000000000000b1a __prologue_saves__ | |
.text.libgcc.builtins | |
0x0000000000000b52 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text.libgcc.fmul | |
0x0000000000000b52 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text.libgcc.fixed | |
0x0000000000000b52 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.text.libgcc.mul | |
0x0000000000000b52 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
.text.libgcc.div | |
0x0000000000000b52 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
.text.libgcc 0x0000000000000b52 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
.text.libgcc.prologue | |
0x0000000000000b52 0x36 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
0x0000000000000b52 __epilogue_restores__ | |
.text.libgcc.builtins | |
0x0000000000000b88 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
.text.libgcc.fmul | |
0x0000000000000b88 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
.text.libgcc.fixed | |
0x0000000000000b88 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
0x0000000000000b88 . = ALIGN (0x2) | |
*(.fini9) | |
.fini9 0x0000000000000b88 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
0x0000000000000b88 exit | |
0x0000000000000b88 _exit | |
*(.fini9) | |
*(.fini8) | |
*(.fini8) | |
*(.fini7) | |
*(.fini7) | |
*(.fini6) | |
*(.fini6) | |
*(.fini5) | |
*(.fini5) | |
*(.fini4) | |
*(.fini4) | |
*(.fini3) | |
*(.fini3) | |
*(.fini2) | |
*(.fini2) | |
*(.fini1) | |
*(.fini1) | |
*(.fini0) | |
.fini0 0x0000000000000b88 0x4 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
*(.fini0) | |
0x0000000000000b8c _etext = . | |
.data 0x0000000000800100 0x1c0 load address 0x0000000000000b8c | |
0x0000000000800100 PROVIDE (__data_start, .) | |
*(.data) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
.data 0x0000000000800100 0x0 wiring_digital.o | |
.data 0x0000000000800100 0x0 DATS/lcd_dats.o | |
.data 0x0000000000800100 0x0 DATS/main_dats.o | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen_P.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fputc.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(ultoa_invert.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
*(.data*) | |
*(.rodata) | |
*(.rodata*) | |
.rodata.str1.1 | |
0x0000000000800100 0x1bf DATS/main_dats.o | |
*(.gnu.linkonce.d*) | |
0x00000000008002c0 . = ALIGN (0x2) | |
*fill* 0x00000000008002bf 0x1 | |
0x00000000008002c0 _edata = . | |
0x00000000008002c0 PROVIDE (__data_end, .) | |
.bss 0x00000000008002c0 0x10 | |
0x00000000008002c0 PROVIDE (__bss_start, .) | |
*(.bss) | |
.bss 0x00000000008002c0 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/crtm328p.o | |
.bss 0x00000000008002c0 0x0 wiring_digital.o | |
.bss 0x00000000008002c0 0x8 DATS/lcd_dats.o | |
.bss 0x00000000008002c8 0x2 DATS/main_dats.o | |
0x00000000008002c8 _057_home_057_kiwamu_057_src_057_arduino_055_ats_057_demo_057_lcd_ats_057_DATS_057_main_056_dats__dynloadflag | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_exit.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_copy_data.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_clear_bss.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen_P.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(strnlen.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fputc.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(ultoa_invert.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_prologue.o) | |
.bss 0x00000000008002ca 0x0 /usr/lib/gcc/avr/4.8.1/avr5/libgcc.a(_epilogue.o) | |
*(.bss*) | |
*(COMMON) | |
COMMON 0x00000000008002ca 0x6 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
0x00000000008002ca __iob | |
0x00000000008002d0 PROVIDE (__bss_end, .) | |
0x0000000000000b8c __data_load_start = LOADADDR (.data) | |
0x0000000000000d4c __data_load_end = (__data_load_start + SIZEOF (.data)) | |
.noinit 0x00000000008002d0 0x0 | |
0x00000000008002d0 PROVIDE (__noinit_start, .) | |
*(.noinit*) | |
0x00000000008002d0 PROVIDE (__noinit_end, .) | |
0x00000000008002d0 _end = . | |
0x00000000008002d0 PROVIDE (__heap_start, .) | |
.eeprom 0x0000000000810000 0x0 | |
*(.eeprom*) | |
0x0000000000810000 __eeprom_end = . | |
.fuse | |
*(.fuse) | |
*(.lfuse) | |
*(.hfuse) | |
*(.efuse) | |
.lock | |
*(.lock*) | |
.signature | |
*(.signature*) | |
.user_signatures | |
*(.user_signatures*) | |
.stab 0x0000000000000000 0x26dc | |
*(.stab) | |
.stab 0x0000000000000000 0xbac wiring_digital.o | |
.stab 0x0000000000000bac 0x1470 DATS/lcd_dats.o | |
0x16b0 (size before relaxing) | |
.stab 0x000000000000201c 0x6c0 DATS/main_dats.o | |
0xc90 (size before relaxing) | |
.stabstr 0x0000000000000000 0x716d | |
*(.stabstr) | |
.stabstr 0x0000000000000000 0x716d wiring_digital.o | |
.stab.excl | |
*(.stab.excl) | |
.stab.exclstr | |
*(.stab.exclstr) | |
.stab.index | |
*(.stab.index) | |
.stab.indexstr | |
*(.stab.indexstr) | |
.comment 0x0000000000000000 0x11 | |
*(.comment) | |
.comment 0x0000000000000000 0x11 wiring_digital.o | |
0x12 (size before relaxing) | |
.comment 0x0000000000000000 0x12 DATS/lcd_dats.o | |
.comment 0x0000000000000000 0x12 DATS/main_dats.o | |
.comment 0x0000000000000000 0x12 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fprintf.o) | |
.comment 0x0000000000000000 0x12 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(iob.o) | |
.comment 0x0000000000000000 0x12 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(vfprintf_std.o) | |
.comment 0x0000000000000000 0x12 /usr/lib/gcc/avr/4.8.1/../../../avr/lib/avr5/libc.a(fputc.o) | |
.note.gnu.build-id | |
*(.note.gnu.build-id) | |
.debug | |
*(.debug) | |
.line | |
*(.line) | |
.debug_srcinfo | |
*(.debug_srcinfo) | |
.debug_sfnames | |
*(.debug_sfnames) | |
.debug_aranges | |
*(.debug_aranges) | |
.debug_pubnames | |
*(.debug_pubnames) | |
.debug_info | |
*(.debug_info .gnu.linkonce.wi.*) | |
.debug_abbrev | |
*(.debug_abbrev) | |
.debug_line | |
*(.debug_line .debug_line.* .debug_line_end) | |
.debug_frame | |
*(.debug_frame) | |
.debug_str | |
*(.debug_str) | |
.debug_loc | |
*(.debug_loc) | |
.debug_macinfo | |
*(.debug_macinfo) | |
.debug_weaknames | |
*(.debug_weaknames) | |
.debug_funcnames | |
*(.debug_funcnames) | |
.debug_typenames | |
*(.debug_typenames) | |
.debug_varnames | |
*(.debug_varnames) | |
.debug_pubtypes | |
*(.debug_pubtypes) | |
.debug_ranges | |
*(.debug_ranges) | |
.debug_macro | |
*(.debug_macro) | |
OUTPUT(main.elf elf32-avr) | |
LOAD linker stubs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
avr-gcc -g -Wall -Os -mmcu=atmega328p -DF_CPU=16000000UL -std=c99 -D_XOPEN_SOURCE -D_ATS_CCOMP_EXCEPTION_NONE -D_ATSTYPE_VAR_SIZE=0X000F -Wno-unused-variable -Wno-unused-label -Wno-unused-but-set-variable -I. -I/home/kiwamu/src/ATS-Postiats -I/home/kiwamu/src/ATS-Postiats/ccomp/runtime -I../../_arduino -I../../_dummy -c -o wiring_digital.o wiring_digital.c | |
patsopt -o DATS/lcd_dats.c -d DATS/lcd.dats | |
avr-gcc -g -Wall -Os -mmcu=atmega328p -DF_CPU=16000000UL -std=c99 -D_XOPEN_SOURCE -D_ATS_CCOMP_EXCEPTION_NONE -D_ATSTYPE_VAR_SIZE=0X000F -Wno-unused-variable -Wno-unused-label -Wno-unused-but-set-variable -I. -I/home/kiwamu/src/ATS-Postiats -I/home/kiwamu/src/ATS-Postiats/ccomp/runtime -I../../_arduino -I../../_dummy -c -o DATS/lcd_dats.o DATS/lcd_dats.c | |
patsopt -o DATS/main_dats.c -d DATS/main.dats | |
avr-gcc -g -Wall -Os -mmcu=atmega328p -DF_CPU=16000000UL -std=c99 -D_XOPEN_SOURCE -D_ATS_CCOMP_EXCEPTION_NONE -D_ATSTYPE_VAR_SIZE=0X000F -Wno-unused-variable -Wno-unused-label -Wno-unused-but-set-variable -I. -I/home/kiwamu/src/ATS-Postiats -I/home/kiwamu/src/ATS-Postiats/ccomp/runtime -I../../_arduino -I../../_dummy -c -o DATS/main_dats.o DATS/main_dats.c | |
avr-gcc -g -Wall -Os -mmcu=atmega328p -DF_CPU=16000000UL -std=c99 -D_XOPEN_SOURCE -D_ATS_CCOMP_EXCEPTION_NONE -D_ATSTYPE_VAR_SIZE=0X000F -Wno-unused-variable -Wno-unused-label -Wno-unused-but-set-variable -I. -I/home/kiwamu/src/ATS-Postiats -I/home/kiwamu/src/ATS-Postiats/ccomp/runtime -I../../_arduino -I../../_dummy -Wl,-Map,main.map -o main.elf wiring_digital.o DATS/lcd_dats.o DATS/main_dats.o | |
avr-objdump -h -S main.elf > main.lst | |
avr-objcopy -j .text -j .data -O ihex main.elf main.hex | |
avr-objcopy -j .text -j .data -O binary main.elf main.bin | |
avr-objcopy -j .text -j .data -O srec main.elf main.srec | |
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex main.elf main_eeprom.hex \ | |
|| { echo empty main_eeprom.hex not generated; exit 0; } | |
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary main.elf main_eeprom.bin \ | |
|| { echo empty main_eeprom.bin not generated; exit 0; } | |
avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O srec main.elf main_eeprom.srec \ | |
|| { echo empty main_eeprom.srec not generated; exit 0; } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment