nasm用在mac平臺的匯編開發(fā)缚陷。
安裝
brew install nasm
編譯指令
nasm ?f <format> <filename> [?o <output>]
?f <format>
指定編譯類型祥国,mac下指定macho64
格式。
<filename>
原代碼文件碳抄。
[?o <output>]
表示編譯后的名稱愉老,不指定與原文件同名,在mac下的后綴為.o
剖效。
分段和程序入口
使用 global
指定程序入口嫉入。
使用section
關(guān)鍵詞分段。后面接的參數(shù)有常量.data
璧尸、變量.bbs
咒林、代碼.text
。
示例:
; 定義入口函數(shù)
global _start
;常量區(qū)域
section .data
;這里定義常量
;變量區(qū)域
section .bss
;這里定義變量
;代碼區(qū)域
section .text
_start:
;這里是主程序 ...
變量
指令 | 作用 |
---|---|
db | 字節(jié)變量逗宁,占1個字節(jié)映九,8位 |
dw | 字變量,占2個字節(jié)瞎颗,16位 |
dd | 雙字變量件甥,占4個字節(jié),32位 |
dq | 四字變量哼拔,占8個字節(jié)引有,64位 |
多次執(zhí)行
times 16 db 1
待續(xù)。倦逐。