Prog

Machine Prog

Basics

截屏2021-12-11 下午5.54.14

计算地址

image-20211211181747369

%rax 返回寄存器 %rdi 第一个参数寄存器

0x7f800000 浮点数正无穷

image-20211211182553687

image-20211212174853535

Control


上次的内容:Move 和 Arithmetic 指令

image-20211212181353798

CF :carry flag

SF :sign flag

OF :overflow flag

ZF :zero flag

Arithmetic 指令非显式设置

都不会被 leaq 改变状态

显式设置

image-20211212182141224

image-20211212182348632

testq %rax,%rax

image-20211212193446636

Set指令之将最低1字节改变,另外7个bytes不变

小例子:

image-20211212194513741

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

image-20211212200218068

简化后的例子:

image-20211212200330599

练习:

image-20211212203008496

switch语句:

image-20211212205101225

ja:default跳转

jmp:寻找jump table中的index

posted on 2022-05-13 21:38  Eddiewdy  阅读(247)  评论(0)    收藏  举报

导航