csapp p202对于vframe汇编代码中
主要理解对于andq $-16的处理
vframe:
pushq %rbp
movq %rsp,%rbp
subq $16,%rsp // long本来只需要8位,这里进行16位对齐
leaq 22(,%rdi,8),%rax //%rax = 8n+22
andq $-16,%rax //获取向下舍入16的最小的倍数,n为奇数时为8n+8,n为偶数时为8n+16 实现16位对齐
subq %rax,%rsp //分配空间
leaq 7(%rsp),%rax
shrq $3,%rax
leaq 0(,%rax,8),%r8 将s2舍入到距离8最近的位置