詳解如何在Mac上用匯編語(yǔ)言寫HelloWorld
首先,Mac自帶nasm,不過(guò)我們要先將其升級(jí)。
升級(jí)它的方法有很多種,因?yàn)槲乙呀?jīng)裝好了homebrew,所以我直接在終端輸入:
brew install nasm
這樣就升級(jí)啦~
接下來(lái),創(chuàng)建一個(gè)HelloWorld.asm文件!
msg: db "hello world!", 0x0a len: equ $-msg SECTION .text global _main kernel: syscall ret _main: mov rax,0x2000004 mov rdi,1 mov rsi,msg mov rdx,len call kernel mov rax,0x2000001 mov rdi,0 call kernel
創(chuàng)建好后,保存在一個(gè)你心儀的文件夾~再次打開(kāi)終端,輸入
cd (你放置的文件夾名)
例如我輸入的就是
cd /Users/mac/Desktop
點(diǎn)擊回車,接下來(lái)輸入
nasm -f macho64 -o HelloWorld.o HelloWorld.asm
這樣你就會(huì)發(fā)現(xiàn)一個(gè)名叫HelloWorld.o的文件悄然建好了
再于終端輸入
ld HelloWorld.o -o HelloWorld -macosx_version_min 10.13 -lSystem
回車,輸入
./HelloWorld
你就會(huì)發(fā)現(xiàn),hello world!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ARM匯編判斷之如何用匯編判斷數(shù)組中正負(fù)數(shù)個(gè)數(shù)
這篇文章主要介紹了ARM匯編判斷之如何用匯編判斷數(shù)組中正負(fù)數(shù)個(gè)數(shù),在匯編語(yǔ)言中程序的基本框架是不變的,這里我們可以直接把正向遍歷的程序給貼過(guò)來(lái),然后我們思考怎么運(yùn)用判斷后綴把數(shù)組中正數(shù)和負(fù)數(shù)分開(kāi),進(jìn)行判斷個(gè)數(shù)和分別求和,需要的朋友可以參考下2022-04-04通過(guò)匯編看golang函數(shù)的多返回值問(wèn)題
這篇文章主要介紹了通過(guò)匯編看golang函數(shù)的多返回值問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06匯編程序輸出“Hello world”的實(shí)現(xiàn)
這篇文章主要介紹了匯編程序輸出“Hello world”的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01從匯編代碼開(kāi)始全面解析synchronized還原最真實(shí)的偏向鎖
這篇文章主要為大家介紹了從模板解釋器匯編源碼開(kāi)始分析還原最真實(shí)的偏向鎖實(shí)現(xiàn),解釋monitorenter字節(jié)碼命令的方法開(kāi)始,從匯編代碼開(kāi)始全面解析synchronized2022-02-02