CSAPP
alotuscc
你和你的犬色声马,我和我的各安天涯。
千里走单骑,八方为敌。
青灯古佛度苍生,不愿度己。
展开
-
x86_64汇编调用过程简介
文章目录过程是软件中一种很重要的抽象。转移控制:转移控制是通过call指令以及ret指令来实现的。传递数据:数据可以通过寄存器和栈来传递。分配和释放内存:局部存储分为栈上的局部存储以及寄存器中的局部存储。过程是软件中一种很重要的抽象。它提供了一种封装代码的方式,用一组指定的参数和一个可选的返回值实现了某种功能。设计良好的软件用过程作为抽象机制,隐藏某个行为的具体实现,同时又提供清晰简洁的接口...原创 2019-10-28 10:46:34 · 532 阅读 · 0 评论 -
switch汇编跳转表
switch语句跳转表switch语句可以根据一个整数索引值进行多重分支。GCC根据case的数量和case值的稀疏程度来翻译switch语句,当case情况比较多(例如4个以上),并且值的范围跨度比较小时,就会使用跳转表。跳转表是一个数组,表项i是一个代码段的地址,这个代码段实现当开关索引值等于i时程序应该采取的动作。void switcher(long a, long b, long ...原创 2019-10-27 19:58:50 · 3492 阅读 · 0 评论 -
x86_64汇编循环翻译通用方法
x86_64汇编循环翻译通用方法do-while循环do-while循环的通用形式如下:do body-statement while(test-expr);->loop body-statement t = test-expr if(t) goto loop;while循环while循环的通用形式如下:while(test-expr) ...原创 2019-10-27 17:35:30 · 708 阅读 · 0 评论 -
条件分支的两种基本翻译方法
文章目录条件分支的两种基本翻译方法:1. 使用条件控制2. 使用条件传送总结条件分支的两种基本翻译方法:1. 使用条件控制if(test-expr) then-statementelse else-statement->t = test-exprif(!t) goto false;then-statement goto done;false: else-stat...原创 2019-10-27 15:42:40 · 261 阅读 · 0 评论 -
输入理解计算机 第一章
文章目录计算机系统漫游信息就是位+上下文程序被其他程序翻译成不同的格式了解编译系统如何工作是大有益处的系统的硬件组成存储设备形成层次结构操作系统管理硬件进程线程虚拟内存文件计算机系统漫游计算机系统是由硬件和软件组成的。信息就是位+上下文文本文件: 由ASCII字符构成的文件二进制文件:系统中所有的信息——包括磁盘文件,内存中的程序,内存中存放的用户数据以及网络上传送的数据,都是由一串比...原创 2019-08-10 21:44:15 · 128 阅读 · 0 评论 -
虚拟内存的证明
// c1.cpp#include <iostream>#include <bits/stdc++.h>#include <windows.h>using namespace std;//#pragma GCC optimize(2)//#define zplint x;int main(int argc, char *argv[]){...原创 2019-08-10 21:56:20 · 128 阅读 · 0 评论