Difference between x86, x32, and x64 architectures? Understanding the Differences Between x86 x32 and x64 Architectures When diving into the world of computer architecture you may come across terms such as x86 x3 3 min read 08-10-2024 7
Memory alignment : how to use alignof / alignas? Memory Alignment How to Use alignof and alignas in C Memory alignment is a fundamental concept in computer programming especially when working with low level me 3 min read 07-10-2024 5
Repeated integer division by a runtime constant value Optimizing Repeated Integer Division Beyond the Basics Dividing integers repeatedly by a constant value is a common operation in various algorithms While straig 2 min read 07-10-2024 10
Should using MOV instruction to set SS to 0x0000 cause fault #GP(0) in 64-bit mode? The Great SS Segment Selector Debate Why MOV SS 0x0000 Causes a General Protection Fault in 64 bit Mode Understanding the Problem In 64 bit mode attempting to s 2 min read 06-10-2024 8
Does the red zone still exist even if we use the -mno-red-zone flag in gcc? Does the Red Zone Still Exist with mno red zone The red zone is a region of memory just below the stack pointer in a program and its often used by compilers to 2 min read 05-10-2024 9
GCC generates slow code when targeting more recent sse version Why Your GCC Compiled Code is Slow The SSE Version Conundrum Modern CPUs boast advanced instruction sets like SSE Streaming SIMD Extensions to accelerate perfor 2 min read 04-10-2024 12
How to Change Extended Attributes of Files in Docker Images Across Different Architectures and Save Changes? How to Change Extended Attributes of Files in Docker Images Across Different Architectures and Save Changes Docker is a powerful platform that allows developers 3 min read 30-09-2024 10
Why does this ternary generate more Assembly than an equivalent if? Understanding Why Ternary Operators Generate More Assembly Code than Equivalent If Statements In programming particularly in languages like C C or Java develope 2 min read 30-09-2024 13
Intel PIN, get memory access value of SIMD, standard and multi-memory access instructions Understanding Intel PIN Accessing Memory Values with SIMD Standard and Multi Memory Access Instructions Introduction to Intel PIN Intel PIN is a dynamic binary 3 min read 29-09-2024 8
How to pass args from assembly to C function? How to Pass Arguments from Assembly to C Functions A Comprehensive Guide Passing arguments between Assembly and C can be a crucial skill for programmers working 3 min read 29-09-2024 7
Using nasm the stack grows after passing a label without explicitly approaching the stack Understanding Stack Growth in NASM Passing Labels and Implicit Stack Management When working with assembly language particularly with NASM Netwide Assembler a c 3 min read 28-09-2024 5
Ms detours, modified rax register on returning Understanding MS Detours and Modified RAX Register on Function Returns Introduction In software development especially within the realm of system programming an 2 min read 26-09-2024 15
Spec file for a 64-bit DLL wine wrapper Creating a Spec File for a 64 Bit DLL Wine Wrapper When it comes to running Windows applications on Linux or other operating systems Wine serves as a remarkable 3 min read 26-09-2024 17
In x86_64 Linux NASM, is it possible to have multiple opcodes on one line? Understanding Multiple Opcodes in x86 64 Linux NASM When working with assembly language in x86 64 Linux using NASM Netwide Assembler a common question arises Is 2 min read 26-09-2024 12
Why is the assembly code generated with gcc under windows unable to be assembled under WSL? Why GCC Assembly Code Generated on Windows Cannot Be Assembled Under WSL Understanding why assembly code generated by the GCC GNU Compiler Collection on Windows 2 min read 24-09-2024 19
Wrong slice reference to PE file in manually added section Understanding Wrong Slice Reference to PE File in Manually Added Sections When working with Portable Executable PE files in software development particularly in 3 min read 22-09-2024 34
Why does a for-loop copy not achieve peak CPU-RAM bandwidth on one core? Understanding Why a For Loop Copy Doesn t Achieve Peak CPU RAM Bandwidth on One Core Introduction In programming particularly in performance optimization develo 3 min read 22-09-2024 16
Can NASM be forced to generate mov with offset of 0? Can NASM Be Forced to Generate MOV with Offset of 0 When programming in assembly especially when working with low level instructions one common question that ar 2 min read 22-09-2024 17
dns resolve throw syscall linux Understanding DNS Resolution Through System Calls in Linux DNS Domain Name System resolution is an essential process in networking converting human readable dom 3 min read 21-09-2024 20
Is there a reason that 8 byte std::array comparisons seem to be producing different assembly for char vs. std::byte? Understanding the Discrepancy in Assembly for std array Comparisons char vs std byte In C std array provides a fixed size array wrapper that offers a variety of 2 min read 16-09-2024 41
ModR/M Historical Notation /0.../7 Understanding Mod R M Historical Notation A Deep Dive into Its Meaning and Importance Mod R M notation is a crucial component in the architecture of x86 assembl 3 min read 15-09-2024 18
My kernel-module dont hook systems-calls, how fix that? How to Fix Kernel Module Issues with System Call Hooking When developing a kernel module in Linux one common issue developers encounter is the inability of thei 3 min read 14-09-2024 21
Why does GCC use multiplication by a strange number in implementing integer division? Why GCC Uses Multiplication by a Strange Number for Integer Division Have you ever looked at the assembly code generated by GCC GNU Compiler Collection for inte 2 min read 13-09-2024 22
Cross Compile C Using Clang - can't find header files Cross Compiling C with Clang Resolving Header File Issues Cross compiling the process of compiling code for a different target platform than the one you are cur 2 min read 13-09-2024 27
Building a rust rocket server for ECM. Need to statically link glibc as it does not have one, using cdlibgen for build to use in another C program Building a Rust Rocket Server for ECM with Statically Linked Glibc The Challenge of Static Linking Imagine you re building a Rust Rocket server for an ECM Elect 3 min read 13-09-2024 19