Click here to Skip to main content
13,904,127 members
ASM

ASM

Great Reads

by Michael Chourdakis
All in one: x86, x64, Virtualization, multiple cores, along with new additions
by codestarman
X86/ARM emulator written using C++ and assembler for the .NET environment.
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 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.

Latest Articles

by Alex Rakov, Alexandre Bencz
ELENA is a general-purpose, object-oriented, polymorphic language with late binding
by Sarthak S
Assembly inspection and hacking with windbg
by Michael Chourdakis
All in one: x86, x64, Virtualization, multiple cores, along with new additions
by Zuoliu Ding
A discussion on some basic practices highly recommended in Assembly Language Programming.

All Articles

Sort by Score

ASM 

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


Advertise | Privacy | Cookies | Terms of Service
Web06 | 2.8.190306.1 | Last Updated 26 Mar 2019
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid