quiz 2 summer the asm language r1 add r2 1 set r3 10 jmp 2 add r1 grammar asm -> arg asm | EOF arg -> reg op reg arg -> num op2 op2 -> op reg op2 -> JMP op -> ADD | SUB | SET parser asm() if match('EOF') ret 1 else arg() asm() arg() if reg() op() reg() ret 1 if num() op2() ret 1 ret 0 op2() if op() reg() if match('JMP') ret 1 ret 0 op() if match('ADD') ret 1 if match('SUB') ret 1 if match('SET') ret 1 ret 0 reg() recognise r0..r7 num() recognise integer an example of asm program to do 1+2+3 1 set r1 2 set r2 3 set r3 0 set r4 r1 add r4 r2 add r4 r3 add r4 26 june 2018