一条汇编语言的指令对应着一串由0和1组成的机器码,这个机器码的0和1决定了从控制器到运算器的开关的断开或闭合。不同的开闭组合形成了不同的控制状态,不同的控制状态决定了运算器所进行的操作。
一个由硬件实现的逻辑电路,对输入线路给定一个01串(电路的开闭状态),其电路图就决定了输出线路的01串是什么。比如,对于只计算一位的加法器,给定了加数、被加数和进位数,就决定了和、进位的结果。逻辑电路中的运算器就是这样用硬件提供了加减乘除这些功能,控制器是用硬件提供了顺序执行和跳转这些功能。所以汇编语言代表的是计算机提供给我们的最初的编程和计算能力,是计算机生来就有的。
跳转指令能够实现的原理,就在于跳转指令能否发挥作用要由上一步的计算结果来决定,这是由一个具有反馈作用的逻辑电路实现的。反馈电路其实无非就是将逻辑电路A的输出接到输入线路上,这样,输入决定了输出,而输出又对之后的输入产生影响。
有了跳转指令,就能够实现if(..){...}这个功能,有了if,自然也就能够实现if(..){...}else{...}和switch,还有循环结构和调用子函数。于是面向过程的语言就出现了。