Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

 
4.4 2-PASS ASSEMBLY

Some things depend of 2PASS assembly. In first pass, mas do:
 
  • find all labels and calculate offset (depend of .org directive)
  • include files (only if specify .include)
  • .org directive


First pass produce temporal file. This file is text file which have extension .$$$. On most systems, temporally of test.a' is 'test.a.$$$'. If file already exist it will be overwritten! Temp file is same like start file, but there is no labels:

  ; test.a   ; test.a.$$$

 start:   

  movlw 0x10   movlw 0x10

  movwf 0x20   movwf 0x20
If .include directive is used, temp file is longer than start file. If pass1 find .org directive, current-offset is evaluated to new value, and output to temp file is same line.

All operands of instructions are expressions. So, operands can reference non-defined labels, but can not reference non-declared names whose type is other than L_LABEL.
 

[PREV][INDEX][NEXT]