title: Assembling and linking steps for assembly language
body: <ol>
  <li><p>I was wondering what is the purpose
  of linking step after assembling
  step? Why not run the output of
  assembler without the linking step?</p>
  
  <p>For C, linking is to combine several
  object files generated by
  compilation into a single object
  file. But for assembly language,
  there is just one object file to
  "link", so why bother to link a
  single object file? For example,
  <a href="http://zahidirfan.blogspot.com/2010/01/two-steps-to-using-assembly-in-linux.html" rel="nofollow">http://zahidirfan.blogspot.com/2010/01/two-steps-to-using-assembly-in-linux.html</a></p>
  
  <p>If there is only one object file and no library is needed, will linking be unnecessary? Just like in the example I gave above?</p></li>
  <li><p>Do the output of assembler and
  output of the linker have the same
  format? Are they both binary files?</p></li>
  </ol>
  
  <p>Thanks and regards!</p>