A Step-by-Step Guide to Analyzing C Language ‘if’ Structure Code and Its Implementation in ARM Assembly

A Step-by-Step Guide to Analyzing C Language 'if' Structure Code and Its Implementation in ARM Assembly

Click the blue “One Bite Linux” in the upper left corner, and select “Set as Favorite“ Get the latest technical articles first ☞【Resources】Embedded Driver Engineer Learning Path ☞【Resources】Linux Embedded Knowledge Points – Mind Map – Free Access ☞【Employment】A comprehensive project based on Linux IoT that can be included in your resume ☞【Employment】Resume Template Assembly language … Read more

Overview of ARM Assembly: Practical Guide for Cortex-M3/M4

The Cortex-M3/M4 is the most mainstream ARM core in embedded development, widely used in microcontrollers such as STM32. Its assembly language follows the RISC architecture’s “reduced and efficient” design philosophy. This article explains the core logic of ARM assembly step by step, from core registers to common instructions, and practical examples. 1. Core Registers (“Operation … Read more

Beginner’s Guide to Writing a TCP Bind Shell in ARM Assembly Language (32-bit)

Beginner's Guide to Writing a TCP Bind Shell in ARM Assembly Language (32-bit)

In this tutorial, you will learn how to write a tcp_bind_shell that does not contain null bytes, which can be used for shellcode testing of vulnerability exploitability. After reading this tutorial, you will not only learn how to write shellcode that binds a shell to a local port, but also understand how to write shellcode … Read more

Go Language Learning Notes (Twenty-Nine) Assembly Functions

Go Language Learning Notes (Twenty-Nine) Assembly Functions

1. Basic Usage:The function identifier is defined using the TEXT assembly directive, indicating that the instructions starting from this line are defined in the TEXT memory segment. The instructions following the TEXT statement generally correspond to the implementation of the function. However, the TEXT directive itself does not concern whether there are instructions following it. … Read more

Task Scheduling in FreeRTOS – Startup

Task Scheduling in FreeRTOS - Startup

One of the core tasks of an operating system is task scheduling. Tasks have different names in different operating systems, such as task, thread, or process, with processes typically associated with independent address spaces. The goals of scheduling are to ensure fairness, real-time performance (for real-time systems), maximize CPU utilization, and meet task priority requirements. … Read more

DIY Drone: Become a ‘Flying Master’ in the Sky

DIY Drone: Become a 'Flying Master' in the Sky

In this age of information explosion, drones have gradually entered our lives. Whether for aerial photography, exploring the unknown, or simply for the thrill of flying, drones have become tools for many to pursue their dreams. For those passionate about exploration and creation, DIY drones are an especially attractive option. Next, let us unveil the … Read more

Technical Insights on AMD SEM IP Usage in MPSoC Devices

Technical Insights on AMD SEM IP Usage in MPSoC Devices

01 Overview of SEM IP Functionality The SEM (Soft Error Mitigation) technology achieves observable soft error simulation through targeted ECC parity bit injection. This mechanism precisely selects parity bits within the Configuration RAM Frame (CRAM Frame) for controllable flipping, ensuring that injected errors are located in the redundant parity area rather than in functional logic … Read more

Analysis of C++ Features from the Perspective of Assembly Language: Starting with the New Operator

Analysis of C++ Features from the Perspective of Assembly Language: Starting with the New Operator

The “Readability Crisis” of C++ Compilation Results The assembly code generated from C++ is indeed more complex than that of C, but this complexity follows certain rules: ; C language malloc call push 16 ; allocate size call malloc add esp, 4 ; C++ new operator call push 16 ; allocate size call ??2@YAPAXI@Z ; … Read more

Kernel C++ Member Function and C Interface Adaptation Technology from an Assembly Language Perspective

Kernel C++ Member Function and C Interface Adaptation Technology from an Assembly Language Perspective

Fundamental Differences Between Member Functions and C Functions From an assembly perspective, the essential difference between member functions and ordinary C functions lies in the implicit <span>this</span> pointer passing: ; Ordinary C function call push param2 ; Parameter 2 push param1 ; Parameter 1 call CFunction ; Direct call add rsp, 10h ; Clean up … Read more

Kernel C/C++ Hybrid Programming Techniques from an Assembly Language Perspective

Kernel C/C++ Hybrid Programming Techniques from an Assembly Language Perspective

Assembly Level Analysis of Header File Declaration Issues When C++ references a C header file without adding <span>extern "C"</span>, it leads to name mangling issues: ; C-style function without processing call ?ExAllocatePoolWithTag@@YAPEAXW4_POOL_TYPE@@KPEAD@Z ; C++ mangled name ; Correct usage with extern "C" call ExAllocatePoolWithTag ; Original C name The correct approach when including <span>ntifs.h</span> is: … Read more