12、数据操作指令(算术指令)
参考资料:
算术指令出现在数据操作中,算术是逻辑的,我们有移位指令。
算术运算,就像在C语言中我们做两个数的加法,两个数的乘法,两个数的减法,两个数的除法
我们一般在编程语言中使用的算术运算,这些运算是如何在后端执行的?
后端意味着计算机的硬件、CPU,它是如何使用这些指令执行的?
我们有算术中的加法(add)和减法(sub),借助这些可以乘法或者除法。
就像我们讨论2*3,还会有另外的做法2+2+2,意味这种情况需要循环的使用加法。
如果循环使用减法,那么可以实现除法。但是如果硬件需要使用循环来实现乘法/除法,那么就会降低效率。
所以ALU基本上是支持加减乘除的,其余的运算都要借助这四种运算,以某种方式实现了所有的数学表达式。
INC表示自增1,DEC表示自减1。
指令和微运算之间的区别是什么?
通常使用指令完成类似于加减乘除等这种。
微运算意味着微指令。比如在一个加法指令当中会存在着更细微的操作。将在后面的指令周期中详细的解释。
微运算基于硬件、基于正在处理的数据(浮点数还是整数)、基于正在使用的寻址方式。
还有加法进位指令(add with carry),减法进位指令(sub witch borrow)。