Tagged articles
92 articles
Page 1 of 1
Machine Heart
Machine Heart
Apr 14, 2026 · Artificial Intelligence

Training a Transformer on a 1970s PDP‑11 Takes Only 5.5 Minutes

A developer recreated a 1970s PDP‑11 environment, wrote a single‑layer, single‑head Transformer in assembly, and trained it on a sequence‑reversal task, achieving 100% accuracy after about 350 steps and a total training time of roughly 5.5 minutes.

AssemblyLow-resource AIPDP-11
0 likes · 16 min read
Training a Transformer on a 1970s PDP‑11 Takes Only 5.5 Minutes
21CTO
21CTO
Sep 11, 2025 · Fundamentals

What Happens When Microsoft Open‑Sources Its 1976 6502 BASIC Interpreter?

Microsoft has finally released the source code of its 1976 6502 BASIC interpreter under an open‑source license, a historic move that revives the early programming language that ran on Apple II, Atari 2600, NES and Commodore 8‑bit machines, and invites enthusiasts to explore and rebuild the original environment.

6502 BASICAssemblyMicrosoft
0 likes · 4 min read
What Happens When Microsoft Open‑Sources Its 1976 6502 BASIC Interpreter?
Java Tech Enthusiast
Java Tech Enthusiast
Apr 16, 2025 · Fundamentals

The Origin of System Calls and Kernel/User Modes

In the 1950s programmers wrote directly to hardware, but the fragility of hard‑coded memory and I/O led to the invention of a privileged “expert” kernel mode and a restricted “novice” user mode, with a special instruction to switch, forming the basis of modern system calls and operating system protection.

AssemblyOperating SystemSystem Call
0 likes · 5 min read
The Origin of System Calls and Kernel/User Modes
Liangxu Linux
Liangxu Linux
Feb 26, 2025 · Fundamentals

How Can a Function Jump to an Uncalled Routine? Exploring Stack Tricks and Process Switching

The article explains how operating‑system multitasking and process switching share the same underlying mechanism as function calls, demonstrates a C program that overwrites a return address to jump to an unexpected function, and shows the resulting assembly to illustrate the similarity between buffer‑overflow attacks and legitimate context switches.

AssemblyC Programmingbuffer overflow
0 likes · 7 min read
How Can a Function Jump to an Uncalled Routine? Exploring Stack Tricks and Process Switching
BirdNest Tech Talk
BirdNest Tech Talk
Feb 1, 2025 · Fundamentals

Can Go Harness SIMD for High‑Performance Computing? A Deep Dive

This article examines SIMD (Single Instruction Multiple Data) technology, its relevance to Go’s performance goals, the challenges of integrating SIMD into Go’s design, current standard‑library limitations, third‑party libraries, compiler support, and practical assembly examples, concluding with prospects for future Go SIMD adoption.

AssemblyGoSIMD
0 likes · 15 min read
Can Go Harness SIMD for High‑Performance Computing? A Deep Dive
Deepin Linux
Deepin Linux
Dec 14, 2024 · Fundamentals

Understanding Linux ptrace: Implementation, Usage, and Debugging Techniques

This article provides a comprehensive overview of the Linux ptrace system call, explaining its role in process debugging, detailing request parameters, demonstrating practical C examples for tracing system calls, single‑stepping, setting breakpoints, and exploring how DWARF debugging information links source code to executable addresses.

AssemblyDWARFLinux
0 likes · 62 min read
Understanding Linux ptrace: Implementation, Usage, and Debugging Techniques
Deepin Linux
Deepin Linux
Dec 9, 2024 · Fundamentals

Comprehensive Guide to x86 Assembly Language and GNU Syntax

This guide provides a thorough introduction to x86 assembly language, covering GNU syntax, CPU architecture, registers, instruction formats, data types, memory models, and practical examples with NASM and GNU as, enabling readers to write efficient low‑level code and deepen their understanding of computer systems.

AssemblyGNURegisters
0 likes · 30 min read
Comprehensive Guide to x86 Assembly Language and GNU Syntax
AntTech
AntTech
Dec 6, 2024 · Information Security

