Machine Prog
Basics

计算地址

%rax 返回寄存器 %rdi 第一个参数寄存器
0x7f800000 浮点数正无穷

Control
上次的内容:Move 和 Arithmetic 指令
CF :carry flag
SF :sign flag
OF :overflow flag
ZF :zero flag
Arithmetic 指令非显式设置
都不会被 leaq 改变状态
显式设置:
testq %rax,%rax
Set指令之将最低1字节改变,另外7个bytes不变
小例子:

减少branch prediction的方案:将指令减为一条可直接进入流水线

简化后的例子:
练习:

switch语句:
ja:default跳转
jmp:寻找jump table中的index