一、開發環境:
centos 5.6
二、硬體
intel i5(64位)
三、開發工具:
(1)gnu彙編器(gas) :將組合語言源代友轉換為處理器指令碼
$ as -o test.o test.s
(2)連(鏈)接器:解析程式**中宣告的所有定義好的函式和記憶體位址標籤
$ ld -o test test.o
(3) 偵錯程式:
$ gcc -gstabs -o ctest ctest.c
$ gdb ctest
(4)編譯器:把高階語言轉換為處理器能夠執行的指令碼,許多編譯器包含彙編器的處理過程。
gnn編譯器使用gnu彙編器(gas)生成指令碼
$ gcc -o ctest ctest.c
$ gcc -s ctest.c
(5) 反彙編器:將可執行程式或者目標**轉換成處理器上的指令碼
$ gcc -c ctest.c //未經鏈結的目標檔案
$ objdump -d ctest.o
AT T組合語言筆記
1。在gcc產生的彙編中,0x80498d4表示立即數,而0x80498d4表示記憶體位址0x80498d4對應的內容。對於lable,比如value,則 value表示value的位址,value表示value的值。設函式func的位址 func 0x8048828 這兩種呼叫都是一樣的 1 ca...
組合語言學習筆記 一
基礎知識 1.什麼是機器語言?機器語言是機器指令的集合。就是計算機能執行的命令。機器指令就是一列二進位制數字。計算機將之轉變為一列高低電平,使計算機的電子器件受到驅動,進行計算。一列二進位制的數字,人閱讀起來非常不方便。2.什麼是組合語言?組合語言的主體是彙編指令。彙編指令是機器指令便於記憶的書寫格...
組合語言學習筆記(一)
自學王爽老師編寫的組合語言一書有一段時間了,開乙個部落格記錄一下自己這段時間的學習。一.基礎知識 1.機器語言 機器指令的集合。2.組合語言的主體 彙編指令。3.組合語言的組成 彙編指令 偽指令 其他符號。指令和資料是應用上的概念,在記憶體中二者無任何區別。4.儲存單元從0開始編號 位元 bit 位...