随笔分类 -  计算机系统

摘要:MIT 6.828 Lab1 MIT 课程实验本体 https://pdos.csail.mit.edu/6.828/2018/schedule.html 你可以在这里找到所有代码,一个实验一个分支 https://github.com/VioleshnvQuetsall/mit-6.828-lab 阅读全文
posted @ 2023-09-26 00:26 Violeshnv 阅读(226) 评论(0) 推荐(0)
摘要:三次异或交换数字 $\wedge$ 在本文表示异或 void swap(int * restrict x, int * restrict y) { if (x == y) return; *y = *x ^ *y; *x = *x ^ *y; *y = *x ^ *y; // *y ^= *x ^= 阅读全文
posted @ 2022-10-27 11:50 Violeshnv 阅读(70) 评论(0) 推荐(1)
摘要:本文的叙述将基于 x86-64 为什么要学习汇编语言 汇编语言其实就是人能识别的机器语言,理解汇编语言可以是学习计算机系统的必经之路。 前置知识 指令集架构(Instruction Set Architecture, ISA) 指令集架构是描述计算机行为的一层抽象,它提供了程序员应当了解的计算机工作 阅读全文
posted @ 2022-10-27 11:50 Violeshnv 阅读(561) 评论(0) 推荐(0)
摘要:在 C 语言层面除了写法以外没什么区别。 int a = 5; a == 0 ? puts("x") : puts("z"); if (a == 0) { puts("x"); } else { puts("z"); } 在汇编语言层面上有一些区别,if 倾向于使用条件控制转移(j 系列)命令,三元 阅读全文
posted @ 2022-10-27 11:49 Violeshnv 阅读(42) 评论(0) 推荐(0)