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.*/
#include
main()
{
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
.MODEL SMALL
CR equ 0ah ;carriage return
LF equ 0dh ;line feed
EOSTR equ '$'
.stack 200h
.data
message db 'Hello and welcome.'
db CR, LF, EOSTR
.code
print proc near
mov ah,9h ;PCDOS print function
int 21h
ret
print endp
start: mov ax, @data
mov ds, ax
mov dx, offset message
call print
mov ax, 4c00h
int 21h
end start
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
Hello and welcome.
>