非科班出身, 现在才接触汇编, 惭愧呀, 好好学!
主选课本是清华大学王爽老师的《汇编语言》. 推荐 王爽老师的汇编网
汇编语言之前是机器语言.
机器语言是机器指令的集合, 机器指令是一系列二进制数字, 计算机将之转换为一系列高低电平, 而实现运算.
在 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 才能被计算机接受.