非科班出身, 現在才接觸匯編, 慚愧呀, 好好學!
主選課本是清華大學王爽老師的《匯編語言》. 推薦 王爽老師的匯編網
------------------------------------------------------------------------- -------
匯編語言之前是機器語言.
機器語言是機器指令的集合, 機器指令是一系列二進制數字, 計算機將之轉換為一系 列高低電平, 而實現運算.
在 PC 機上運行機器指令的是 CPU; 不同的 CPU 有不同的指令, 所以某種匯編語言 也只是針對某系列的 CPU.
王爽老師舉了一個用機器語言輸出 "welcome to masm" 的例子:
00011110
101110000000000000000000
01010000
101110001100011000001111
1000111011011000
1011010000000110
1011000000000000
1011011100000111
101110010000000000000000
1011011000011000
1011001001001111
1100110100010000
1011010000000010
1011011100000000
1011011000000000
1011001000000000
1100110100010000
1011010000001001
10001101000101100010101000000000
1100110100100001
1011010000001010
10001101000101100011000100000000
1100110100100001
1011010000000110
1011000000010100
1011011100011001
1011010100001011
1011000100010011
1011011000001101
1011001000111100
1100110100010000
1101010000000010
1101011100000000
1101000000001100
1101001000010100
1100110100010000
1011010000001001
10001101000101100000000000000000
1100110100100001
11001011
我懷著對計算機先人的無比崇敬, 把它給抄下來, 也不知對也不對.
------------------------------------------------------------------------- -------
後來有了匯編, 譬如用:
mov ax,bx {在 Delphi 中相當於 ax := bx}
代替機器指令:
1000100111011000
這樣更接近人類的思維; 但最終還是要有編譯器把 mov ax,bx 翻譯回 1000100111011000 才能被計算機接受.