Ant Financial's MorseCrypto Wins First Place in the 2024 Financial Cipher Cup Second Stage with High‑Performance SM2/SM3/SM4 Implementations

Ant Financial's MorseCrypto team secured first place in the 2024 Financial Cipher Cup second‑stage competition by delivering highly optimized SM2, SM3, and SM4 implementations on X86 and ARM platforms that achieve up to 4.3‑times faster verification while meeting strict security and memory constraints.

AssemblyInformation SecuritySM2
0 likes · 4 min read
Ant Financial's MorseCrypto Wins First Place in the 2024 Financial Cipher Cup Second Stage with High‑Performance SM2/SM3/SM4 Implementations
Liangxu Linux
Liangxu Linux
Nov 6, 2024 · Fundamentals

From Switches to Compilers: The Evolution of Programming Languages

This article traces how simple binary switches evolved into CPUs, machine code, assembly language, control‑flow constructs, recursion, syntax trees, and finally modern compilers that translate human‑readable code into executable instructions.

AssemblyRecursioncompilers
0 likes · 12 min read
From Switches to Compilers: The Evolution of Programming Languages
IT Services Circle
IT Services Circle
Oct 27, 2024 · Fundamentals

Why Assembly Language Is the Ultimate Programming Tool

The article explains how assembly language serves as the foundational layer beneath all high‑level languages, illustrating its essential role in translating code to machine instructions, and argues that understanding assembly deepens comprehension of computer architecture despite its rare direct use today.

Assemblycomputer architecturelow‑level programming
0 likes · 8 min read
Why Assembly Language Is the Ultimate Programming Tool
Deepin Linux
Deepin Linux
Oct 23, 2024 · Fundamentals

Understanding Linux x86-64 System Call Implementation

This article provides a comprehensive overview of how Linux kernel system calls are implemented on the x86-64 architecture, covering the conceptual differences from regular function calls, register conventions, initialization processes, syscall tables, and practical assembly examples such as write and getpid.

AssemblyLinuxOS Internals
0 likes · 28 min read
Understanding Linux x86-64 System Call Implementation
IT Services Circle
IT Services Circle
Jul 15, 2024 · Fundamentals

Understanding Stack Pointer Corruption When Mixing RSP and ESP in 64‑bit Windows: A Reverse‑Engineering Case Study

The article analyzes a crash that occurs on Windows 10 when a 64‑bit program mixes RSP and ESP instructions, explains how writing to the 32‑bit ESP register zero‑extends the upper 32 bits of RSP, and shows how this stack‑pointer mismatch leads to an access‑violation error that does not appear on Windows 7.

AssemblyWindowsdebugging
0 likes · 6 min read
Understanding Stack Pointer Corruption When Mixing RSP and ESP in 64‑bit Windows: A Reverse‑Engineering Case Study
dbaplus Community
dbaplus Community
Jul 14, 2024 · Fundamentals

Why Some Nordic Programmers Build Entire OSes in Assembly – The Story of MenuetOS

MenuetOS, a fully assembly‑written operating system created by Finnish developer Ville M. Turjanmaa, showcases how a single programmer can build a complete kernel, TCP/IP stack, GUI, and even run classic games, illustrating the Nordic culture of hobbyist OS development and the trade‑offs of assembly‑only design.

AssemblyMenuetOSOperating System
0 likes · 6 min read
Why Some Nordic Programmers Build Entire OSes in Assembly – The Story of MenuetOS
Java Tech Enthusiast
Java Tech Enthusiast
Jun 9, 2024 · Information Security

Exploring Hidden x86 CPU Instructions and Their Security Implications

The article investigates undocumented x86 opcodes, describing a depth‑first search that uses page‑faults to locate hidden instruction boundaries, and reports finding dozens of executable but undocumented instructions on Intel and AMD CPUs, highlighting potential security risks and the need for vigilant hardware analysis.

AssemblyCPUhidden instructions
0 likes · 9 min read
Exploring Hidden x86 CPU Instructions and Their Security Implications
Java Tech Enthusiast
Java Tech Enthusiast
Jun 6, 2024 · Industry Insights

