рд╢реБрдн рджрд┐рди, рд╣рд░рдЬреЗрдЯреАред
рдПрдЖрд░рдПрдо рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдХрд░, рдореИрдВрдиреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдореЗрд░реА рддрд░рд╣ рд╣реА рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реБрдЖрддреА рд╣реИрдВред рд╢реАрд░реНрд╖рдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдкрдврд╝рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред
рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдЧрд╛:
- рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реА рдорд╢реАрди рдкрд░ ubuntu 12.04 рд╣реИ
- рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реЗ рдЖрд░реНрдо рдЯреВрд▓рдЪреИрди рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ (рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░реНрд╕ - рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕ рд░рд┐рд▓реАрдЬ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ)ред рд▓реЗрдЦрди рдХреЗ рд╕рдордп рдФрд░ рдЕрдзрд┐рдХ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рджрд┐рдЦрд╛рдИ рджрд┐рдП, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЖрд░реНрдо -2018.09 (рдЖрд░реНрдо-рдиреЛ-рд▓рд┐рдиреЗрдХреНрд╕-рдЧрдиреАрдмрд╛рдЗрдЪрд╛рдЪ) рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛
- рдЗрд╕ рддрд░рд╣ рд╕реНрдерд╛рдкрд┐рдд:
$ mkdir ~ / рдЯреВрд▓рдЪрд┐рди
$ cd ~ / toolchains
$ рдЯрд╛рд░ -jxf ~ / arm-2012.09-64-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 - PATH рдореЗрдВ рд╣рдорд╛рд░реЗ рдЯреВрд▓рдХрд┐рди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
$ рдкрде = $ рдЧреГрд╣ / рдЯреВрд▓рдЪрд┐рдиреНрд╕ / рдЖрд░реНрдо -реирежрез.реж реп / рдмрд┐рди: $ рдкрд╛рде - ubuntu рдкрд░ qemu рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
$ sudo apt-get install qemu
$ sudo apt-get install qemu-system
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, "рдорд╛рддрд╛-рдкрд┐рддрд╛" рд▓реЗрдЦ рдореЗрдВ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИрдВред
рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рдЬрд┐рд╕рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ EEPROM (рдмрд┐рдЬрд▓реА рдХреЗ рдорд┐рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдлреНрд▓реИрд╢-рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓ рд░реЛрдо) рд╣реИред рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧреА "рдорд╛рдзреНрдпрдорд┐рдХ" рдореЗрдореЛрд░реА рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд░ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЪрд░ рдХреЛ RAM рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХреЗред
рдХреНрдпреВрдИрдПрдордпреВ рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдмреЛрд░реНрдб рдореЗрдВ 0 рдПрдордмреАрдП 00 0000 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ 64 рдПрдордмреА рд░реИрдо рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЪрд░ рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдХреГрддрд┐ рдмреЛрд░реНрдб рдХреЗ рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдХреЛ рдЖрдХреГрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕ рдкрддреЗ рдкрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рдЙрдкрд╛рдп рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЙрд╕ рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд▓рд┐рдВрдХрд░ (рд▓рд┐рдВрдХрд░) рдирд┐рднрд╛рддрд╛ рд╣реИред
рд╕рдВрдЧреАрддрдХрд╛рд░
рдХрдИ рд╕реНрд░реЛрдд рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рдХреЗ рджреМрд░рд╛рди, рдРрд╕реА рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рд┐рдВрдХрд░ рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдЬреЛрдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди, рд▓рд┐рдВрдХрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ:
- рдЪрд░рд┐рддреНрд░ рд╕рдВрдХрд▓реНрдк
- рд╡рд┐рд╕реНрдерд╛рдкрди
рдЪрд░рд┐рддреНрд░ рд╕рдВрдХрд▓реНрдк
рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЕрдиреБрд╡рд╛рджрдХ рд╕рднреА рд▓рд┐рдВрдХ рдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкрддреЗ рдХреЗ рд╕рд╛рде рд▓реЗрдмрд▓ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдПрдХ рдмрд╣реБ-рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ, рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдмрд╛рд╣рд░реА рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдВрдХ рд╣реИрдВ, рддреЛ рдХреЛрдбрд╛рдВрддрд░рдХ рдЙрдиреНрд╣реЗрдВ "рдЕрдирд╕реБрд▓рдЭреЗ" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдВрдХрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдРрд╕реЗ рд▓рд┐рдВрдХ рдХреЗ рдкрддреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд, рддрд╛рдХрд┐ рд▓рд┐рдВрдХрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╡рд░реНрдгреЛрдВ рдХрд╛ рд╕рдВрдХрд▓реНрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗред рдЕрдирд╕реБрд▓рдЭреЗ рд▓рд┐рдВрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред
рд╕рдо-рд╕рдм рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдмрд░реВрдЯреАрди рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реИ, рдФрд░ main.s рдлрд╝рд╛рдЗрд▓ рдЖрд╡рд╢реНтАНрдпрдХ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдмрд░реВрдЯреАрди рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИред рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред
main.s.text
b start
arr: .byte 10, 20, 25 @ ( )
eoa: @ + 1
.align
start:
ldr r0, =arr @ r0 = &arr
ldr r1, =eoa @ r1 = &eoa
bl sum @ sum
stop: b stop
рдпреЛрдЧ-sub.s@
@ r0:
@ r1:
@
@ r3:
.global sum
sum: mov r3, #0 @ r3 = 0
loop: ldrb r2, [r0], #1 @ r2 = *r0++;
add r3, r2, r3 @ r3 += r2;
cmp r0, r1 @ if (r0 != r1);
bne loop @ , ┬лgoto loop┬╗ 86
mov pc, lr @ pc = lr;
.global
рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ
.global
рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдШреЛрд╖рд┐рдд рдЪрд░ рдХреА рджреГрд╢реНрдпрддрд╛ рдХреЛ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░
рдПрдирдПрдо рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рджреЗрдЦреЗрдВред
$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-nm main.o00000004 рдЯреА рдЧрд┐рд░рдлреНрддрд╛рд░
00000007 рдЯреА рдИрдУрдП
00000008 рдЯреА рд╢реБрд░реВ
00000014 рдЯреА рд╕реНрдЯреЙрдк
рдЙ рдпреЛрдЧ$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-nm sum-sub.o
00000004 рдЯреА рд▓реВрдк
00000000 рдЯреА рд░рд╛рд╢рд┐рджреВрд╕рд░реЗ рдХреЙрд▓рдо рдореЗрдВ рдПрдХ рдЕрдХреНрд╖рд░ рдЕрдХреНрд╖рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЯрд╛рдЗрдк "рдЯреА" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЪрд░рд┐рддреНрд░ рдХреЛ .text рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░ "рдпреВ" рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЪрд░рд┐рддреНрд░ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИред рдПрдХ рдЕрдкрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░ .global рдПрдХреНрд╕реЗрд╕ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдпреЛрдЧ рд╡рд░реНрдг рдХреЛ sum-sub.o рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ main.o рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд▓рд┐рдВрдХрд░ рдмрд╛рдж рдореЗрдВ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ рдФрд░ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рджреЗрдЧрд╛ред
рд╡рд┐рд╕реНрдерд╛рдкрди
рдореВрд╡рд┐рдВрдЧ рдкрд╣рд▓реЗ рд▓реЗрдмрд▓ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрддреЗ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдирдП рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рдкрддреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реА рдХрд░рдирд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЖрдВрджреЛрд▓рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдЦрдВрдб рдорд░реНрдЬ
- рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХрд╛ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ
рдЖрдВрджреЛрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЕрдиреБрднрд╛рдЧ рдХреНрдпрд╛ рд╣реИрдВред
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдордп, рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрджрд┐, рдХреЛрдб рдХреЛ ROM (рд░реАрдб-рдУрдирд▓реА рдореЗрдореЛрд░реА) рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ рдореЗрдореЛрд░реА рдФрд░ рд░рд╛рдЗрдЯрд┐рдВрдЧ рджреЛрдиреЛрдВ рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрджрд┐ рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рджреЛ рдЦрдВрдб рд╣реЛрддреЗ рд╣реИрдВ: рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .dataред рдХреЛрдбрд╛рдВрддрд░рдХ рдирд┐рд░реНрджреЗрд╢ .text рдФрд░ .data рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рд╡рд░реНрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬрдм рдЕрд╕реЗрдВрдмрд▓рд░ рдХрд┐рд╕реА рднреА рдЦрдВрдб рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЛрдб рдпрд╛ рдбреЗрдЯрд╛ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рдж рд╕рдВрдмрдВрдзрд┐рдд рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдЦрдВрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рдЖрд╕рдиреНрди рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╣реИрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд┐рддреНрд░ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХреА рдЧрдИ рд╣реИред

