Program Translation Sequence
Developing a software program to accomplish a particular task, the implementer chooses an appropriate language, develops the algorithm (a sequence of steps, which when carried out in the order prescribed, achieve the desired result), implements this algorithm in the chosen language (coding), then tests and debugs the final result. Here is also a probable maintenance phase also associated.
The chosen language will undoubtedly need to be converted into the appropriate binary bit-patterns which make sense to the target processor (the processor on which the software will be run). This process of conversion is called translation.
The following diagram illustrates the translation sequence necessary to generate machine code
from specific languages.
I propose you to see a very short program in C and Assembly language.
Program written in C Language
/* HELLO.C -- Hello and welcome.*/
printf("Hello and welcome.\n");
Program written in Assembly Language for '86 family machine(Personal Computer with INTEL Microprocessor)
/* HELLO.ASM --Hello and welcome*/
TITLE Hello.asm ;Hello.asm source file
CR equ 0ah ;carriage return
LF equ 0dh ;line feed
EOSTR equ '$'
message db 'Hello and welcome.'
db CR, LF, EOSTR
print proc near
mov ah,9h ;PCDOS print function
start: mov ax, @data
mov ds, ax
mov dx, offset message
mov ax, 4c00h
The program is assembled by typing
> TASM HELLO.asm
Turbo Assembler V1.0 Copyright(c)1988 by Borland International
Assembling file: HELLO.ASM
Error messages: None
Warning messages: None
Remaining memory: 257k
This produces an object file named HELLO.OBJ which must be linked to create an executable file which can run under PCDOS.
> TLINK HELLO.obj
Turbo LinkV2.0 Copyright (c) 1987, 1988 Borland International
The program when run, produces the following output.
Hello and welcome.