非科班出身, 现在才接触汇编, 惭愧呀, 好好学!
主选课本是清华大学王爽老师的《汇编语言》. 推荐
王爽老师的汇编网
汇编语言之前是机器语言.
机器语言是机器指令的集合, 机器指令是一系列二进制数字, 计算机将之转换为一系列高低电平, 而实现运算.
在 PC 机上运行机器指令的是 CPU; 不同的 CPU 有不同的指令, 所以某种汇编语言也只是针对某系列的 CPU.
王爽老师举了一个用机器语言输出 "welcome to masm" 的例子:
0001111010111000000000000000000001010000101110001100011000001111100011101101100010110100000001101011000000000000101101110000011110111001000000000000000010110110000110001011001001001111110011010001000010110100000000101011011100000000101101100000000010110010000000001100110100010000101101000000100110001101000101100010101000000000110011010010000110110100000010101000110100010110001100010000000011001101001000011011010000000110101100000001010010110111000110011011010100001011101100010001001110110110000011011011001000111100110011010001000011010100000000101101011100000000110100000000110011010010000101001100110100010000101101000000100110001101000101100000000000000000110011010010000111001011
我怀着对计算机先人的无比崇敬, 把它给抄下来, 也不知对也不对.
后来有了汇编, 譬如用:
mov ax,bx {在 Delphi 中相当于 ax := bx}
代替机器指令:
1000100111011000
这样更接近人类的思维; 但最终还是要有编译器把 mov ax,bx 翻译回 1000100111011000 才能被计算机接受.