You are on page 1of 2

Assembler Pass One

Begin pass 1

LC ¬ 0

Read next line

Analyze line
for syntax

yes
count error any error

no
Determine
statement type

yes
.END continue with
pass 2
No

yes
label label value is
LC store name and
No value in sym table
yes
Sym Def compute symbol
value specification
No
yes
storage compute size of
allocation
No increment LC
yes by size
instruc compute size of
instruction
No
yes
comment

No
No yes
Invalid directive perform function
statement
Assembler Pass Two

Begin Pass 2

Initialize LC to
Zero

Read next line


from source

Determine statement
type

Label or yes any more char on no output listing line


symbol source line to listing file
no
yes

End yes
Statement Exit

no

Assembler yes
Directive Perform Function

no

Storage yes
Allocation output data to increment LC
object file by size of data
no

no
Instructrion invalid statement

yes

Translate opcode
to binary

Evalute operand
specification and output binary insert hex update LC by
convert addresses instruction to instruction in instruction
to binary object file field of listing size

You might also like