How to build a program and execute an application entirely built in x86 assembly

In the previous article, we discussed an overview of common x86 instructions which can be used in writing assembly programs. With the we have gained so far, we are in a good position to begin writing our first assembly program.

This article provides an overview of build a program and execute an application entirely built in x86 assembly.

Input and output: x86 system calls

Operating systems contain routines to perform various low-level operations. If we want to invoke these routines from our program, we need to invoke system calls. A system call is a bridge between the user program and the operating system routine. If we want to write a string to the output console, instead of writing the routine from scratch every time, we can make use of a routine that already exists in the operating system. This can be achieved using a system call.

According to Wikipedia, “A system call is how a program requests a service from an operating system’s kernel. This may include hardware-related services (e.g., accessing the hard disk), creating and executing new processes, and communicating with integral kernel services (like scheduling). System calls provide an essential interface between

Read More: https://resources.infosecinstitute.com/topic/how-to-build-a-program-and-execute-an-application-entirely-built-in-x86-assembly/