Translation from high-level to PIPPIN

Step 1: Consider the PIPPIN Assembly Code Units that will be needed
the "for-statement" for (var = expr; boolExpr; assignment) stmt translates to

         code for var = expr
loop: code for boolExpr          ; result in ACC: 1=true, 0=false
         JMZ end
         code for stmt
         code for assignment
         JMP loop
end: NOP

expr1 + expr2

code for expr2
STO T1
code for expr1
ADD T1


(expr1 <= expr2)          code for expr2
         STO T1
         code for expr1
         SUB T1
         STO T1          ; T1 = expr1 - expr2
         CPZ T1          ; ACC = 1, if expr1==expr2; otherwise ACC = 0
         JMZ notEq          ; 0 in ACC means (expr != 0)
         JMP done          ; this instruction executes when (expr == 0)
notEq: CPL T1          ; now test to see if expr1 < expr2
done: NOP