|
You are here |
www.tiraniddo.dev | ||
| | | | |
samwho.dev
|
|
| | | | | Context switching is the method an operating system employs to implement "multitasking". It's the practice of having multiple contexts of execution in | |
| | | | |
ankithooda.com
|
|
| | | | | xv6 loads the userspace program starting from the virtual address 0x0, which means we can dereference a null pointer in a xv6 process and it will be a valid memory access. #include "types.h"#include "user.h"#include "stat.h"int main(int argc , char **argv) { int *c = (int *)0x0; printf(1, "%d\n", *c); exit();} Compiling and running the above... | |
| | | | |
bellard.org
|
|
| | | | | QuickJS Javascript Engine | |
| | | | |
patshaughnessy.net
|
|
| | | [AI summary] The article discusses the process of learning to read x86 assembly language, focusing on how it can be a useful skill for understanding low-level operations of microprocessors. It outlines the challenges of reading assembly, especially in debugging scenarios, and provides an example of translating Ruby code into x86 assembly using Crystal. The article also explains the syntax and structure of x86 assembly, including register usage, instruction suffixes, and the differences between AT&T and Intel syntax. It highlights the complexity of x86 assembly due to its historical evolution and the need for understanding register sizes and operand notation. | ||