寫慣了高階語言,很容易忘了計算機執行指令的本質。如果不深入了解計算機的執行過程,無法想象乙個最簡單的c檔案被執行起來中間涉及到多少繁瑣的工作。為了更深入的了解相關的知識(linker,loader),先把最基礎的彙編複習一下(以前彙編學的很不好)。彙編可以很直接的操作機器,不需要其他庫檔案,通過這種裸指令的練習,加深自己的感悟。
分為幾部分來學:
一、語法
二、功能號
三、除錯
在所有之前,先寫個hello world來表示一下吧:)
.data
msg:.string "hello,wonderful!\n"
len=.-msg
.text
.global _start
_start:
movl $len,%edx
movl $msg,%ecx
movl $1,%ebx
movl $4,%eax
int $0x80
movl $0,%ebx
movl $1,%eax
int $0x80
as --gstabs -o hello.o hello.s
ld -o hello hello.o
跟c語言相比,少了乙個編譯過程。
直接是彙編,鏈結。
此時執行:./hello
可以得到:
hello,wonderful!
下面再繼續學習。
xorm初步入門學習
首先需要匯入包 之後為了跑案例,建立了資料庫 create table user id int 11 notnull auto increment username varchar 32 not null comment 使用者名稱 birthday date default null commen...
Linux初步入門
對於linux的初步入門以前都要對計算機概論有一些了解。1.計算機 接收使用者輸入指令與資料,經過 處理器的資料與邏輯單元運算處理後,以產生或儲存成有用的資訊。2.計算機五大硬體 輸入單元 輸出單元 cpu內部的控制單元 算術邏輯單元與記憶體五大部分。3.cpu種類 精簡指令集 risc 與複雜指令...
python初步入門
help obj 檢視幫助 import 檔名 匯入乙個檔案 from 檔名 import 方法名 匯入檔案中的乙個方法 dir var 檢視變數屬性和方法 none 空物件 邏輯運算 and or not elif elseif 沒有switch語句 沒有三目運算子 for迴圈 for 變數 in...