рдПрдХ рджрд┐рди, рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ
рдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдЯреИрдмрд▓реЗрдЯ рдкрд░ рд▓рд╛рдЦреЛрдВ рдбреЙрд▓рд░
рдЦреЛ рджрд┐рдП ред рдареАрдХ рд╣реИ, рдЖрдЬ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХреЛрдбрд╛рдВрддрд░рдХ рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред

рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
- рдПрдЖрд░рдПрдо рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 2012ред
- Jailbreak'in рдЯреИрдмрд▓реЗрдЯ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдЖрд░рдЯреА рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕рд░реНрдлреЗрд╕ рдЖрд░рдЯреАред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо arm.asm рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХрдЯ рдХреЗ рдиреАрдЪреЗ рд╣реИред
AREA data, DATA Text DCB "Hello world(text)", 0x0 Caption DCB "Hello world(caption)", 0x0 EXPORT WinMainCRTStartup IMPORT __imp_MessageBoxA IMPORT __imp_ExitProcess AREA text, CODE WinMainCRTStartup PROC movs r3,#0 ldr r2,Caption_ptr ldr r1,Text_ptr movs r0,#0 ldr r4,MessageBoxA_ptr ldr r4,[r4] blx r4 movs r0,#0 ldr r4,ExitProcess_ptr ldr r4,[r4] blx r4 MessageBoxA_ptr DCD __imp_MessageBoxA ExitProcess_ptr DCD __imp_ExitProcess Text_ptr DCD Text Caption_ptr DCD Caption ENDP END
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2012 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдбрд╛рдВрддрд░рдХ рдиреЗ рдПрдХ рдЕрдЬреАрдм рдмрд╛рдд рджреЗрдЦреА:
рдореИрдХреНрд░реЛрдЬрд╝ рдФрд░
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рд╛рд░рдгреАрдпрди рдЪрд░рд┐рддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд▓реЗрдмрд▓ рдФрд░ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдирд╛рдо, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрдирдХреЗ рд╕рд╛рдордиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛рдиреА, рдЙрдиреНрд╣реЗрдВ рд╢реБрд░реБрдЖрдд рд╕реЗ рддреБрд░рдВрдд рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓рд╛рдЗрдиреЗрдВ), рдЕрдиреНрдпрдерд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреАред
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдкрд╛рда рдЯрд╛рдЗрдк рдХрд┐рдпрд╛, рдЕрдм рд╣рдо рд╕рдВрдХрд▓рди рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рд╛рд░рдВрдн рдореЗрдиреВ рд╕реЗ, рдЪрд▓рд╛рдПрдВ:
Microsoft Visual Studio 2012 - рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓реНрд╕ - рдХрдорд╛рдВрдб рд▓рд╛рдЗрди VS2012 ARM рдХреНрд░реЙрд╕ рдЯреВрд▓реНрд╕ ред
рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рдХрдорд╛рдВрдб рдЗрдирдкреБрдЯ рд╡рд┐рдВрдбреЛ рд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЛрд░реНрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рдЬрд╛рдПрдВ:
cd \my_arm_proj
рдЕрдЧрд▓рд╛, рд╣рдо рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ:
armasm arm.asm link arm.obj user32.lib kernel32.lib /subsystem:windows
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ arm.exe рдорд┐рд▓рддреА рд╣реИред рдЗрд╕реЗ рдЯреЗрдмрд▓реЗрдЯ, рдФрд░ рд╡реЙрдЗрд▓рд╛ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ!