рдЦрдВрдб рдорд░реНрдЬ
рдмрд╣реБ-рдлрд╝рд╛рдЗрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ, рд╕рдорд╛рди рдирд╛рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП .text) рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рд▓рд┐рдВрдХрд░ рдЗрдирдкреБрдЯ рдлрд╛рдЗрд▓ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдлрд╛рдЗрд▓ рдХреЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдХреНрд░рдо рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЯреИрдЧ рдХреЗ рд▓рд┐рдВрдХ рдирдП рдкрддреЗ рдХреЗ рдореВрд▓реНрдп рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдорд░реНрдЬрд┐рдВрдЧ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд░реНрдЬ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕рд░рдгреА рдпреЛрдЧ рдЧрдгрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-ld -Txtxt = 0x0 -o тАЛтАЛsum.elf main.o sum-sub.o
$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-nm sum.elf
00000004 рдЯреА рдЧрд┐рд░рдлреНрддрд╛рд░
...
00000007 рдЯреА рдИрдУрдП
00000024 рдЯреА рд▓реВрдк
00000008 рдЯреА рд╢реБрд░реВ
рдЙ _рд╕реНрдЯрд╛рд░реНрдЯ
00000014 рдЯреА рд╕реНрдЯреЙрдк
00000020 T рд░рд╛рд╢рд┐рд▓реВрдк рд╕рд┐рдВрдмрд▓ рдХрд╛ рдкрддрд╛ 0x4 рдореЗрдВ sum-sub.o рдФрд░ 0x24 рдореЗрдВ sum.elf рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ sum-sub.o рдХрд╛ .text рд╕реЗрдХреНрд╢рди рдореБрдЦреНрдп .o.xt рдХреЗ .text рд╕реЗрдХреНрд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХрд╛ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ
рдЬрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ 0 рдкрддреЗ рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд▓реЗрдмрд▓ рдЕрдиреБрднрд╛рдЧ рдХреА рд╢реБрд░реБрдЖрдд рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп, рдХреБрдЫ рдПрдХреНрд╕ рдкрддреЗ рдкрд░ рдЕрдиреБрднрд╛рдЧ рд░рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд▓реЗрдмрд▓реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдПрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдмрдврд╝рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреА рдирд┐рдпреБрдХреНрддрд┐ рдФрд░ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд▓реЗрдмрд▓ рдХреЗ рд╕рднреА рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рд╕реБрдзрд╛рд░ рд▓рд┐рдВрдХрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП, .xxt рдЕрдиреБрднрд╛рдЧ рдХреЛ 0x100 рдкрд░ рд░рдЦреЗрдВред рдирддреАрдЬрддрди, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ .text рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдкрддрд╛ 100 рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред рдЖрд░реЗрдЦ (рдЕрдиреБрднрд╛рдЧ рд╡рд┐рд▓рдп) рдФрд░ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ (рдЕрдиреБрднрд╛рдЧ рдкреНрд▓реЗрд╕рдореЗрдВрдЯ) рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд░реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рд╣реИред

рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓рд┐рдВрдХрд┐рдВрдЧ рдФрд░ рдорд░реНрдЬрд┐рдВрдЧ рд▓рд┐рдВрдХ рд▓рд┐рдВрдХрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ, рдЙрд╕реЗ рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдиреАрдЪреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкреНрд░рдореБрдЦ рд╕реНрдерд╛рди рдбрд┐рдЬрд┐рдЯрд▓ рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВред
SECTIONS { тЭ╢
. = 0x00000000; тЭ╖
.text : { тЭ╕
abc.o (.text);
def.o (.text);
} тЭ╣
}
; рдЕрдиреБрднрд╛рдЧ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд┐рдВрдХрд░ рдХрдорд╛рдВрдб рд╣реИ; рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
IONS рдЦрдВрдб рдЖрджреЗрд╢ рдХреЗ рдмрд╛рдж рдмреНрд▓реЙрдХ рдореЗрдВ, рдПрдХ рдШрдВрдЯреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЗрдВрдЧрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ - рдПрдХ рд╕реНрдерд╛рди рдХрд╛рдЙрдВрдЯрд░ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рд╕реНрдерд╛рди рдХреЛ рд╣рдореЗрд╢рд╛ 0x0 рд╕реЗ рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рднрд┐рдиреНрди рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдкреНрд░рд╛рд░рдВрдн рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИред
Part-script рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдпрд╣ рднрд╛рдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ .text рдЕрдиреБрднрд╛рдЧ abc.o рдФрд░ def.o рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ .text рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд▓рд┐рдВрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдЖрдЧреЗ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╕рд┐рд╡реЛрд▓реЛрд▓ "*" рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
SECTIONS {
. = 0x00000000;
.text : { * (.text); }
}
рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ .text рдФрд░ .data рджреЛрдиреЛрдВ рдЦрдВрдб рд╣реИрдВ, рддреЛ .data рдЕрдиреБрднрд╛рдЧ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд░рдЦрдирд╛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
SECTIONS {
. = 0x00000000;
.text : { * (.text); }
. = 0x00000400;
.data : { * (.data); }
}
рдпрд╣рд╛рдБ .text рд╕реЗрдХреНрд╢рди рдХреЛ 0x0 рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ .data рд╕реЗрдХреНрд╢рди рдХреЛ 0x400 рдкрд░ред рдпрджрд┐ рдХреЛрдИ рдорд╛рди рд╕реНрдерд╛рди рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдирд╣реАрдВ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдЖрд╕рдиреНрди рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдг
рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдирд╡реАрдирддрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рд╣рдо рдРрд░реЗ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
.data
arr: .byte 10, 20, 25
eoa:
.text
start:
ldr r0, =eoa @ r0 = &eoa
ldr r1, =arr @ r1 = &arr
mov r3, #0 @ r3 = 0
loop:
ldrb r2, [r1], #1 @ r2 = *r1++
add r3, r2, r3 @ r3 += r2
cmp r1, r0 @ if (r1 != r2)
bne loop @ goto loop
stop: b stop
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд░рдгреА рдЕрдм .data рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред рдбреЗрдЯрд╛ рдкрд░ рдХреВрджрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рд░рдЦрддреА рд╣реИред
рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдВрдХрд░ рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ:
$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-as -o sum-data.o sum-data.s
$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-ld -T sum-data.lds -o sum-data.elf sum-data.o-T sum-data.lds рдкреИрд░рд╛рдореАрдЯрд░ рд▓рд┐рдВрдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ sum-data.lds рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реНрдореГрддрд┐ рдореЗрдВ рд╡рд░реНрдЧреЛрдВ рдХреА рдирд┐рдпреБрдХреНрддрд┐, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
$ рднреБрдЬрд╛-рдХреЛрдИ рдирд╣реАрдВ- linux-gnueabi-nm -n sum-data.elf
00000000 рдЯреА рд╢реБрд░реВ
0000000c рдЯреА рд▓реВрдк
0000001 рд╕реА рдЯреА рд╕реНрдЯреЙрдк
00000 400 d рдЧрд┐рд░рдлреНрддрд╛рд░
00000403 рдбреА рдИрдУрдП
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, .text рдЕрдиреБрднрд╛рдЧ 0x0 рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ .data рдЕрдиреБрднрд╛рдЧ 0x400 рдкрд░ рд╣реИред
рдЪреВрдВрдХрд┐ рдпрд╣ рдореЗрд░реА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЬреНрдпрд╛рджрд╛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдФрд░ рдЗрд╕реЗ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдмрдирд╛рдКрдВрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдореИрдВ рдЦрддреНрдо рдХрд░ рджреВрдВрдЧрд╛ред рдпрджрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдФрд░ рдЕрдиреБрд░реЛрдз рд╣реЛрдВрдЧреЗ, рддреЛ рдореИрдВ рдЗрд╕ рдирдП рд▓реЗрдЦ рдХреЛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛
- рдХреЛрдбрд╛рдВрддрд░рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рдЪрд╛рд░ (рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА)
- рд░реИрдВрдбрдо рдПрдХреНрд╕реЗрд╕ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
- рдмрд╛рдзрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ
- рдПрдЖрд░рдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЪрд▓рд╛рдирд╛