מהו קובץ ASM?
קובץ ASM הוא תוכנית שנכתבה בשפת התכנות ברמה נמוכה המכונה שפת assembly. הוא משמש בעיקר לכתיבת קוד הקשור לחומרה כגון לתכנות מיקרו-בקרים. התוכנית נכתבת באמצעות תחביר שפת assembly פשוט הכולל אופרטורים ואופרנדים לביצוע פעולות שונות. קבצי ASM נכתבים ונערכים בעורכי טקסט ומבוצעים באמצעות תוכנת אסמבלר כגון HLA, MASM, FASM, NASM או GAS.
פורמט קובץ ASM
קבצי ASM מורכבים מרצף של פעולות שמבוצעות על ידי אסמבלר כדי ליצור קוד אובייקט. קוד האובייקט המתקבל הוא תרגום של שילובים של אמנויות ומצבי הפנייה למקבילות המספריות שלהם.
דוגמה לפורמט קובץ ASM
להלן דוגמה ליישום Hello World עבור ארכיטקטורת x86.
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