The steps involved in Program Development and Execution of assembly language programs. Fig. 8.1 shows these steps. The left side of the figure shows the time period, at which each step in the overall process takes place.
The first step in the development process is to write an assembly language program. The assembly language program can be written with an ordinary text editor such as word star, edit and so on. The assembly language program text is an input to the assembler.
The assembler translates assembly language statements to their binary equivalents, usually known as object code. Time required to translate assembly code to object code is called Assemble Time. During assembling process assembler checks for syntax errors and displays them before giving object code module.
The object code module contains the information about where the program or module to be loaded in memory. If the object code module is to be linked with other separately assembled modules then it contains additional linkage information. At link time, separately assembled modules are combined into one single load module, by the linker.
The linker also adds any required initialization or finalization code to allow the operating system to start the program running and to return control to the operating system after the program has completed.
Most linkers allow assembly language modules to be linked with object code modules compiled from high-level languages as well. This allows the programmer to insert a time-critical assembly language routines, library modules into a program.
At load time, the program loader copies the program into the computer’s main memory, and at execution time, program execution begins