一、用組合語言在centos下列印helloworld
vim hello.s
並輸入以下內容
#hello.s
.data # 資料段宣告
msg : .string "hello, world!\\n" # 要輸出的字串
len = . - msg # 字串長度
.text # **段宣告
.global _start # 指定入口函式
_start: # 在螢幕上顯示乙個字串
movl $len, %edx # 引數三:字串長度
movl $msg, %ecx # 引數二:要顯示的字串
movl $1, %ebx # 引數一:檔案描述符(stdout)
movl $4, %eax # 系統呼叫號(sys_write)
int $0x80 # 呼叫核心功能
# 退出程式
movl $0,%ebx # 引數一:退出**
movl $1,%eax # 系統呼叫號(sys_exit)
int $0x80 # 呼叫核心功能
然後執行
as -o hello.o hello.s
ld -s -o hello hello.o
./hello
組合語言**需要經過彙編器轉碼,鏈結器鏈結,才能最終執行 x86組合語言(2) 認識8086處理器
結構如圖 由8個通用暫存器組成,每個暫存器之間都可以傳送資料,其中ax,bx,cx,dh都可以分成高8位和低8位的暫存器 每個暫存器都是16位。ax bx cx dh可以分為高位元組 低位元組 16位處理器中1個字16位,2個位元組 我們改變其中乙個暫存器的值,不影響另乙個,如改變了ah的值,al的...
《ubuntu下x86彙編》之x86處理器
一 處理器基本資訊 cat proc cpuinfo processor 0 vendor id genuineintel cpu family 6 model 23 model name pentium r dual core cpu e5500 2.80ghz processor 1 vendo...
X86處理器架構
包含有暫存器 算術邏輯單元 控制單元 時鐘位址 資料 控制匯流排1 將想要讀讀取的值的位址放在位址匯流排上。2 設定處理器rd 讀取 引腳 改變rd的值 3 等待乙個時鐘週期給儲存器晶元進行響應。4 將資料從資料匯流排複製到目標運算元。1 cpu從被稱為指令佇列的記憶體區域取得指令,之後立即增加指令...