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