From Assembly to Kernel Hacking: The Underlying Art of Linux System Calls

From Assembly to Kernel Hacking: The Underlying Art of Linux System Calls

1. Overview of System Calls A system call is a set of interfaces provided by the operating system kernel to user-space programs, allowing user programs to request services from the kernel. It is a controlled communication mechanism between user space and kernel space. Why Do We Need System Calls? Permission Isolation: User programs run in … Read more

Essential Reading: What is the Difference Between PCBA and PCB?

Essential Reading: What is the Difference Between PCBA and PCB?

This article will deeply compare PCBA and PCB! We will start with their basic definitions and principles, exploring the key differences in design, manufacturing, and practical applications. You will learn how PCBs are constructed and how they differ from fully assembled PCBAs. We will also explore real-world application cases across various industries, discuss manufacturing and … Read more

Understanding the Four Stages of C Language Compilation and Linking: Preprocessing, Compilation, Assembly, and Linking Revealed!

Understanding the Four Stages of C Language Compilation and Linking: Preprocessing, Compilation, Assembly, and Linking Revealed!

Hello everyone, I am Xiaokang. Do you remember the first line of code you typed? printf("Hello, World!\n"); You clicked “Run”, and then magically “Hello, World!” appeared on the screen. But have you ever wondered what happens at that moment when you click “Run”? How do those characters you typed turn into instructions that the computer … Read more

Line-by-Line Interpretation of Armv8-A Assembly SMP Boot Code

Line-by-Line Interpretation of Armv8-A Assembly SMP Boot Code

This article provides a line-by-line explanation of the Armv8-A assembly code sourced from Arm® Development Studio. It focuses on the boot sequence of the AArch64 MPCore processor. This code initializes the system from Exception Level 3 (EL3, typically the Secure Monitor mode) and transitions to Exception Level 1 (EL1, typically the OS mode), during which … Read more

Control Transfer in ARM Assembly

Control Transfer in ARM Assembly

1. Direct Transfer (Simple Jump) After executing the current instruction, the next instruction is not executed in sequence; instead, it jumps to execute other instructions. ① B Instruction <span>B LABEL</span> This transfers execution to the instruction at the label LABEL (PC) = LABEL Commonly used for branching, for example: B LABEL ; Unconditional jump to … Read more