Why Nordic Developers Build Entire Operating Systems From Scratch

The article explores how Nordic programmers like Linus Torvalds, Andreas Kling, and Ville Turjanmaa have built full operating systems—from Linux to SerenityOS and the assembly‑only MenuetOS—highlighting their motivations, technical achievements, performance gains, and the cultural environment that fuels such ambitious open‑source projects.

AssemblyMenuetOSNordic Innovation
0 likes · 6 min read
Why Nordic Developers Build Entire Operating Systems From Scratch
Liangxu Linux
Liangxu Linux
May 21, 2024 · Fundamentals

Inside a Function Call: Registers, Stack, and Assembly Explained

This article systematically analyzes a function call in an embedded system from four perspectives—assembly code, registers, stack layout, and map files—illustrating how the compiler generates the call, what values each register holds, how the stack is allocated, and how to trace execution using disassembly and memory views.

AssemblyRegistersStack
0 likes · 7 min read
Inside a Function Call: Registers, Stack, and Assembly Explained
Ops Development & AI Practice
Ops Development & AI Practice
May 9, 2024 · Backend Development

Boost System and Driver Performance: Combining Go with Assembly

This article explains how integrating Go with assembly language can overcome Go's performance and low‑level control limits for system and driver development, covering basic concepts, integration methods, multi‑CPU architecture support, practical code examples, and the resulting performance and portability benefits.

AssemblyGoMulti-Architecture
0 likes · 6 min read
Boost System and Driver Performance: Combining Go with Assembly
Deepin Linux
Deepin Linux
Apr 25, 2024 · Fundamentals

Understanding Linux System Calls: Mechanism, Debugging, and Implementation

This article explains how Linux system calls serve as the primary interface between user‑space programs and the kernel, describes the transition from user mode to kernel mode, and provides step‑by‑step debugging examples and source‑code snippets for x86_64 architectures.

AssemblyLinuxSystem Calls
0 likes · 31 min read
Understanding Linux System Calls: Mechanism, Debugging, and Implementation
Amap Tech
Amap Tech
Jan 26, 2024 · Fundamentals

Debugging a GCC O3 Loop Vectorization Crash: Analysis, Root Cause, and Fix

A segmentation fault in a simple tile‑index copy loop was traced to GCC 9.2’s -O3 loop‑vectorization pass miscalculating structure offsets, and the issue was resolved by disabling -ftree-loop-vectorize or upgrading the compiler, as newer GCC versions and Clang handle the code correctly.

AssemblyNEONcompiler-bug
0 likes · 26 min read
Debugging a GCC O3 Loop Vectorization Crash: Analysis, Root Cause, and Fix
Open Source Linux
Open Source Linux
Jan 5, 2024 · Fundamentals

How Does the Linux Kernel Boot? A Deep Dive into Decompression and Initialization

This article explains the Linux kernel boot sequence, covering the decompression of a compressed kernel, the early startup code in head.S, the preparation steps performed by U-Boot, and the detailed initialization phases—including architecture setup, memory management, process creation, and the start_kernel routine.

AssemblyInitializationLinux
0 likes · 9 min read
How Does the Linux Kernel Boot? A Deep Dive into Decompression and Initialization
Liangxu Linux
Liangxu Linux
Dec 21, 2023 · Fundamentals

Essential ARM Assembly Instructions Every Linux Developer Should Know

This guide presents the most commonly used ARM assembly instructions—including data processing, transfer, status register access, load/store, exception handling, and pseudo‑ops—explaining their syntax, purpose, and example usages for understanding Linux system startup.

ARMAssemblyboot
0 likes · 8 min read
Essential ARM Assembly Instructions Every Linux Developer Should Know
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 12, 2023 · Backend Development

Why GCC’s Loop Vectorization Crashed My Code and How to Fix It

A client‑reported segmentation fault was traced to changing GCC’s optimization level from -O2 to -O3, revealing a bug in the -ftree-loop-vectorize option that miscalculates struct sizes, and the article explains the analysis, assembly inspection, NEON details, and a practical workaround.

