Click here to Skip to main content
15,436,350 members
Everything / Programming Languages / ASM

ASM

ASM

Great Reads

by codestarman
X86/ARM emulator written using C++ and assembler for the .NET environment.
by Jose A Pascoa
Rolling up a practical solution
by Ryan S White
CudaPAD is a PTX/SASS viewer for NVIDIA Cuda kernels and provides an on-the-fly view of your Cuda code.
by CMalcheski
How to Create a Complete DirectX Game in Assembly Language

Latest Articles

by Michael Chourdakis
Try deep CPU features
by Andrea Simonassi
A simple subtraction algorithm for multiple precision arithmetic
by Andrea Simonassi
The first and simplest of the multiplication algorithms, fast enough to multiply not too large numbers
by Andrea Simonassi
The simplest multiple precision sum algorithm

All Articles

Sort by Score

ASM 

1 May 2014 by codestarman
X86/ARM emulator written using C++ and assembler for the .NET environment.
1 Nov 2017 by Jose A Pascoa
Rolling up a practical solution
11 Jul 2020 by Ryan S White
CudaPAD is a PTX/SASS viewer for NVIDIA Cuda kernels and provides an on-the-fly view of your Cuda code.
8 Jun 2017 by CMalcheski
How to Create a Complete DirectX Game in Assembly Language
26 Apr 2016 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.
17 Sep 2017 by leon de boer
Introducing SmartStart something like a BIOS for the Pi
5 Feb 2017 by Gregory Morse
UTM based on mov is Turing-complete paper x86 and x86-64
31 Aug 2016 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.
26 Jun 2018 by CMalcheski
A Full DirectX Sample Application Created in Pure Assembly Language
11 Dec 2016 by Russ Osterlund
Code Obfuscation in 64-Bit Land
9 Jul 2012 by perilbrain
A simple technique to integrate a custom build tool in VS 2010.
8 Jun 2017 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.
18 Jan 2017 by leon de boer
Third in the series of frustrations and adventures with the Raspberry Pi
3 Nov 2011 by Rene Pally
Advanced Debugging Processes
14 Dec 2019 by Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET.
23 Apr 2019 by Member 13737597
This article shows how to automatically catch memory access (read /write) for some memory region and log these changes into file
3 Sep 2008 by RockmanZero
An extendable report editor. You can simply add your own controls without recompiling the program or writing annoying plug-ins.
14 Jun 2017 by CMalcheski
Part II - Laying the Foundation for the Migration to Assembly
4 Mar 2016 by JorgeLuisOrejel
This article is based on Chapter 2 of my unpublished textbook “Applied Algorithms and Data Structures.”
13 Feb 2013 by nick.p.everdox
Working alongside Windows KPP (patchguard) and hooking system services
12 Jul 2016 by David A. Gray
Share Win32 string resources without the risk of conflicting resource IDs
14 Nov 2019 by CPallini
An assembly implementation of the AES-128 cipher algorithm for the 8051 microcontroller
30 Jun 2009 by siyahdeniz
How to use debug
27 Mar 2013 by nick.p.everdox
Usage of Intel/AMD extended processor features.
28 Mar 2017 by Kristoffer Blasiak
Automated proxy DLL generation with 64 and 32 bit DLL support
15 Sep 2017 by CMalcheski
Initializing DirectX
26 Mar 2018 by William Hey
Factoring classic integers
4 Dec 2021 by Shao Voon Wong
Guess what these assembly instructions with the same source and destination operands do?
4 Nov 2013 by CodeProject
Dave Butler, VP and Senior Business Leader at MasterCard, offers developers insight into the company’s worldwide OpenAPI platform.
8 Nov 2018 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.
4 Mar 2016 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
15 Apr 2012 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.
1 Jul 2014 by JIANGWilliam
This article introduces a handy way to get the calling Testing Assembly from a called Assembly
27 Feb 2017 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.
11 Jun 2022 by Andrea Simonassi
The simplest multiple precision sum algorithm
8 Apr 2009 by Naveen
Loader snaps
11 Jun 2022 by Andrea Simonassi
A simple subtraction algorithm for multiple precision arithmetic
11 Jun 2022 by Andrea Simonassi
The first and simplest of the multiplication algorithms, fast enough to multiply not too large numbers
2 May 2021 by Michael Chourdakis
All in one: x86, x64, Virtualization, multiple cores, along with new additions
24 Sep 2008 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.
23 Jun 2009 by Ziad Elmalki
Replace any method with another method at runtime. Updated for 3.5 SP1.
4 Jan 2013 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.
2 Apr 2010 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.
5 Aug 2014 by Babu_Abdulsalam
A Simple Profiler for C++ apps on x64 platform
27 Aug 2007 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.
6 Aug 2004 by Toby Opferman
Learn the basics of the kernel debugger.
31 Dec 2008 by Samet KILICTAS
Stepper motor And seven-segment display control with parallel port using Assembly Language
10 Jul 2017 by CMalcheski
App Initialization and Main Window Creation
20 Mar 2004 by Toby Opferman
Introduction to the heap.
7 Aug 2014 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.
17 Nov 2009 by 0x3c0
Descriptor tables and interrupts.
8 Dec 2009 by Apriorit Inc, Eugene Wineblat
In this article, we continue investigation in the field of hiding application in the system. This article will tell where Windows OS stores the services and how uses them. We’ll discuss how this knowledge can be applied to finding our custom service and hiding it.
30 Dec 2018 by Michael Chourdakis
Immerse yourself in system programming!
3 Nov 2008 by IndioX86
An article explaining several Win32 reverse engineering techniques applied to Live Messenger research and plug-in development.
5 Jul 2016 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!
13 Mar 2014 by AshakiranBhatter
Understanding FAT file system and kernel programming in C/C++
5 May 2010 by fhrdina
An article on Windows XP logon process modification
3 Dec 2009 by Tomek Kawecki
An article which describes how to implement a fast polymorphic math parser using machine code generation methods.
16 Oct 2013 by AshakiranBhatter
Reading the contents of a floppy disk using BIOS interrupts and Services.
27 Dec 2005 by Ashkbiz Danehkar
This article demonstrates five steps to inject your code in a portable executable (EXE, DLL, OCX,...) file without recompiling source code.
15 Feb 2012 by Sasha Goldshtein
This article shows several examples of situations where understanding assembly language helps debug seemingly impossible problems with .NET applications.
7 Oct 2016 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.
23 Feb 2016 by Zuoliu Ding
A discussion on some MASM Macro usages, including ECHO directive, parameter type/size check, and repetitions with location counter $.
27 Feb 2022 by shunninghuang
C# arcade emulator, ROM hacking
9 Nov 2008 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.
29 Jan 2019 by Zuoliu Ding
A discussion on some basic practices highly recommended in Assembly Language Programming.
4 May 2008 by Sasha Goldshtein
In this article, we will look into JIT optimizations, with specific focus on inlining.
4 Oct 2017 by CMalcheski
Ditching the slowdowns and applying a little elbow grease can create dramatic speed improvements in GDI image blending.
16 May 2014 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.
7 Nov 2011 by Antonio Feijao
A library that implements remote code injection for all Windows versions.
23 Apr 2017 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.
5 Mar 2014 by Mike Hankey
Learn the basic of the AVR micro controller and the assembly language
21 Aug 2009 by Werner Willemsens
An article on analysing a program exception or software crash.
17 Dec 2019 by Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET
13 Jan 2018 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
1 Oct 2009 by 0x3c0
C++ support code and the console.
23 Jul 2009 by Apriorit Inc, Alex Kolesnyk
This article describes the first steps in low-level programming on the example of developing of simple boot loader
19 Jan 2016 by David A. Gray
This article documents issues that I have identified in the new secure overloads of the CRT buffered print routines.
28 Mar 2004 by Toby Opferman
Introduction to the most important ally in the fight against bugs, the stack.
2 Oct 2013 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
29 Jan 2006 by Toby Opferman
Introduction to the Windows display driver model.
16 Jan 2012 by Tomas "Frooxius" Mariancik
Explanation of the basic workings of the computer in simple language.
14 Oct 2008 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.
1 Dec 2012 by Nicolas Dorier
Debugger API, explore and modify running program easily
27 Apr 2005 by Toby Opferman
Introduction to TDI Client drivers and more IRP handling.
1 Jan 2013 by Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use.
22 Sep 2015 by Jerry Evans
Adding cross-platform round-trip JSON serialization to C++ classes
31 Dec 2018 by Michael Chourdakis
Curious on how you create a hypervisor app? Read mode!
29 Sep 2014 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
10 Apr 2008 by Daniel Pistelli
A powerful x86/x64 Hook-Engine
12 Jul 2016 by David A. Gray
The Excel powered resource generator, version 2, is vastly improved and better documented.
12 Feb 2009 by Gregory Shpitalnik
How to inject some code into running Linux application
29 Jul 2009 by SergStrashko
Introduce the algorithm and technique for pre-drawing process speed up.
13 May 2017 by CMalcheski
64-bit calling convention
24 Nov 2014 by Jeremy Falcon
A beginner's guide to talking like a computer.
3 Jul 2011 by Chad Z. Hower aka Kudzu
A quick view under the hood of Cosmos and how it works
20 May 2009 by cyb70289
Inject user mode routine into kernel space and execute
7 Aug 2004 by Toby Opferman
Learn the basics of debugging deadlocks and other issues.
5 Sep 2017 by Brian Aberle
XMLFoundation is the fastest XML Parser available. It is also a framework foundation for an application that uses XML to enable Object-XML mappings and Application Layer binding to XML Data objects.
14 Jan 2014 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.
3 Jul 2011 by Chad Z. Hower aka Kudzu
A quick view under the hood of Cosmos and how it works
20 May 2009 by cyb70289
Inject user mode routine into kernel space and execute
7 Aug 2004 by Toby Opferman
Learn the basics of debugging deadlocks and other issues.
5 Sep 2017 by Brian Aberle
XMLFoundation is the fastest XML Parser available. It is also a framework foundation for an application that uses XML to enable Object-XML mappings and Application Layer binding to XML Data objects.
14 Jan 2014 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.
9 Aug 2012 by Dr. APo
This article presents an experimental platform consisting of two computers to conduct hardware programming and research, unrestricted by any Operating System.
19 Mar 2004 by Toby Opferman
Learn how to debug problems in software.
17 Aug 2009 by Michael Mangelsdorf
A DLL implemented in assembler featuring a console GUI component
17 Feb 2015 by Jan Dolinay
This article describes software library for the FRDM-KL25Z board which allows writing programs for this board using the Arduino API.
26 Dec 2011 by Drag0nHunter
ASM.Net a assembly x86 emulator which emulates the language the managed way
2 Nov 2011 by Rene Pally
Advanced .NET Debugging Extracting Information from Memory
10 May 2012 by icemanind
This article takes you through a step-by-step process of creating your own virtual machine.
9 Mar 2015 by Jan Dolinay
This article describes faster but still easy-to-use version of digital I/O for Arduino
10 Feb 2005 by Russ Osterlund
This article examines the JIT thunk layers that your code executes when a method is run for the first time.
1 Jan 2013 by Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use.
17 Oct 2011 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.
20 Apr 2015 by AshakiranBhatter
How to boot a floppy image with your own hand written code in C and Assembly
19 Feb 2008 by codekaizen
How much faster will implementing "the generic bad algorithm" in SSE2 make it?
12 May 2014 by MSBassSinger
Compiling and running C# code from your application.
11 Oct 2006 by S Keller
Writing your own operating system.
22 Jul 2010 by cyb70289
An I/O port sniffer using hardware debug registers.
15 Dec 2016 by leon de boer
More playing, crying and laughing with the Raspberry Pi
4 Apr 2005 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).
19 Dec 2012 by Zuoliu Ding
A discussion on how switch/case is executed, by reverse engineering in VC++
10 Dec 2008 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.
1 Jan 2013 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)
24 Mar 2004 by Toby Opferman
This tutorial we will attempt to write a simple debug extension.
1 Jul 2022 by Michael Chourdakis
Try deep CPU features
7 Mar 2008 by Jeffrey Walton
Add functionality to a project using existing compiled machine code.
15 Dec 2008 by Murali Kartha
How to get the virtual address of an API in a user land process from Ring0
16 Aug 2010 by Rene Pally
Intercepting .NET SQL queries at runtime - SQL Management Studio case.
11 Jul 2013 by Matthew Faithfull
Querysoft Open Runtime: Architecture compatibility aspect.
8 May 2004 by Toby Opferman
Learn how to debug handle leaks in Windows.
8 Jan 2019 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
5 Apr 2005 by Don Clugston
A comprehensive tutorial on member function pointers, and an implementation of delegates that generates only two ASM opcodes!
26 Dec 2018 by Michael Chourdakis
Trigger all your cores from DOS
18 Jul 2008 by John_Tang
An introduction to thunk and its uses in callback handling, interface marshaling, and supporting multiple inheritance in C++.
22 Jan 2017 by Kewin Rausch
How an application performs metamorphism to adapt and survive in an "hostile" environment.
18 Sep 2008 by Joshua Tully
A brief introduction into Windows anti-debugging techniques.
4 Jun 2016 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.
22 Aug 2016 by Sanmayce
Tuned function for searching a needle in a haystack
16 Sep 2015 by minor_28
Masm code editor with syntax highlighting, etc.
6 Feb 2012 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
6 Jul 2016 by Victor Soldatov
A coarse approach to operate huge integers.
29 Aug 2014 by Asif Bahrainwala
Detect memory leaks
23 Mar 2015 by Sanmayce
An heavily optimized LZSS decompression etude in C
4 May 2017 by Jose A Pascoa
Impossible to beat the C++ compiler?
20 Sep 2012 by Palavos
x8086 assembly program that encrypts/decrypts text input from the keyboard by using basic assembly language ideas
22 Sep 2013 by Simbey
The CNativeInvoke class generates x86 function calling code at runtime and executes it.
11 Feb 2019 by Sarthak S
Assembly inspection and hacking with windbg
25 Jan 2011 by jmlb
Creating a project with Keil for a 32KB program space
2 Jun 2015 by David A. Gray
Use static buffers to guarantee that error message reporting succeeds, even when token replacement is required, and memory is low.
20 Oct 2007 by akyprian
A processes and threads manager application.
30 Jun 2015 by Toby Opferman
Building your own 64-bit Windows Extender
19 Sep 2005 by Doga Arinir
Calling C++ operations from assembler code using member function pointers.
4 Jul 2011 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.
30 Dec 2009 by ProtoBytes
Review of Randall Hyde's Write Great Code Vol. 2
20 Jul 2017 by Jose A Pascoa
The much talked about Kernel data structures
5 Mar 2007 by Ultrano
Optimized implementation of a readers/writers-lock sync object.
28 Jun 2010 by bjames02
An article explaining the benefits of learning assembly language
27 Feb 2010 by icemanind
This article takes you through a step-by-step process of creating your own virtual machine.
26 May 2019 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.
27 Jan 2010 by Rajasekharan Vengalil
How to write a program that deletes itself
29 Nov 2006 by S Keller
How to build and test your own Operating System.
7 Jul 2018 by CPallini
Programming Microchip PIC32MM microcontrollers in C++ and assembly
3 Oct 2011 by Jose A Pascoa
Using Borland Assembler Language in 32-bit and 64-bit Delphi programs.
26 Aug 2015 by Christophe Duparquet
This article introduces a hardware abstraction tool for microcontroller programming.
10 Oct 2013 by Code Artist
Example implementation of dynamic assembly loading in C#
15 Aug 2012 by Arman Aşçı
Time division multiplexing between 6 x 7-Segment displays control with Parallel Port and x86 assembly.
11 Apr 2019 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.
8 Jul 2013 by JP van Mackelenbergh
Abstracting the ORM Framework via Repository/Unit Of Work patterns
9 Sep 2021 by Carles Cortés
Macros to help assembler programmers to improve source code
5 Jun 2008 by Maruf Maniruzzaman
Environment settings for OS development
15 Sep 2004 by RedSunBeer
Some thoughts on estimating before having a design in place.
14 Jul 2007 by Sjoerd_B
ARM assembly for eVC with the Mono Jit macros
4 Oct 2009 by Nathan Campos
Shows how to create a simple DLL and invoke it in another program
2 May 2009 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.
26 Jun 2010 by bjames02
Learn the benefits of using this simple technique to design and document your code
25 Aug 2007 by The Ultimate Toolbox
COXDateTimeCtrl provides a handy and flexible method of Date/Time entry and display.
3 Oct 2004 by f2
A beginner's introduction to one of the optimization methods.
23 Jul 2008 by arnavguddu
Here I will present a simple "Hello World" application that you can boot into from Floppy Drive, like an Operating System.
19 Jan 2013 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.
19 Nov 2011 by RobLazarus
Review about the Creating Your Own Freaking Awesome Programming Language Book
27 Sep 2005 by Peregrine Falcon
Disabling tooltips system-wide - efficiently!
26 Jun 2009 by resedit
An quick introduction to ResEdit resource editor
5 Apr 2007 by akyprian
Display simple, animated GIFs in your applications using the AniGIF custom control (packaged as a DLL and a static library).
18 Jul 2011 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.
8 Sep 2008 by flyhigh
Introducing a simple method to display a transparent PNG file.
9 Sep 2016 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.
26 Dec 2004 by Peter Kankowski
Optimizing string-manipulation functions.
1 Feb 2005 by Sachin R Sangoi
Difference between different the calling conventions.
19 Jul 2005 by Nadeem Afana
An article on mixed-language programming.
30 Dec 2006 by akyprian
Maximum performance, reduced size applications using 32-bit assembly is easy
11 May 2021 by Octavio Sánchez Huerta
Building a robotic arm with 4 degress of freedom using PIC16F628A and Servo's