This commit is contained in:
Sem van der Hoeven
2021-03-31 10:23:34 +02:00
123 changed files with 9369 additions and 9465 deletions

View File

@@ -0,0 +1,49 @@
lcd_control.d lcd_control.o: .././lcd_control.c \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\stdint.h \
C:/Program\ Files\ (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/include/avr/iom128.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\version.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\lock.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay_basic.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\math.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\interrupt.h \
.././lcd_control.h
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\stdint.h:
C:/Program\ Files\ (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/include/avr/iom128.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\version.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\lock.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay_basic.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\math.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\interrupt.h:
.././lcd_control.h:

Binary file not shown.

View File

@@ -0,0 +1,55 @@
main.d main.o: .././main.c \
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\xc.h \
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\cci.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\io.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\sfr_defs.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\inttypes.h \
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\stdint.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\stdint.h \
C:/Program\ Files\ (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/include/avr/iom128.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\portpins.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\common.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\version.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\fuse.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\lock.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay_basic.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\math.h \
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\interrupt.h \
.././lcd_control.h
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\xc.h:
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\cci.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\io.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\sfr_defs.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\inttypes.h:
c:\program\ files\microchip\xc8\v2.31\avr\lib\gcc\avr\5.4.0\include\stdint.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\stdint.h:
C:/Program\ Files\ (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/include/avr/iom128.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\portpins.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\common.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\version.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\fuse.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\lock.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\util\delay_basic.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\math.h:
c:\program\ files\microchip\xc8\v2.31\avr\avr\include\avr\interrupt.h:
.././lcd_control.h:

Binary file not shown.

View File

@@ -1 +0,0 @@
:00000001FF

Binary file not shown.

View File

@@ -0,0 +1,40 @@
:100000000C9446000C940E010C940E010C940E01FD
:100010000C940E010C940E010C940E010C940E0124
:100020000C940E010C940E010C940E010C940E0114
:100030000C940E010C940E010C940E010C940E0104
:100040000C940E010C940E010C940E010C940E01F4
:100050000C940E010C940E010C940E010C940E01E4
:100060000C940E010C940E010C940E010C940E01D4
:100070000C940E010C940E010C940E010C940E01C4
:100080000C940E010C940E010C940E0111241FBE51
:10009000CFEFD0E1DEBFCDBF0E94D3000C94500063
:0400A000F894FFCF02
:0A00A40050696E74656261617300BB
:1000AE00CF938FEF84BB85BB81BB8ABB15BA1BBABE
:1000BE00C0E2C5BB0E949600C5BB0E94960080E8B8
:1000CE0085BB0E94960015BA0E94960080EF85BBF4
:1000DE000E94960015BA0E94960080E685BB0E948B
:1000EE00960082E00E94BF000E949600CF91089574
:1000FE00CF92DF92EF926B01E82E07C0862F0E94FF
:10010E00AB008FEFC81AD80AE80AF6015E2D0E94DE
:0E011E0007016111F3CFEF90DF90CF900895AD
:10012C0086E090E00E94FC0083EC99E00197F1F7E7
:10013C0000C0000086E090E00E94F00083EC99E0A3
:0A014C000197F1F700C000000895CC
:10015600CF93C82F85BB84E090E00E94FC000E94EC
:100166009600C295C07FC5BB84E090E00E94FC006B
:080176000E949600CF9108954C
:10017E00CF93C82F85BB84E090E00E94F0000E94D0
:10018E009600C295C07FC5BB84E090E00E94F0004F
:08019E000E949600CF91089524
:1001A6000E94570087EA91E60197F1F700C0000028
:1001B6000E94E30064EA70E080E00E947F00FFCFC7
:1001C60081E00E94BF0087E893E10197F1F700C044
:0A01D600000080E80E94BF000895B9
:1001E0009BB321E030E002C0220F331F8A95E2F773
:0801F000209529232BBB089583
:1001F8009BB321E030E002C0220F331F8A95E2F75B
:06020800292B2BBB089519
:0E020E0057FD03C05BBF67910895608108959E
:04021C000C9400003E
:00000001FF

View File

@@ -1,341 +0,0 @@
opdracht 2.5.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000000 00800100 00800100 00000274 2**0
ALLOC, LOAD, DATA
1 .text 000000a4 00000000 00000000 00000054 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .comment 0000002f 00000000 00000000 00000274 2**0
CONTENTS, READONLY
3 .debug_aranges 00000090 00000000 00000000 000002a3 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_info 00001209 00000000 00000000 00000333 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_abbrev 0000095a 00000000 00000000 0000153c 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_line 00000526 00000000 00000000 00001e96 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_frame 00000110 00000000 00000000 000023bc 2**2
CONTENTS, READONLY, DEBUGGING
8 .debug_str 000002ae 00000000 00000000 000024cc 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_loc 00000242 00000000 00000000 0000277a 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_ranges 00000070 00000000 00000000 000029bc 2**0
CONTENTS, READONLY, DEBUGGING
11 .text 00000004 0000021c 0000021c 00000270 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00002a2c 2**2
CONTENTS, READONLY, DEBUGGING
13 .text.sbi_porta 00000016 000001f8 000001f8 0000024c 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
14 .text.cbi_porta 00000018 000001e0 000001e0 00000234 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
15 .text.lcd_strobe_lcd_e 0000002a 0000012c 0000012c 00000180 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
16 .text.lcd_write_character 00000028 00000156 00000156 000001aa 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
17 .text.lcd_write_command 00000028 0000017e 0000017e 000001d2 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
18 .text.lcd_clear 0000001a 000001c6 000001c6 0000021a 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
19 .text.init_4bits_mode 00000050 000000ae 000000ae 00000102 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
20 .text.lcd_write_string 0000002e 000000fe 000000fe 00000152 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
21 .progmemx.data 0000000a 000000a4 000000a4 000000f8 2**0
CONTENTS, ALLOC, LOAD, READONLY, PROGMEMX
22 .text.main 00000020 000001a6 000001a6 000001fa 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
23 .text.libgcc 0000000e 0000020e 0000020e 00000262 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
4: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
8: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
10: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
14: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
18: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
1c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
20: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
24: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
28: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
2c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
30: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
34: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
38: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
3c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
40: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
44: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
48: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
4c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
50: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
54: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
58: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
5c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
60: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
64: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
68: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
6c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
70: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
74: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
78: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
7c: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
80: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
84: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
88: 0c 94 0e 01 jmp 0x21c ; 0x21c <__bad_interrupt>
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
98: 0e 94 d3 00 call 0x1a6 ; 0x1a6 <main>
9c: 0c 94 50 00 jmp 0xa0 ; 0xa0 <_exit>
000000a0 <_exit>:
a0: f8 94 cli
000000a2 <__stop_program>:
a2: ff cf rjmp .-2 ; 0xa2 <__stop_program>
Disassembly of section .text:
0000021c <__bad_interrupt>:
21c: 0c 94 00 00 jmp 0 ; 0x0 <__TEXT_REGION_ORIGIN__>
Disassembly of section .text.sbi_porta:
000001f8 <sbi_porta>:
void cbi_portc(int index){
PORTC &= ~(1<<index);
}
void sbi_porta(int index){
PORTA |= (1<<index);
1f8: 9b b3 in r25, 0x1b ; 27
1fa: 21 e0 ldi r18, 0x01 ; 1
1fc: 30 e0 ldi r19, 0x00 ; 0
1fe: 02 c0 rjmp .+4 ; 0x204 <sbi_porta+0xc>
200: 22 0f add r18, r18
202: 33 1f adc r19, r19
204: 8a 95 dec r24
206: e2 f7 brpl .-8 ; 0x200 <sbi_porta+0x8>
208: 29 2b or r18, r25
20a: 2b bb out 0x1b, r18 ; 27
20c: 08 95 ret
Disassembly of section .text.cbi_porta:
000001e0 <cbi_porta>:
PORTC |= (1<<index);
}
void cbi_portc(int index){
PORTC &= ~(1<<index);
1e0: 9b b3 in r25, 0x1b ; 27
1e2: 21 e0 ldi r18, 0x01 ; 1
1e4: 30 e0 ldi r19, 0x00 ; 0
1e6: 02 c0 rjmp .+4 ; 0x1ec <cbi_porta+0xc>
1e8: 22 0f add r18, r18
1ea: 33 1f adc r19, r19
1ec: 8a 95 dec r24
1ee: e2 f7 brpl .-8 ; 0x1e8 <cbi_porta+0x8>
1f0: 20 95 com r18
1f2: 29 23 and r18, r25
1f4: 2b bb out 0x1b, r18 ; 27
1f6: 08 95 ret
Disassembly of section .text.lcd_strobe_lcd_e:
0000012c <lcd_strobe_lcd_e>:
12c: 86 e0 ldi r24, 0x06 ; 6
12e: 90 e0 ldi r25, 0x00 ; 0
130: 0e 94 fc 00 call 0x1f8 ; 0x1f8 <sbi_porta>
134: 83 ec ldi r24, 0xC3 ; 195
136: 99 e0 ldi r25, 0x09 ; 9
138: 01 97 sbiw r24, 0x01 ; 1
13a: f1 f7 brne .-4 ; 0x138 <lcd_strobe_lcd_e+0xc>
13c: 00 c0 rjmp .+0 ; 0x13e <lcd_strobe_lcd_e+0x12>
13e: 00 00 nop
140: 86 e0 ldi r24, 0x06 ; 6
142: 90 e0 ldi r25, 0x00 ; 0
144: 0e 94 f0 00 call 0x1e0 ; 0x1e0 <cbi_porta>
148: 83 ec ldi r24, 0xC3 ; 195
14a: 99 e0 ldi r25, 0x09 ; 9
14c: 01 97 sbiw r24, 0x01 ; 1
14e: f1 f7 brne .-4 ; 0x14c <lcd_strobe_lcd_e+0x20>
150: 00 c0 rjmp .+0 ; 0x152 <lcd_strobe_lcd_e+0x26>
152: 00 00 nop
154: 08 95 ret
Disassembly of section .text.lcd_write_character:
00000156 <lcd_write_character>:
156: cf 93 push r28
158: c8 2f mov r28, r24
15a: 85 bb out 0x15, r24 ; 21
15c: 84 e0 ldi r24, 0x04 ; 4
15e: 90 e0 ldi r25, 0x00 ; 0
160: 0e 94 fc 00 call 0x1f8 ; 0x1f8 <sbi_porta>
164: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
168: c2 95 swap r28
16a: c0 7f andi r28, 0xF0 ; 240
16c: c5 bb out 0x15, r28 ; 21
16e: 84 e0 ldi r24, 0x04 ; 4
170: 90 e0 ldi r25, 0x00 ; 0
172: 0e 94 fc 00 call 0x1f8 ; 0x1f8 <sbi_porta>
176: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
17a: cf 91 pop r28
17c: 08 95 ret
Disassembly of section .text.lcd_write_command:
0000017e <lcd_write_command>:
17e: cf 93 push r28
180: c8 2f mov r28, r24
182: 85 bb out 0x15, r24 ; 21
184: 84 e0 ldi r24, 0x04 ; 4
186: 90 e0 ldi r25, 0x00 ; 0
188: 0e 94 f0 00 call 0x1e0 ; 0x1e0 <cbi_porta>
18c: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
190: c2 95 swap r28
192: c0 7f andi r28, 0xF0 ; 240
194: c5 bb out 0x15, r28 ; 21
196: 84 e0 ldi r24, 0x04 ; 4
198: 90 e0 ldi r25, 0x00 ; 0
19a: 0e 94 f0 00 call 0x1e0 ; 0x1e0 <cbi_porta>
19e: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
1a2: cf 91 pop r28
1a4: 08 95 ret
Disassembly of section .text.lcd_clear:
000001c6 <lcd_clear>:
1c6: 81 e0 ldi r24, 0x01 ; 1
1c8: 0e 94 bf 00 call 0x17e ; 0x17e <lcd_write_command>
1cc: 87 e8 ldi r24, 0x87 ; 135
1ce: 93 e1 ldi r25, 0x13 ; 19
1d0: 01 97 sbiw r24, 0x01 ; 1
1d2: f1 f7 brne .-4 ; 0x1d0 <lcd_clear+0xa>
1d4: 00 c0 rjmp .+0 ; 0x1d6 <lcd_clear+0x10>
1d6: 00 00 nop
1d8: 80 e8 ldi r24, 0x80 ; 128
1da: 0e 94 bf 00 call 0x17e ; 0x17e <lcd_write_command>
1de: 08 95 ret
Disassembly of section .text.init_4bits_mode:
000000ae <init_4bits_mode>:
ae: cf 93 push r28
b0: 8f ef ldi r24, 0xFF ; 255
b2: 84 bb out 0x14, r24 ; 20
b4: 85 bb out 0x15, r24 ; 21
b6: 81 bb out 0x11, r24 ; 17
b8: 8a bb out 0x1a, r24 ; 26
ba: 15 ba out 0x15, r1 ; 21
bc: 1b ba out 0x1b, r1 ; 27
be: c0 e2 ldi r28, 0x20 ; 32
c0: c5 bb out 0x15, r28 ; 21
c2: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
c6: c5 bb out 0x15, r28 ; 21
c8: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
cc: 80 e8 ldi r24, 0x80 ; 128
ce: 85 bb out 0x15, r24 ; 21
d0: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
d4: 15 ba out 0x15, r1 ; 21
d6: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
da: 80 ef ldi r24, 0xF0 ; 240
dc: 85 bb out 0x15, r24 ; 21
de: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
e2: 15 ba out 0x15, r1 ; 21
e4: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
e8: 80 e6 ldi r24, 0x60 ; 96
ea: 85 bb out 0x15, r24 ; 21
ec: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
f0: 82 e0 ldi r24, 0x02 ; 2
f2: 0e 94 bf 00 call 0x17e ; 0x17e <lcd_write_command>
f6: 0e 94 96 00 call 0x12c ; 0x12c <lcd_strobe_lcd_e>
fa: cf 91 pop r28
fc: 08 95 ret
Disassembly of section .text.lcd_write_string:
000000fe <lcd_write_string>:
fe: cf 92 push r12
100: df 92 push r13
102: ef 92 push r14
104: 6b 01 movw r12, r22
106: e8 2e mov r14, r24
108: 07 c0 rjmp .+14 ; 0x118 <lcd_write_string+0x1a>
10a: 86 2f mov r24, r22
10c: 0e 94 ab 00 call 0x156 ; 0x156 <lcd_write_character>
110: 8f ef ldi r24, 0xFF ; 255
112: c8 1a sub r12, r24
114: d8 0a sbc r13, r24
116: e8 0a sbc r14, r24
118: f6 01 movw r30, r12
11a: 5e 2d mov r21, r14
11c: 0e 94 07 01 call 0x20e ; 0x20e <__xload_1>
120: 61 11 cpse r22, r1
122: f3 cf rjmp .-26 ; 0x10a <lcd_write_string+0xc>
124: ef 90 pop r14
126: df 90 pop r13
128: cf 90 pop r12
12a: 08 95 ret
Disassembly of section .text.main:
000001a6 <main>:
int main(void)
{
init_4bits_mode();
1a6: 0e 94 57 00 call 0xae ; 0xae <init_4bits_mode>
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
1aa: 87 ea ldi r24, 0xA7 ; 167
1ac: 91 e6 ldi r25, 0x61 ; 97
1ae: 01 97 sbiw r24, 0x01 ; 1
1b0: f1 f7 brne .-4 ; 0x1ae <main+0x8>
1b2: 00 c0 rjmp .+0 ; 0x1b4 <main+0xe>
1b4: 00 00 nop
_delay_ms(10);
lcd_clear();
1b6: 0e 94 e3 00 call 0x1c6 ; 0x1c6 <lcd_clear>
lcd_write_string("Pintebaas");
1ba: 64 ea ldi r22, 0xA4 ; 164
1bc: 70 e0 ldi r23, 0x00 ; 0
1be: 80 e0 ldi r24, 0x00 ; 0
1c0: 0e 94 7f 00 call 0xfe ; 0xfe <lcd_write_string>
1c4: ff cf rjmp .-2 ; 0x1c4 <main+0x1e>
Disassembly of section .text.libgcc:
0000020e <__xload_1>:
20e: 57 fd sbrc r21, 7
210: 03 c0 rjmp .+6 ; 0x218 <__xload_1+0xa>
212: 5b bf out 0x3b, r21 ; 59
214: 67 91 elpm r22, Z+
216: 08 95 ret
218: 60 81 ld r22, Z
21a: 08 95 ret

View File

@@ -0,0 +1,517 @@
Archive member included to satisfy reference by file (symbol)
c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o (exit)
c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
lcd_control.o (__xload_1)
Discarded input sections
.data 0x0000000000000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.bss 0x0000000000000000 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.text 0x0000000000000000 0x0 lcd_control.o
.data 0x0000000000000000 0x0 lcd_control.o
.bss 0x0000000000000000 0x0 lcd_control.o
.text.sbi_portc
0x0000000000000000 0x16 lcd_control.o
.text.cbi_portc
0x0000000000000000 0x18 lcd_control.o
.text.lcd_move_right
0x0000000000000000 0x8 lcd_control.o
.text 0x0000000000000000 0x0 main.o
.data 0x0000000000000000 0x0 main.o
.bss 0x0000000000000000 0x0 main.o
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc.mul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc.div
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc.prologue
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc.builtins
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc.fmul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text.libgcc.fixed
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
.text 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.data 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.bss 0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.text.libgcc.mul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.text.libgcc.div
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.text.libgcc.prologue
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.text.libgcc.builtins
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.text.libgcc.fmul
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
.text.libgcc.fixed
0x0000000000000000 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
Memory Configuration
Name Origin Length Attributes
text 0x0000000000000000 0x0000000000020000 xr
data 0x0000000000800100 0x0000000000001000 rw !x
eeprom 0x0000000000810000 0x0000000000001000 rw !x
fuse 0x0000000000820000 0x0000000000000003 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 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
LOAD lcd_control.o
LOAD main.o
START GROUP
LOAD c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/memx-const\libm.a
END GROUP
START GROUP
LOAD c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a
LOAD c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/memx-const\libm.a
LOAD c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr51/memx-const\libc.a
LOAD C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const\libatmega128.a
END GROUP
0x0000000000000000 __TEXT_REGION_ORIGIN__ = DEFINED (__TEXT_REGION_ORIGIN__)?__TEXT_REGION_ORIGIN__:0x0
[0x0000000000800100] __DATA_REGION_ORIGIN__ = DEFINED (__DATA_REGION_ORIGIN__)?__DATA_REGION_ORIGIN__:0x800100
[0x0000000000020000] __TEXT_REGION_LENGTH__ = DEFINED (__TEXT_REGION_LENGTH__)?__TEXT_REGION_LENGTH__:0x20000
[0x0000000000001000] __DATA_REGION_LENGTH__ = DEFINED (__DATA_REGION_LENGTH__)?__DATA_REGION_LENGTH__:0xff00
[0x0000000000001000] __EEPROM_REGION_LENGTH__ = DEFINED (__EEPROM_REGION_LENGTH__)?__EEPROM_REGION_LENGTH__:0x10000
[0x0000000000000003] __FUSE_REGION_LENGTH__ = DEFINED (__FUSE_REGION_LENGTH__)?__FUSE_REGION_LENGTH__:0x400
0x0000000000000400 __LOCK_REGION_LENGTH__ = DEFINED (__LOCK_REGION_LENGTH__)?__LOCK_REGION_LENGTH__:0x400
0x0000000000000400 __SIGNATURE_REGION_LENGTH__ = DEFINED (__SIGNATURE_REGION_LENGTH__)?__SIGNATURE_REGION_LENGTH__:0x400
0x0000000000000400 __USER_SIGNATURE_REGION_LENGTH__ = DEFINED (__USER_SIGNATURE_REGION_LENGTH__)?__USER_SIGNATURE_REGION_LENGTH__:0x400
.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 0xa4
*(.vectors)
.vectors 0x0000000000000000 0x8c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
0x0000000000000000 __vector_default
0x0000000000000000 __vectors
*(.vectors)
*(.progmem.gcc*)
*(.dinit)
.dinit 0x000000000000008c 0x0 data_init
0x000000000000008c . = ALIGN (0x2)
0x000000000000008c __trampolines_start = .
*(.trampolines)
.trampolines 0x000000000000008c 0x0 linker stubs
*(.trampolines*)
0x000000000000008c __trampolines_end = .
*libprintf_flt.a:*(.progmem.data)
*libc.a:*(.progmem.data)
0x000000000000008c . = ALIGN (0x2)
*(.jumptables)
*(.jumptables*)
*(.lowtext)
*(.lowtext*)
0x000000000000008c __ctors_start = .
*(.ctors)
0x000000000000008c __ctors_end = .
0x000000000000008c __dtors_start = .
*(.dtors)
0x000000000000008c __dtors_end = .
SORT(*)(.ctors)
SORT(*)(.dtors)
*(.init0)
.init0 0x000000000000008c 0x0 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
0x000000000000008c __init
*(.init0)
*(.init1)
*(.init1)
*(.init2)
.init2 0x000000000000008c 0xc C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
*(.init2)
*(.init3)
*(.init3)
*(.init4)
*(.init4)
*(.init5)
*(.init5)
*(.init6)
*(.init6)
*(.init7)
*(.init7)
*(.init8)
*(.init8)
*(.init9)
.init9 0x0000000000000098 0x8 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
*(.init9)
0x00000000000000a0 . = ALIGN (0x2)
*(.fini9)
.fini9 0x00000000000000a0 0x0 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
0x00000000000000a0 _exit
0x00000000000000a0 exit
*(.fini9)
*(.fini8)
*(.fini8)
*(.fini7)
*(.fini7)
*(.fini6)
*(.fini6)
*(.fini5)
*(.fini5)
*(.fini4)
*(.fini4)
*(.fini3)
*(.fini3)
*(.fini2)
*(.fini2)
*(.fini1)
*(.fini1)
*(.fini0)
.fini0 0x00000000000000a0 0x4 c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_exit.o)
*(.fini0)
0x00000000000000a4 _etext = .
.data 0x0000000000800100 0x0 load address 0x00000000000000a4
[!provide] PROVIDE (__data_start, .)
*(.gnu.linkonce.d*)
*(.gnu.linkonce.r*)
0x0000000000800100 . = ALIGN (0x2)
0x0000000000800100 _edata = .
[!provide] PROVIDE (__data_end, .)
.bss 0x0000000000800100 0x0
[!provide] PROVIDE (__bss_start, .)
*(COMMON)
[!provide] PROVIDE (__bss_end, .)
0x00000000000000a4 __data_load_start = LOADADDR (.data)
0x00000000000000a4 __data_load_end = (__data_load_start + SIZEOF (.data))
.noinit 0x0000000000800100 0x0
[!provide] PROVIDE (__noinit_start, .)
*(.noinit*)
[!provide] PROVIDE (__noinit_end, .)
0x0000000000800100 _end = .
.eeprom 0x0000000000810000 0x0
*(.eeprom*)
0x0000000000810000 __eeprom_end = .
.fuse
*(.fuse)
*(.lfuse)
*(.hfuse)
*(.efuse)
.lock
*(.lock*)
.signature
*(.signature*)
.user_signatures
*(.user_signatures*)
.stab
*(.stab)
.stabstr
*(.stabstr)
.stab.excl
*(.stab.excl)
.stab.exclstr
*(.stab.exclstr)
.stab.index
*(.stab.index)
.stab.indexstr
*(.stab.indexstr)
.comment 0x0000000000000000 0x2f
*(.comment)
.comment 0x0000000000000000 0x2f lcd_control.o
0x30 (size before relaxing)
.comment 0x000000000000002f 0x30 main.o
.note.gnu.build-id
*(.note.gnu.build-id)
.debug
*(.debug)
.line
*(.line)
.debug_srcinfo
*(.debug_srcinfo)
.debug_sfnames
*(.debug_sfnames)
.debug_aranges 0x0000000000000000 0x90
*(.debug_aranges)
.debug_aranges
0x0000000000000000 0x70 lcd_control.o
.debug_aranges
0x0000000000000070 0x20 main.o
.debug_pubnames
*(.debug_pubnames)
.debug_info 0x0000000000000000 0x1209
*(.debug_info .gnu.linkonce.wi.*)
.debug_info 0x0000000000000000 0x780 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.debug_info 0x0000000000000780 0x6ff lcd_control.o
.debug_info 0x0000000000000e7f 0x38a main.o
.debug_abbrev 0x0000000000000000 0x95a
*(.debug_abbrev)
.debug_abbrev 0x0000000000000000 0x718 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.debug_abbrev 0x0000000000000718 0x159 lcd_control.o
.debug_abbrev 0x0000000000000871 0xe9 main.o
.debug_line 0x0000000000000000 0x526
*(.debug_line .debug_line.* .debug_line_end)
.debug_line 0x0000000000000000 0x16d C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.debug_line 0x000000000000016d 0x2cb lcd_control.o
.debug_line 0x0000000000000438 0xee main.o
.debug_frame 0x0000000000000000 0x110
*(.debug_frame)
.debug_frame 0x0000000000000000 0xec lcd_control.o
.debug_frame 0x00000000000000ec 0x24 main.o
.debug_str 0x0000000000000000 0x2ae
*(.debug_str)
.debug_str 0x0000000000000000 0x27d C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.debug_str 0x000000000000027d 0x6 lcd_control.o
.debug_str 0x0000000000000283 0x2b main.o
.debug_loc 0x0000000000000000 0x242
*(.debug_loc)
.debug_loc 0x0000000000000000 0x1fa lcd_control.o
.debug_loc 0x00000000000001fa 0x48 main.o
.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 0x0000000000000000 0x70
*(.debug_ranges)
.debug_ranges 0x0000000000000000 0x60 lcd_control.o
.debug_ranges 0x0000000000000060 0x10 main.o
.debug_macro
*(.debug_macro)
OUTPUT(opdracht 2.5.elf elf32-avr)
LOAD linker stubs
LOAD data_init
.note.gnu.avr.deviceinfo
0x0000000000000000 0x3c
.note.gnu.avr.deviceinfo
0x0000000000000000 0x3c C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
.progmemx.data 0x00000000000000a4 0xa
.progmemx.data
0x00000000000000a4 0xa main.o
.text.init_4bits_mode
0x00000000000000ae 0x50
.text.init_4bits_mode
0x00000000000000ae 0x50 lcd_control.o
0x00000000000000ae init_4bits_mode
.text.lcd_write_string
0x00000000000000fe 0x2e
.text.lcd_write_string
0x00000000000000fe 0x2e lcd_control.o
0x00000000000000fe lcd_write_string
.text.lcd_strobe_lcd_e
0x000000000000012c 0x2a
.text.lcd_strobe_lcd_e
0x000000000000012c 0x2a lcd_control.o
0x000000000000012c lcd_strobe_lcd_e
.text.lcd_write_character
0x0000000000000156 0x28
.text.lcd_write_character
0x0000000000000156 0x28 lcd_control.o
0x0000000000000156 lcd_write_character
.text.lcd_write_command
0x000000000000017e 0x28
.text.lcd_write_command
0x000000000000017e 0x28 lcd_control.o
0x000000000000017e lcd_write_command
.text.main 0x00000000000001a6 0x20
.text.main 0x00000000000001a6 0x20 main.o
0x00000000000001a6 main
.text.lcd_clear
0x00000000000001c6 0x1a
.text.lcd_clear
0x00000000000001c6 0x1a lcd_control.o
0x00000000000001c6 lcd_clear
.text.cbi_porta
0x00000000000001e0 0x18
.text.cbi_porta
0x00000000000001e0 0x18 lcd_control.o
0x00000000000001e0 cbi_porta
.text.sbi_porta
0x00000000000001f8 0x16
.text.sbi_porta
0x00000000000001f8 0x16 lcd_control.o
0x00000000000001f8 sbi_porta
.text.libgcc 0x000000000000020e 0xe
.text.libgcc 0x000000000000020e 0xe c:/program files/microchip/xc8/v2.31/avr/bin/../lib/gcc/avr/5.4.0/avr51/memx-const\libgcc.a(_xload_1.o)
0x000000000000020e __xload_1
.text 0x000000000000021c 0x4
.text 0x000000000000021c 0x4 C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATmega_DFP/1.6.364/xc8/avr/lib/avr51/memx-const/crtatmega128.o
0x000000000000021c __vector_22
0x000000000000021c __vector_28
0x000000000000021c __vector_1
0x000000000000021c __vector_32
0x000000000000021c __vector_34
0x000000000000021c __vector_24
0x000000000000021c __vector_12
0x000000000000021c __bad_interrupt
0x000000000000021c __vector_6
0x000000000000021c __vector_31
0x000000000000021c __vector_3
0x000000000000021c __vector_23
0x000000000000021c __vector_30
0x000000000000021c __vector_25
0x000000000000021c __vector_11
0x000000000000021c __vector_13
0x000000000000021c __vector_17
0x000000000000021c __vector_19
0x000000000000021c __vector_7
0x000000000000021c __vector_27
0x000000000000021c __vector_5
0x000000000000021c __vector_33
0x000000000000021c __vector_4
0x000000000000021c __vector_9
0x000000000000021c __vector_2
0x000000000000021c __vector_21
0x000000000000021c __vector_15
0x000000000000021c __vector_29
0x000000000000021c __vector_8
0x000000000000021c __vector_26
0x000000000000021c __vector_14
0x000000000000021c __vector_10
0x000000000000021c __vector_16
0x000000000000021c __vector_18
0x000000000000021c __vector_20