AssemblyNEONdebugging
0 likes · 28 min read
Why GCC’s Loop Vectorization Crashed My Code and How to Fix It
Liangxu Linux
Liangxu Linux
Nov 20, 2023 · Fundamentals

How Memory, Variables, and Pointers Work from First Principles

This article explains how to read and write a tiny 8‑byte memory without any high‑level language or OS, introduces the concept of variables as named memory addresses, shows how pointers store addresses instead of copying data, and demonstrates indirect addressing and linked‑list structures.

AssemblyMemoryVariables
0 likes · 9 min read
How Memory, Variables, and Pointers Work from First Principles
DaTaobao Tech
DaTaobao Tech
Nov 6, 2023 · Mobile Development

Analyzing and Fixing iOS 16 WKWebView Crash via Reverse Engineering and Hooking

By reverse‑engineering the iOS 16 WKWebView image‑analysis crash, the team identified a nil‑buffer bug in VisionKitCore’s CGImage creation, then mitigated it by runtime‑hooking VKCRemoveBackgroundResult’s createCGImage (returning NULL) and suppressing the image‑analysis gesture, reducing crashes from thousands to near zero.

AssemblyCrashAnalysisHooking
0 likes · 29 min read
Analyzing and Fixing iOS 16 WKWebView Crash via Reverse Engineering and Hooking
Tencent Cloud Developer
Tencent Cloud Developer
Oct 26, 2023 · Fundamentals

C++ Value Categories: lvalue, prvalue, xvalue, and Their Role in Function Returns and Move Semantics

The article explains how C++ value categories—lvalue, prvalue, and xvalue—govern function return handling, parameter passing, and object lifetimes, detailing hidden out‑parameters, copy‑elision, const‑reference lifetime extension, rvalue references, and the role of std::move in enabling move semantics.

AssemblyC++lvalue
0 likes · 47 min read
C++ Value Categories: lvalue, prvalue, xvalue, and Their Role in Function Returns and Move Semantics
Alipay Experience Technology
Alipay Experience Technology
Sep 8, 2023 · Mobile Development

Uncovering the iOS 16 Keyboard Crash: Root Cause, Reverse‑Engineered Fix, and Zero‑Crash Deployment

This article details how a hidden memory‑management bug in iOS 16’s keyboard component caused massive crashes in the Alipay app, explains the reverse‑engineering process that identified the faulty UIKeyboardTaskQueue logic, and describes the assembly‑level patch that eliminated the issue across millions of devices.

AssemblyCrashKeyboard
0 likes · 27 min read
Uncovering the iOS 16 Keyboard Crash: Root Cause, Reverse‑Engineered Fix, and Zero‑Crash Deployment
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Aug 18, 2023 · Information Security

Shadow Call Stack (SCS) in Android: Mechanism, Requirements, and Implementation

Android’s Shadow Call Stack (SCS), silently enabled since Android R on AArch64 devices, stores return addresses in a protected register‑based stack separate from the regular stack, complementing stack canaries and requiring hardware support, while developers can activate it via -fsanitize=shadow-call-stack and avoid using X18 elsewhere.

Android SecurityAssemblyLLVM
0 likes · 7 min read
Shadow Call Stack (SCS) in Android: Mechanism, Requirements, and Implementation
DaTaobao Tech
DaTaobao Tech
Aug 14, 2023 · Fundamentals

Quick Guide to ARM Assembly Development: Tips, Bugs, and Performance Optimization

This quick‑start guide walks readers through ARM assembly development by teaching simple template functions, exposing typical parameter‑passing and register bugs with debugging tricks, and demonstrating a depthwise convolution written in assembly that delivers roughly 4.7× faster inference on a Huawei Mate40 Pro compared to its C++ counterpart, while also covering ARM32/ARM64 register conventions, vector instructions, and floating‑point handling.

ARMAssemblyMobile
0 likes · 20 min read
Quick Guide to ARM Assembly Development: Tips, Bugs, and Performance Optimization
Huolala Tech
Huolala Tech
Aug 23, 2022 · Mobile Development

