关于汇编的一些理解
特殊的寄存器
- %eax——存放结果的寄存器
- %rdi——存放第一个参数
- %rsi——存放第二个参数
- %rdx——存放第三个参数0
在汇编中的if
- 在看了多个例题之后,我发现汇编if后的判断语句如果满足的话,会跳转,不然的话就直接向下执行。
右移和除法之间的联系。
- 结合多个右移以及加减法,理论上可以组成任意的除法。
- 但是右移的时候,是否需要加上偏移量,这需要回到前面位运算中的知识,我们知道,当x 是负数的时候,如果需要右移,这时,我们丢失了一部分权值为正的位,我们需要加上一些偏移量来抵消这个“丢失”,偏移量就是2k-1,k是右移量。在加上这个偏移量后,无论我们是否丢失了权值为正的位,我们仍然做到了向0舍入(低k位最左边的位可能位1,也可能不为1。对于不需要舍入的情况,加上偏移量只影响那些被移掉的位,而对于需要舍入的情况,加上偏置值后,会导致低k位向上进1,完成舍入。)