Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

what is the difference between object code and machine level language

Status
Not open for further replies.

kpraneethin007

Newbie level 6
Joined
Jan 2, 2011
Messages
11
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,350
A compiler used to convert high level language to assembly language. An assembler used to convert assembly language to machine language(executable format)
Then what is an object code?? or machine language and object code same
 

Terminology varies between compilers and assemblers but the usual meaning is that an object code is the result of converting the code to unlinked assembly instructions.

The flow of code is normally:

1. compile or assemble each source code file to it's own object code file
2. link the object files and any library files you have used into executable code.

If you have only one source file it will convert to one object file and produce one executable.
If you have several source files and/or use library files, each will convert to it's own object file and the linker will combine them into a single executable file.

There are several reasons for doing this but the main one is that an assembler/compiler can only produce code for the source you give it but you may have references in your program to routines in other source files. The assembler/compiler will not know the addresses for those routines or functions in libraries which are in files it may not yet have produced. The object files will have 'place holders' where the addresses of routines and functions it can't find in it's own source code have to be inserted. Once all the object files are ready, the linker combines the object files into one and then can tell the address where each routine/function is placed. It then goes through the file and replaces the place holders with the actual addresses to make the executable file.

Brian.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top