How to Hook objc_msgSend for Precise iOS Method Timing with Assembly

This article explains how to accurately measure the execution time of Objective‑C methods on iOS by implementing a custom objc_msgSend hook in ARM64 assembly, replacing the original implementation with fishhook, and visualizing the results using Chrome tracing, offering a low‑cost, non‑intrusive performance profiling solution.

AssemblyiOSmethod timing
0 likes · 21 min read
How to Hook objc_msgSend for Precise iOS Method Timing with Assembly
Sohu Tech Products
Sohu Tech Products
Jul 20, 2022 · Mobile Development

Understanding and Debugging Native Crashes on Android: Tombstone and Coredump Analysis

This article provides an in‑depth guide to analyzing Android native crashes, explaining common SIGSEGV types, interpreting tombstone logs, extracting register and memory information, using coredumps, and employing tools such as GDB, lldb, ASAN, HWASAN, and assembly inspection to trace and resolve crash causes.

AndroidAssemblyMemory analysis
0 likes · 39 min read
Understanding and Debugging Native Crashes on Android: Tombstone and Coredump Analysis
政采云技术
政采云技术
Jul 19, 2022 · Fundamentals

Linux Boot Process: From BIOS Initialization to Kernel Startup

This article explains the Linux boot sequence on x86 hardware, covering BIOS ROM loading, real‑mode memory layout, the MBR, the setup() assembly routine, transition to protected mode, and the startup_32() function that prepares paging before the kernel begins execution.

AssemblyBIOSBoot Process
0 likes · 12 min read
Linux Boot Process: From BIOS Initialization to Kernel Startup
SQB Blog
SQB Blog
Jun 24, 2022 · Fundamentals

Unlocking Embedded RTOS: A Deep Dive into Multi‑Task Scheduling, IPC, and Chip Porting

This comprehensive guide explores the fundamentals of embedded real‑time operating systems, covering instruction set architecture, hardware‑software ecosystems, multi‑task scheduling algorithms, inter‑process communication primitives, software timers, and concrete RISC‑V and Cortex‑M porting implementations with Rust and assembly examples.

AssemblyRTOSRust
0 likes · 65 min read
Unlocking Embedded RTOS: A Deep Dive into Multi‑Task Scheduling, IPC, and Chip Porting
Tencent Cloud Developer
Tencent Cloud Developer
May 24, 2022 · Backend Development

Three Advanced Go Techniques: Minimal Runtime, JIT Compilation, and Bootstrap

The article demonstrates three advanced Go techniques—eliminating the standard runtime by custom entry points, building a simple Python JIT compiler that translates bytecode to optimized machine code, and bootstrapping the Go compiler itself via AST‑to‑LLVM translation—offering practical code examples that reveal compiler internals.

AssemblyBootstrapGo
0 likes · 21 min read
Three Advanced Go Techniques: Minimal Runtime, JIT Compilation, and Bootstrap
Java Architect Essentials
Java Architect Essentials
May 21, 2022 · Fundamentals

How to Compute an Unsigned Integer Average Without Overflow

This article explores why the naïve (a + b) / 2 formula overflows for 32‑bit unsigned integers and presents several safe techniques—including subtraction‑first, bitwise‑based, wide‑type casting, and carry‑rotate instructions—complete with C++ code and assembly examples.

Assemblyaveragebitwise
0 likes · 11 min read
How to Compute an Unsigned Integer Average Without Overflow
TAL Education Technology
TAL Education Technology
May 19, 2022 · Fundamentals

Learning 8086 Assembly Language: Environment Setup, Sample Program, Registers, Instruction Classification, and Execution Mechanism

This tutorial guides readers through installing a DOS environment, writing and analyzing a simple 8086 assembly program, understanding pseudo‑instructions, registers, instruction categories, execution flow, and data addressing, providing links and code examples for hands‑on learning.

8086AssemblyInstruction Set
0 likes · 5 min read
Learning 8086 Assembly Language: Environment Setup, Sample Program, Registers, Instruction Classification, and Execution Mechanism
ByteDance Terminal Technology
ByteDance Terminal Technology
May 11, 2022 · Fundamentals

