/* STACK QUICKSORT */ /********** Program Start **********/ addi r6, r0, 65535 //Initialise stack pointer addi r5, r0, 0 //Initialise memory pointer addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r5, r5, 1 addi r1, r0, 10 store r1, r4, 1 //store local variable length addi r4, r0, 0 //Clear r4 array offset load r1, r0, 1 //local variable load: length store r5, r0, 0 add r5, r5, r1 load r1, r0, 1 //local variable load: length store r5, r0, 2 add r5, r5, r1 addi r1, r0, 0 store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset addi r1, r0, 903 store r1, r4, 5 //store local variable seed addi r4, r0, 0 //Clear r4 array offset addi r1, r0, 74916 store r1, r4, 6 //store local variable a addi r4, r0, 0 //Clear r4 array offset addi r1, r0, 1021 store r1, r4, 7 //store local variable c addi r4, r0, 0 //Clear r4 array offset addi r1, r0, 14983 store r1, r4, 8 //store local variable m addi r4, r0, 0 //Clear r4 array offset addi r1, r0, 0 store r1, r4, 4 //store local variable i addi r4, r0, 0 //Clear r4 array offset L0: load r1, r0, 4 //local variable load: i store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 1 //local variable load: length load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop slt r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L1 load r1, r0, 6 //local variable load: a store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 5 //local variable load: seed load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop mul r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 7 //local variable load: c load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 8 //local variable load: m load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop mod r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 5 //store local variable seed addi r4, r0, 0 //Clear r4 array offset load r4, r0, 0 //Get array start load r1, r0, 4 //local variable load: i add r4, r4, r1 //Add positional offset [x] load r1, r0, 5 //local variable load: seed store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 4 //local variable load: i store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 4 //store local variable i addi r4, r0, 0 //Clear r4 array offset beq r0, r0, L0 L1: addi r1, r0, 0 store r1, r4, 10 //store local variable l addi r4, r0, 0 //Clear r4 array offset load r1, r0, 1 //local variable load: length store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 11 //store local variable r addi r4, r0, 0 //Clear r4 array offset load r4, r0, 2 //Get array start load r1, r0, 3 //local variable load: stackPointer add r4, r4, r1 //Add positional offset [x] load r1, r0, 10 //local variable load: l store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r4, r0, 2 //Get array start load r1, r0, 3 //local variable load: stackPointer add r4, r4, r1 //Add positional offset [x] load r1, r0, 11 //local variable load: r store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset L3: load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 0 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r2, r2, r1 and r1, r2, r2 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L4 load r1, r0, 11 //local variable load: r store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 10 //local variable load: l load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sle r1, r2, r1 sle r1, r1, r0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L5 load r1, r0, 10 //local variable load: l store r1, r4, 13 //store local variable lo addi r4, r0, 0 //Clear r4 array offset load r1, r0, 11 //local variable load: r store r1, r4, 12 //store local variable hi addi r4, r0, 0 //Clear r4 array offset load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 12 //local variable load: hi load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 2 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop div r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop load r3, r0, 0 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF store r1, r4, 14 //store local variable mid addi r4, r0, 0 //Clear r4 array offset L7: load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 12 //local variable load: hi load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sle r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L8 L9: load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 11 //local variable load: r load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop slt r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 13 //local variable load: lo load r3, r0, 0 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 14 //local variable load: mid load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop slt r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop and r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L10 load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 13 //store local variable lo addi r4, r0, 0 //Clear r4 array offset beq r0, r0, L9 L10: L11: load r1, r0, 12 //local variable load: hi store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 10 //local variable load: l load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sle r1, r2, r1 sle r1, r1, r0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 12 //local variable load: hi load r3, r0, 0 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 14 //local variable load: mid load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sle r1, r2, r1 sle r1, r1, r0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop and r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L12 load r1, r0, 12 //local variable load: hi store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 12 //store local variable hi addi r4, r0, 0 //Clear r4 array offset beq r0, r0, L11 L12: load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 12 //local variable load: hi load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sle r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L13 load r1, r0, 13 //local variable load: lo load r3, r0, 0 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF store r1, r4, 4 //store local variable i addi r4, r0, 0 //Clear r4 array offset load r4, r0, 0 //Get array start load r1, r0, 13 //local variable load: lo add r4, r4, r1 //Add positional offset [x] load r1, r0, 12 //local variable load: hi load r3, r0, 0 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r4, r0, 0 //Get array start load r1, r0, 12 //local variable load: hi add r4, r4, r1 //Add positional offset [x] load r1, r0, 4 //local variable load: i store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 13 //store local variable lo addi r4, r0, 0 //Clear r4 array offset load r1, r0, 12 //local variable load: hi store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 12 //store local variable hi addi r4, r0, 0 //Clear r4 array offset L13: beq r0, r0, L7 L8: load r1, r0, 12 //local variable load: hi store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 10 //local variable load: l load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 11 //local variable load: r store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 13 //local variable load: lo load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r6, 1 //pop r1 addi r6, r6, 1 //pop load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sle r1, r2, r1 sle r1, r1, r0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L15 load r4, r0, 2 //Get array start load r1, r0, 3 //local variable load: stackPointer add r4, r4, r1 //Add positional offset [x] load r1, r0, 10 //local variable load: l store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r4, r0, 2 //Get array start load r1, r0, 3 //local variable load: stackPointer add r4, r4, r1 //Add positional offset [x] load r1, r0, 12 //local variable load: hi store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r1, r0, 13 //local variable load: lo store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 10 //store local variable l addi r4, r0, 0 //Clear r4 array offset beq r0, r0, L16 L15: load r4, r0, 2 //Get array start load r1, r0, 3 //local variable load: stackPointer add r4, r4, r1 //Add positional offset [x] load r1, r0, 13 //local variable load: lo store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r4, r0, 2 //Get array start load r1, r0, 3 //local variable load: stackPointer add r4, r4, r1 //Add positional offset [x] load r1, r0, 11 //local variable load: r store r1, r4, 0 //store local variable ia addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r1, r0, 12 //local variable load: hi store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 11 //store local variable r addi r4, r0, 0 //Clear r4 array offset L16: beq r0, r0, L6 L5: load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer load r3, r0, 2 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF store r1, r4, 11 //store local variable r addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop sub r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 3 //store local variable stackPointer addi r4, r0, 0 //Clear r4 array offset load r1, r0, 3 //local variable load: stackPointer load r3, r0, 2 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF store r1, r4, 10 //store local variable l addi r4, r0, 0 //Clear r4 array offset L6: beq r0, r0, L3 L4: addi r1, r0, 0 store r1, r4, 4 //store local variable i addi r4, r0, 0 //Clear r4 array offset L18: load r1, r0, 4 //local variable load: i store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r1, r0, 1 //local variable load: length load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop slt r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop beq r1, r0, L19 load r1, r0, 4 //local variable load: i load r3, r0, 0 //Get array start (load operand) add r3, r3, r1 //Add positional offset load r1, r3, 0 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF print_int r1 addi r1, r0, 10 print_char r1 load r1, r0, 4 //local variable load: i store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF addi r1, r0, 1 load r2, r6, 1 //pop r2 addi r6, r6, 1 //pop add r1, r2, r1 store r1, r6, 0 //push r1 addi r6, r6, 0xFFFF addui r6, r6, 0xFFFF load r0, r6, 1 //pop r0 addi r6, r6, 1 //pop store r1, r4, 4 //store local variable i addi r4, r0, 0 //Clear r4 array offset beq r0, r0, L18 L19: HALTLINE: halt