Kas yra ASM failas?
ASM failas yra programa, parašyta žemo lygio programavimo kalba, žinoma kaip asamblėjos kalba. Jis pirmiausia naudojamas rašyti su aparatūra susijusį kodą, pavyzdžiui, programuoti mikrovaldiklius. Programa parašyta naudojant paprastą asamblėjos kalbos sintaksę, kuri apima operatorius ir operandus įvairioms operacijoms atlikti. ASM failai rašomi ir redaguojami teksto rengyklėse ir vykdomi naudojant surinkimo programą, tokią kaip HLA, MASM, FASM, NASM arba GAS.
ASM failo formatas
ASM failus sudaro seka operacijų, kurias vykdo surinkėjas, kad sugeneruotų objekto kodą. Gautas objekto kodas yra mnemonikos ir adresavimo režimų derinių vertimas į jų skaitmeninius atitikmenis.
ASM failo formato pavyzdys
Toliau pateikiamas Hello World programos, skirtos x86 architektūrai, pavyzdys.
global go
extern _ExitProcess@4
extern _GetStdHandle@4
extern _WriteConsoleA@20
section .data
msg: db 'Hello, World', 10
handle: db 0
written:
db 0
section .text
go:
; handle = GetStdHandle(-11)
push dword -11
call _GetStdHandle@4
mov [handle], eax
; WriteConsole(handle, &msg[0], 13, &written, 0)
push dword 0
push written
push dword 13
push msg
push dword [handle]
call _WriteConsoleA@20
; ExitProcess(0)
push dword 0
call _ExitProcess@4