Common Misconceptions in iOS15 Dynamic Linking and Mach‑O Fixup Chains

This article clarifies three frequent misunderstandings about iOS15+ dynamic linking—namely the encoding of b/bl instructions, the need for rebase/bind in __TEXT segments, and the mismatch between Mach‑O segment VM size and file size—by explaining the underlying ARM64 architecture, PIC concepts, and providing concrete dyld tool examples.

AssemblyMach-Obinary analysis
0 likes · 11 min read
Common Misconceptions in iOS15 Dynamic Linking and Mach‑O Fixup Chains
IT Services Circle
IT Services Circle
Apr 6, 2022 · Fundamentals

Understanding Function Calls and Stack Frames in Memory

This article explains how function calls are implemented using a stack‑based memory model, describing stack frames, the role of base and stack pointer registers, and the assembly instructions that create and dismantle these frames during program execution.

AssemblyC ProgrammingFunction Calls
0 likes · 7 min read
Understanding Function Calls and Stack Frames in Memory
Tencent Cloud Developer
Tencent Cloud Developer
Mar 10, 2022 · Fundamentals

How to Build a Stackful C++ Coroutine from Scratch: Deep Dive into Context Switching

This article provides a step‑by‑step technical guide to implementing C++ stackful coroutines, covering the design of the owl.context API, low‑level context‑switch principles, register saving conventions on 32‑bit ARM, and complete source code for co_getcontext, co_setcontext, co_swapcontext and co_makecontext with illustrative examples and diagrams.

ARMAssemblySystem Programming
0 likes · 15 min read
How to Build a Stackful C++ Coroutine from Scratch: Deep Dive into Context Switching
Laravel Tech Community
Laravel Tech Community
Jan 4, 2022 · Fundamentals

Differences Between while(1) and for(;;) Loops in C

The article explains the syntax and semantics of while(1) and for(;;) infinite loops in C, compares their generated assembly code, and demonstrates through compiled examples that both constructs produce essentially identical machine code despite minor semantic differences.

AssemblyLoopsc++
0 likes · 4 min read
Differences Between while(1) and for(;;) Loops in C
Baidu Intelligent Testing
Baidu Intelligent Testing
Sep 30, 2021 · Fundamentals

Understanding Core Dumps and Debugging Techniques with GDB

This article explains what program core dumps are, how to interpret core‑dump files, and provides detailed GDB debugging techniques—including register inspection, stack frame analysis, variable printing, memory dumping, and handling optimized code—to locate and resolve the root causes of crashes.

AssemblyLinuxRegisters
0 likes · 16 min read
Understanding Core Dumps and Debugging Techniques with GDB
Tencent Cloud Developer
Tencent Cloud Developer
Aug 9, 2021 · Fundamentals

Performance Evaluation and Implementation Overview of C++ Exceptions

Benchmarking C++ exceptions against error‑code handling reveals that frequent throws incur more than tenfold slowdown due to libc++ runtime functions like __cxa_allocate_exception and stack unwinding, while rare exceptions and empty try blocks add negligible overhead, highlighting the trade‑off between safety and performance.

AssemblyC++Exception
0 likes · 13 min read
Performance Evaluation and Implementation Overview of C++ Exceptions
Tencent Cloud Developer
Tencent Cloud Developer
Jun 3, 2021 · Backend Development

Understanding Go's Memory Allocation: From Assembly Debugging to Runtime Components

The article walks through Go’s memory allocator by first demonstrating assembly‑level debugging with Delve, then detailing its TCMalloc‑inspired design where tiny, small, and large objects follow distinct paths through per‑P caches, central spans, and the global heap, highlighting the roles of mcache, mcentral, mspan, and mheap.

AssemblyGodebugging
0 likes · 28 min read
Understanding Go's Memory Allocation: From Assembly Debugging to Runtime Components
ITPUB
ITPUB
Mar 25, 2021 · Fundamentals

From Switches to Compilers: How Simple Logic Became Modern Programming

