“哇塞,怎么可能这么简单!”
当C语言老头儿还是小伙子的时候,第一次见到了汇编,发出了这么一声感慨。
在C语言看来,这汇编的指令实在是太简单了,简单到了令人发指的地步,只有这么几类指令:
数据传输类:
就是把数据从一个位置复制到另外一个位置,比如从内存到寄存器,或者从寄存器到内存,或者从寄存器到寄存器。
算术和逻辑运算类:
无非就是加减乘除,AND,OR,左移,右移
控制类:
比较两个值,跳转到某一个位置。
汇编老头儿非常地骄傲,他经常嚣张地说:“别看我的指令这么简单,但是配合我的寄存器和内存,却能完成你们这些所谓的高级语言的所有功能!”
这寄存器是什么鬼?C语言脑海中只有内存和指针,根本就没有什么寄存器的概念,实际上,这是属于CPU阿甘的,容量有限,但是速度超级快的存储部件。
32位CPU寄存器
图片来源: