Step1:- Start
Step2:- Set Location Counter (LC)=0
Step3:- Read Card  
[Read1]
Step4:- If Pseudo-opcode is Present [POTGET1]
            Then
Go to step 5.
            Else
a)      Search
Machine-opcode [MOTGET]
b)      Set
L <- Length
c)      Process
any literal, enter into literal table[LTSTO]
d)     Go
to step6
Step5:-
While (P-opcode !=END)                  //P-opcode means Pseudo-Opcode
            do
If(P–opcode
==DS || P-opcode ==DC)
Then
a)      Adjust
LC to proper Alignment.
b)      Set
L= Length of data field
c)      Go
to Step 6
Else If(P-opcode ==
EQU) then
a)      Evaluate
operand field (EVAL)
b)      Assign
the value to symbol in label field[STSTO]
c)      Go
to step 7
Else
a)      Go
to step 7 and save the Using and Drop cards for pass 2.
End While
Step 6:- If(any symbol) then
a)      Assign
current value of LC to symbol 
b)      Set
LC= LC+L
Else
a)      Set
LC=LC+L
Step 7:- Write copy of card on file for use by pass
2 [Write 1] and Go to step3. Repeat this step (Go to step3) until all
instructions are not processed.
Step 8:- If (P-opcode ==End)
               Then
a)      Assign
storage location to literals [LITASS].
b)      Rewind
and reset copy file.
c)      Move
to Pass2.
Step 9:- Exit.
 
it is so long...
ReplyDelete