The article traces the evolution from primitive CPU operations expressed as binary switches, through the birth of assembly language and low‑level patterns, to the abstraction of recursion, syntax trees, and compilers that translate human‑readable code into machine instructions.

AssemblyRecursioncompiler
0 likes · 11 min read
From Switches to Compilers: How Simple Logic Became Modern Programming
Liangxu Linux
Liangxu Linux
Feb 15, 2021 · Fundamentals

How Linux Implements Per‑CPU Variables: From Definition to Runtime Access

This article explains the concept of per‑CPU variables in the Linux kernel, how they are defined with DEFINE_PER_CPU, linked into the .data..percpu section, initialized during boot, and accessed at runtime via the GS register and macro expansions such as this_cpu_read_stable.

AssemblyLinuxMacro Expansion
0 likes · 16 min read
How Linux Implements Per‑CPU Variables: From Definition to Runtime Access
Liangxu Linux
Liangxu Linux
Feb 3, 2021 · Fundamentals

10 Proven Techniques to Supercharge Your C Code Performance

This article presents ten practical low‑level optimization strategies—ranging from reducing computational workload and extracting common subexpressions to loop unrolling, accumulator parallelism, and conditional‑move coding—each illustrated with C examples, detailed analysis, and before‑after performance comparisons.

AssemblyLoopsc++
0 likes · 18 min read
10 Proven Techniques to Supercharge Your C Code Performance
Liangxu Linux
Liangxu Linux
Jan 27, 2021 · Fundamentals

Is for(;;) Faster Than while(1) in C? A Practical Comparison

The article compares the infinite loop constructs for(;;) and while(1) in C by compiling simple programs, examining the generated assembly with gcc, and shows that both produce identical machine code, while also noting compiler warnings and style preferences.

Assemblyc++code
0 likes · 5 min read
Is for(;;) Faster Than while(1) in C? A Practical Comparison
Architects' Tech Alliance
Architects' Tech Alliance
Jan 3, 2021 · Backend Development

Code Migration Experience: Porting C/C++ Applications from x86 to TaiShan aarch64 Servers

This article presents a comprehensive guide on migrating business code from x86 to TaiShan aarch64 servers, covering language differences, compilation toolchains, architecture‑specific issues such as compiler options, assembly rewrites, memory ordering, floating‑point behavior, and recommended GCC optimizations.

Assemblyaarch64c++
0 likes · 14 min read
Code Migration Experience: Porting C/C++ Applications from x86 to TaiShan aarch64 Servers
ITPUB
ITPUB
Jun 7, 2020 · Fundamentals

Why Do System Calls Cost So Much? Exploring Linux’s Three Execution Methods

This article explains how Linux implements system calls via software interrupts, fast syscall/sysenter instructions, and the virtual dynamic shared object (vDSO), comparing their performance to regular function calls and showing concrete code examples and step‑by‑step execution details.

AssemblyLinuxsyscall
0 likes · 15 min read
Why Do System Calls Cost So Much? Exploring Linux’s Three Execution Methods
Sohu Tech Products
Sohu Tech Products
Jun 3, 2020 · Mobile Development

Understanding Variadic Function Hooking and Stack Context Pollution with TrampolineHook

This article explains why adding parameter‑reading code to a variadic‑function hook causes a deterministic crash due to stack context pollution, analyzes the calling‑stack layout and register usage with ARM64 assembly, and presents a heap‑based context‑saving solution using TrampolineHook to safely intercept variadic methods on iOS.

AssemblyHookingObjective‑C
0 likes · 12 min read
Understanding Variadic Function Hooking and Stack Context Pollution with TrampolineHook
ITPUB
ITPUB
May 16, 2020 · Fundamentals

Exploring Lei Jun’s Elegant 1994 Assembly TSR: RAMinit Source Code

This article presents the complete 1994 assembly source of Lei Jun’s RAMinit TSR program, explains its historical context, describes its hot‑key removal logic, interrupt hooking, environment backup and restoration, and details the low‑level XMS/EMS memory management routines.

