ObjAsm is a MASM® compatible single inheritance object oriented implementation for x86 and x64 capable hardware.
It makes easy to perform complex tasks and to write large projects using very efficient assembly code in a more productive way. It has an extensive, optimized, and tested object repository and procedure library that can be used immediately in your applications. Object Oriented Programming (OOP) is a programming paradigm that has become the major component of languages with a high level of abstraction such as C++, Pascal or Python just to mention a few. The main goal of using an OOP paradigm in your applications is to encapsulate the data and code that processes that data in a single entity, called object. The data and associated code are collectively referred to as object members. Some key points about OO paradigm are:
  • The code in an object usually performs some operation on its own data. This code consists of procedures called methods.
  • The data inside an object is considered private. Only the object's code should directly access its data. In assembly you can easily break this rule but at your own risk. This data can be of any type, even other objects.
  • To use an object, you must first create it in memory. This process is called instantiation and the created object is an instance. You can create as many instances in your application, each with their own data. If the objects are no longer needed, you can destroy them releasing the memory for other uses.
  • You can design new objects based on existing objects. This technique is called inheritance. It allows the reuse of a known and proven code. Using inheritance, you can write an entire application by simply modifying or extending existing object members.
The ObjAsm core is a collection of macros and procedures that implement the OO model with negligible overhead.