Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Everything / Languages / ASM

ASM

ASM

Great Reads

by Jerry.Wang
Modify methods' IL codes on runtime even if they have been JIT-compiled, supports release mode / x64 & x86, and variants of .NET versions, from 2.0 to 4.5.
by Toby Opferman
Building your own 64-bit Windows Extender
by akyprian
Maximum performance, reduced size applications using 32-bit assembly is easy
by Zuoliu Ding
A discussion on some basic practices highly recommended in Assembly Language Programming.

Latest Articles

by Jerry.Wang
Modify methods' IL codes on runtime even if they have been JIT-compiled, supports release mode / x64 & x86, and variants of .NET versions, from 2.0 to 4.5.
by Toby Opferman
Building your own 64-bit Windows Extender
by akyprian
Maximum performance, reduced size applications using 32-bit assembly is easy
by Zuoliu Ding
A discussion on some basic practices highly recommended in Assembly Language Programming.

All Articles

Sort by Score

ASM 

by Jerry.Wang
Modify methods' IL codes on runtime even if they have been JIT-compiled, supports release mode / x64 & x86, and variants of .NET versions, from 2.0 to 4.5.
by Toby Opferman
Building your own 64-bit Windows Extender
by akyprian
Maximum performance, reduced size applications using 32-bit assembly is easy
by Zuoliu Ding
A discussion on some basic practices highly recommended in Assembly Language Programming.
by Jose A Pascoa
Rolling up a practical solution
by Arman Aşçı
Time division multiplexing between 6 x 7-Segment displays control with Parallel Port and x86 assembly.
by Dr. Song Li
This is a note on how compilers implement function calls to pass the parameters to and get the return value from the called functions.
by Dr. APo
This article presents an experimental platform consisting of two computers to conduct hardware programming and research, unrestricted by any Operating System.
by Babu_Abdulsalam
A Simple Profiler for C++ apps on x64 platform
by flyhigh
Introducing a simple method to display a transparent PNG file.
by Colin Eberhardt
This article describes the development of a Windows Phone 8 Run Tracking application that uses a number of the new Windows Phone 8 features.
by zhzhtst
This article supplies the source code of the _ValidateEH3RN function in Structured Exception Handling.
by JP van Mackelenbergh
Abstracting the ORM Framework via Repository/Unit Of Work patterns
by digital performance
This article shows how to access Windows API with plain x64 assembly programming language (MASM style). It shall also give an overview, how to apply some programming techniques like OOP and multithreading on a low level.
by Rene Pally
Advanced .NET Debugging Extracting Information from Memory
by leon de boer
Introducing SmartStart something like a BIOS for the Pi
by Joshua Tully
A look into what goes into the area of preventing reverse engineering, and gives developers some functions and ideas about preventing reversing engineering of their programs.
by Nish Nishant, Professor Cuthbert Calculus, Glenn Quagmire
This paper is a summary of a research exercise conducted in conjunction by Nish Sivakumar, Professor Cuthbert Calculus, and Glenn Quagmire.
by RockmanZero
An extendable report editor. You can simply add your own controls without recompiling the program or writing annoying plug-ins.
by minor_28
Masm code editor with syntax highlighting, etc.
by akyprian
Display simple, animated GIFs in your applications using the AniGIF custom control (packaged as a DLL and a static library).
by Marcello Cantelmo
Simple check for break-points on eXecution of a system debugger!
by T. Herselman
2 years ago I went OCD on memcpy/memmove; and wrote over 140 variations (80,000 lines of code) of memmove; testing, disassembling, optimizing and benchmarking them on multiple machines. I never released the article or the code; until now! So I need to do it before I loose my mind!
by AlexAbramov
In this article, I will talk about the theories and implementations of API hooking. API hooking is a powerful technique that allows someone to hijack a function and redirect it to a custom one. Anything can be done in these functions before passing control back to the original API.
by Jan Dolinay
This article describes software library for the FRDM-KL25Z board which allows writing programs for this board using the Arduino API.
by Sjoerd_B
ARM assembly for eVC with the Mono Jit macros
by Drag0nHunter
ASM.Net a assembly x86 emulator which emulates the language the managed way
by Mike Hankey
Learn the basic of the AVR micro controller and the assembly language
by 0x3c0
Descriptor tables and interrupts.
by 0x3c0
C++ support code and the console.
by CPallini
An assembly implementation of the AES-128 cipher algorithm for the 8051 microcontroller
by Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use.
by Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use. (I renamed it from Anonymus)
by Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use.
by arnavguddu
Here I will present a simple "Hello World" application that you can boot into from Floppy Drive, like an Operating System.
by S Keller
Writing your own operating system.
by fhrdina
An article on Windows XP logon process modification
by Chad Z. Hower aka Kudzu
A quick view under the hood of Cosmos and how it works
by Hubert Haien
Presentation of a memory-wrapper class written in ASM that provides methods to organize and serialize data. Comes with its own 32 bit algorithm.
by Ziad Elmalki
Replace any method with another method at runtime. Updated for 3.5 SP1.
by Gregory Shpitalnik
How to inject some code into running Linux application
by Russ Osterlund
Code Obfuscation in 64-Bit Land
by David A. Gray
Share Win32 string resources without the risk of conflicting resource IDs
by Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET
by Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET.
by Pritam Zope
In this article we will create a simple kernel such as printing HelloWorld first and then writing functions for printing numbers, Keyboard I/O, Box Drawing GUI, and Tic-Tac-Toe game in kernel in C
by RobLazarus
Review about the Creating Your Own Freaking Awesome Programming Language Book
by Ryan Scott White
CudaPAD is a PTX/SASS viewer for NVIDIA Cuda kernels and provides an on-the-fly view of your Cuda code.
by Toby Opferman
Learn how to debug problems in software.
by Toby Opferman
Introduction to the most important ally in the fight against bugs, the stack.
by Toby Opferman
Introduction to the heap.
by Toby Opferman
This tutorial we will attempt to write a simple debug extension.
by Toby Opferman
Learn how to debug handle leaks in Windows.
by Toby Opferman
Learn the basics of the kernel debugger.
by Toby Opferman
Learn the basics of debugging deadlocks and other issues.
by S Keller
How to build and test your own Operating System.
by Michael Chourdakis
Trigger all your cores from DOS
by bjames02
Learn the benefits of using this simple technique to design and document your code
by Elias Bachaalany
An article showing how you can programmatically check if your code is running inside a virtual machine (such as VPC or VMWare).
by Ben M Watson
Understand exactly what happens during object allocation in .NET, why it's extremely efficient in the common case, and how to trigger slower code paths
by CMalcheski
Part II - Laying the Foundation for the Migration to Assembly
by CMalcheski
How to Create a Complete DirectX Game in Assembly Language
by CMalcheski
App Initialization and Main Window Creation
by CMalcheski
A Full DirectX Sample Application Created in Pure Assembly Language
by gabrielmaldi
A very simple way of doing it.
by CodeProject
Dave Butler, VP and Senior Business Leader at MasterCard, offers developers insight into the company’s worldwide OpenAPI platform.
by Toby Opferman
Introduction to TDI Client drivers and more IRP handling.
by Toby Opferman
Introduction to the Windows display driver model.
by Code Artist
Example implementation of dynamic assembly loading in C#
by Jose A Pascoa
Although most Windows programmers have already used the RichEdit Control, many of them are not aware of all its capabilities. One such capability is image embedding.
by Jerry Evans
Adding cross-platform round-trip JSON serialization to C++ classes
by InvisibleMedia
This article describes how to divide two polynomials and shows the source code to calculate this division. There is also code to add, subtract and multiply two polynomials.
by David A. Gray
Historically, ETW has been portrayed as having a very steep learning curve, along the lines of the effort required to summit Everest. Realizing its potential value, I set about to reduce the effort to that required to summit Pike's Peak.
by William Hey
Factoring classic integers
by skywind3000
A Smallest Game Demo Code
by akyprian
A processes and threads manager application.
by CMalcheski
Part 1 of this article discussed an algorithm for addressing all pixels within a circle with surgical precision, optionally expanded to filling in those pixels as required to create a color wheel; this is part 2 of 2, covering the actual implementation.
by Jan Dolinay
This article describes faster but still easy-to-use version of digital I/O for Arduino
by Tomek Kawecki
An article which describes how to implement a fast polymorphic math parser using machine code generation methods.
by Ultrano
Optimized implementation of a readers/writers-lock sync object.
by Sanmayce
Tuned function for searching a needle in a haystack
by Murali Kartha
How to get the virtual address of an API in a user land process from Ring0
by Jose A Pascoa
Using Borland Assembler Language in 32-bit and 64-bit Delphi programs.
by Simbey
The CNativeInvoke class generates x86 function calling code at runtime and executes it.
by JorgeLuisOrejel
This article is based on Chapter 2 of my unpublished textbook “Applied Algorithms and Data Structures.
by JIANGWilliam
This article introduces a handy way to get the calling Testing Assembly from a called Assembly
by Jeffrey Walton
Add functionality to a project using existing compiled machine code.
by Sarthak S
Assembly inspection and hacking with windbg
by cyb70289
Inject user mode routine into kernel space and execute
by Tomas "Frooxius" Mariancik
Explanation of the basic workings of the computer in simple language.
by icemanind
This article takes you through a step-by-step process of creating your own virtual machine.
by icemanind
This article takes you through a step-by-step process of creating your own virtual machine.
by Apriorit Inc, Alex Kolesnyk
This article describes the first steps in low-level programming on the example of developing of simple boot loader
by MSBassSinger
Compiling and running C# code from your application.
by Doga Arinir
Calling C++ operations from assembler code using member function pointers.
by Carles Cortés
Macros to help assembler programmers to improve source code
by siyahdeniz
How to use debug
by Sasha Goldshtein
This article shows several examples of situations where understanding assembly language helps debug seemingly impossible problems with .NET applications.
by Palavos
x8086 assembly program that encrypts/decrypts text input from the keyboard by using basic assembly language ideas
by Christophe Duparquet
This article introduces a hardware abstraction tool for microcontroller programming.
by cyb70289
An I/O port sniffer using hardware debug registers.
by CMalcheski
Ditching the slowdowns and applying a little elbow grease can create dramatic speed improvements in GDI image blending.
by Gregory Morse
UTM based on mov is Turing-complete paper x86 and x86-64
by codekaizen
How much faster will implementing "the generic bad algorithm" in SSE2 make it?
by Ashkbiz Danehkar
This article demonstrates five steps to inject your code in a portable executable (EXE, DLL, OCX,...) file without recompiling source code.
by Antonio Feijao
A library that implements remote code injection for all Windows versions.
by Sachin R Sangoi
Difference between different the calling conventions.
by Victor Soldatov
A coarse approach to operate huge integers.
by perilbrain
A simple technique to integrate a custom build tool in VS 2010.
by theonemule
To fully take advantage of parallelization features, developers have to change how they code. But a great deal of optimizations can be made through Intel’s parallelization tool, Intel Advisor.
by Rene Pally
Intercepting .NET SQL queries at runtime - SQL Management Studio case.
by Nathan Campos
Shows how to create a simple DLL and invoke it in another program
by Joshua Tully
A brief introduction into Windows anti-debugging techniques.
by Sasha Goldshtein
In this article, we will look into JIT optimizations, with specific focus on inlining.
by Peregrine Falcon
Disabling tooltips system-wide - efficiently!
by CPallini
Programming Microchip PIC32MM microcontrollers in C++ and assembly
by nick.p.everdox
Usage of Intel/AMD extended processor features.
by Jeremy Falcon
A beginner's guide to talking like a computer.
by Michael Chourdakis
Try deep CPU features
by Naveen
Loader snaps
by Jose A Pascoa
SIMD instruction sets may expect a special alignment of memory, but when that memory is on the stack MASM does not provide alignment facilities.
by kim.david.hauser
An Image fader application. This hides information behinde an image and fades it out onMouseOver to display the content behind the image. Useful for hiding something, or as a stylish accessory.
by Don Clugston
A comprehensive tutorial on member function pointers, and an implementation of delegates that generates only two ASM opcodes!
by Asif Bahrainwala
Detect memory leaks
by Kewin Rausch
How an application performs metamorphism to adapt and survive in an "hostile" environment.
by Jose A Pascoa
This article deals with building a standalone 64-bit .NET .exe file that is statically linked with an Assembly Language compiled object file.
by leon de boer
More playing, crying and laughing with the Raspberry Pi
by Octavio Sanchez Huerta
Building a robotic arm with 4 degress of freedom using PIC16F628A and Servo's
by Andrea Simonassi
The first and simplest of the multiplication algorithms, fast enough to multiply not too large numbers
by Andrea Simonassi
A simple subtraction algorithm for multiple precision arithmetic
by Andrea Simonassi
The simplest multiple precision sum algorithm
by Jose A Pascoa
Impossible to beat the C++ compiler?
by Nicolas Dorier
Debugger API, explore and modify running program easily
by Maruf Maniruzzaman
Environment settings for OS development
by Tolga Birdal
Fast image inversion forms a good basis for optimizing pixel wise operations. We will discuss the ways to achieve the best speed on this inversion operator.
by Peter Kankowski
Optimizing string-manipulation functions.
by Michael Mangelsdorf
A DLL implemented in assembler featuring a console GUI component
by Quake2th
The first part of a two-part article which will illustrate how to redirect the PLT of a process through the injection of a shared object into its address space.
by John Jiyang Hou
An algorithm to determine if a point is inside a 3D convex polygon for a given polygon vertices in MASM Assembly
by Werner Willemsens
An article on analysing a program exception or software crash.
by Daniel Pistelli
A powerful x86/x64 Hook-Engine
by Kristoffer Blasiak
Automated proxy DLL generation with 64 and 32 bit DLL support
by Matthew Faithfull
Querysoft Open Runtime: Architecture compatibility aspect.
by Shao Voon Wong
Guess what these assembly instructions with the same source and destination operands do?
by AlexAbramov
Ever wanted to know how to call internal functions of other processes? This is an article on just that -- you'll learn how to read disassembled code in a project where the source code is known, and then apply that knowledge on an application where it isn't.
by leon de boer
Third in the series of frustrations and adventures with the Raspberry Pi
by Rajasekharan Vengalil
How to write a program that deletes itself
by Sheshnath Kumar
This article will find out a solution to serialize/deserialize object by reference at server and client, also will serialize/deserialize objects having circular references.
by Sanmayce
An heavily optimized LZSS decompression etude in C
by Zuoliu Ding
A discussion on some MASM Macro usages, including ECHO directive, parameter type/size check, and repetitions with location counter $.
by Zuoliu Ding
A discussion on how switch/case is executed, by reverse engineering in VC++
by InvisibleMedia
This article is written right after a new conversation with ChatGPT (chat.openai.com). This conversation is the next step in writing a new algorithm that sorts numbers into o(n). And, ChatGPT says that it is possible to compute a sorting algorithm to have the complexity in o(n).
by David A. Gray
This article documents issues that I have identified in the new secure overloads of the CRT buffered print routines.
by Samet KILICTAS
Stepper motor And seven-segment display control with parallel port using Assembly Language
by jmlb
Creating a project with Keil for a 32KB program space
by AmrThabet
How to write a reliable shellcode on win32, how to bypass the obstacles that you will face in writing a win32 shellcode and how to implement your shellcode into Metasploit
by Drew_Benton
This is a complete beginners guide to codecaves that covers the main topics of: what a codecave is, what a codecave can be used for, and how to use a codecave.
by David A. Gray
The Excel powered resource generator, version 2, is vastly improved and better documented.
by Michael Chourdakis
All in one: x86, x64, Virtualization, multiple cores, along with new additions
by Michael Chourdakis
All in one article about raw CPU technologies, access multiple cores and protected or long mode from DOS while still having access to DOS interrupts
by shunninghuang
C# arcade emulator, ROM hacking
by Jose A Pascoa
The much talked about Kernel data structures
by Michael Chourdakis
Immerse yourself in system programming!
by The Ultimate Toolbox
COXDateTimeCtrl provides a handy and flexible method of Date/Time entry and display.
by Russ Osterlund
A totally new version of the article I wrote many years ago called "There and Back Again or Stepping Through the JIT Thunk Layer" but this time examines 64-bit processes and V4.0 of Microsoft's .NET runtime.
by Russ Osterlund
This article examines the JIT thunk layers that your code executes when a method is run for the first time.
by John_Tang
An introduction to thunk and its uses in callback handling, interface marshaling, and supporting multiple inheritance in C++.
by Zuoliu Ding
A discussion on how Visual C/C++ code works with bit-wise logical and shift operators, as well as a loop optimization.
by SergStrashko
Introduce the algorithm and technique for pre-drawing process speed up.
by Nadeem Afana
An article on mixed-language programming.
by f2
A beginner's introduction to one of the optimization methods.
by David A. Gray
Use static buffers to guarantee that error message reporting succeeds, even when token replacement is required, and memory is low.
by Michael Chourdakis
Curious on how you create a hypervisor app? Read mode!
by ISpliter
When discussing VB6, we should look at the reality of the situation and not on preconceived opinions. New source code projects are made daily in Visual Basic 6.0. The paper proposes the reintroduction of Visual Basic 6.0 on the market, in parallel with Visual Studio line.
by Chad Z. Hower aka Kudzu
Several users have written to me requesting information on the new Cosmos X86 assembly level debugger. Because of the great interest I have written this short preview article.
by Southmountain
An intensive research is given on this topic. A handy utility tool is built to check if an assembly unmanaged or managed, built for 32-bit or 64-bit Windows.
by Jan Dolinay
This article explains why the Arduino digital I/O functions are slow and compares them with faster implementation used in Wiring framework.
by bjames02
An article explaining the benefits of learning assembly language
by IndioX86
An article explaining several Win32 reverse engineering techniques applied to Live Messenger research and plug-in development.
by nick.p.everdox
Working alongside Windows KPP (patchguard) and hooking system services
by AshakiranBhatter
Understanding FAT file system and kernel programming in C/C++
by AshakiranBhatter
How to boot a floppy image with your own hand written code in C and Assembly
by AshakiranBhatter
Reading the contents of a floppy disk using BIOS interrupts and Services.
by ProtoBytes
Review of Randall Hyde's Write Great Code Vol. 2
by Member 13737597
This article shows you how to implement trampolines on x64, introduces the idea of sync and async hooks, and dynamically added runtime filters and loggers.
by Member 13737597
This article shows how to automatically catch memory access (read /write) for some memory region and log these changes into file
by Nitay Artenstein
An in-depth look at how to disassemble the x86 instruction set, and how to put it to good use in your own code injections
by codestarman
X86/ARM emulator written using C++ and assembler for the .NET environment.