AssemblyDoSTSR
0 likes · 27 min read
Exploring Lei Jun’s Elegant 1994 Assembly TSR: RAMinit Source Code
Liangxu Linux
Liangxu Linux
Apr 25, 2020 · Fundamentals

Inside Lei’s 1994 RAMinit TSR: Full Assembly Source and Analysis

This article presents the complete assembly source of the RAMinit TSR program written by Lei in 1994, explains its purpose as a hot‑key‑driven memory‑management utility for DOS, describes its interrupt‑vector handling, memory‑copy routines, and includes detailed comments that reveal the inner workings of this historic piece of system software.

AssemblyDoSLegacy Code
0 likes · 27 min read
Inside Lei’s 1994 RAMinit TSR: Full Assembly Source and Analysis
360 Zhihui Cloud Developer
360 Zhihui Cloud Developer
Feb 13, 2020 · Backend Development

How Go Compiles Range Loops into Assembly: A Deep Dive

This article examines how the Go compiler translates range loops into low‑level assembly instructions, walks through a concrete example with code and assembly output, explains each instruction’s role, and highlights recent compiler improvements that enhance safety and scheduler interaction.

/loopAssemblybackend-development
0 likes · 8 min read
How Go Compiles Range Loops into Assembly: A Deep Dive
macrozheng
macrozheng
Feb 4, 2020 · Fundamentals

Unlocking Computer Fundamentals: From CPU Basics to Assembly Language Explained

Explore the essential building blocks of modern computing, covering CPU architecture, memory hierarchy, binary operations, compression techniques, operating system fundamentals, and assembly language, with clear explanations, diagrams, and code examples that demystify how hardware and software interact at the lowest level.

AssemblyBinaryCPU
0 likes · 74 min read
Unlocking Computer Fundamentals: From CPU Basics to Assembly Language Explained
Programmer DD
Programmer DD
Nov 27, 2019 · Game Development

Why Did Classic NES Games Fit in 128KB? Uncovering Retro Resource Secrets

This article explains how classic NES titles like Super Mario manage to fit all code, graphics, music and level data within a mere 128 KB by exploiting 2‑bit palettes, minimalist MIDI audio, tile reuse and hand‑crafted assembly, revealing a storage gap of five to seven orders of magnitude compared to modern games.

AssemblyGraphicsNES
0 likes · 4 min read
Why Did Classic NES Games Fit in 128KB? Uncovering Retro Resource Secrets
Architects' Tech Alliance
Architects' Tech Alliance
Sep 4, 2019 · Operations

Code Migration Experience: Porting Business Applications from x86 to TaiShan aarch64 Servers

This article shares a detailed experience of migrating business code—including C/C++ and Java applications—from x86 servers to TaiShan aarch64 servers, covering language differences, compilation issues, assembly rewrites, compiler options, and performance optimizations to achieve smoother execution on the new architecture.

Assemblyaarch64code migration
0 likes · 13 min read
Code Migration Experience: Porting Business Applications from x86 to TaiShan aarch64 Servers
Didi Tech
Didi Tech
Apr 18, 2019 · Backend Development

Deep Dive into Go Slices: Creation, Internals, and Append Mechanics

The article explains Go slices as three‑field descriptors pointing to an underlying array, details creation methods, shows the low‑level runtime representation and assembly for make, describes how append triggers growslice with capacity‑doubling or ~25 % growth and alignment, and clarifies sharing, nil slices, and passing semantics.

AssemblyGoMemory Management
0 likes · 28 min read
Deep Dive into Go Slices: Creation, Internals, and Append Mechanics
ITPUB
ITPUB
Jun 22, 2017 · Fundamentals

How Does Linux’s Init Process Switch from Kernel to User Mode?

This article explains how the Linux init process (pid 1) transitions from kernel mode to user mode, detailing the role of kernel_thread, run_init_process, kernel_execve, the int 0x80 system call, register changes, and a practical experiment confirming the __USER_CS value.

AssemblySystem Callinit process
0 likes · 13 min read
How Does Linux’s Init Process Switch from Kernel to User Mode?