10010000000000000000000000001000 //Jump to constant address 4 10010000000000000000000001010010 //Jump to constant address 41 10010000000000000000000000001000 //Jump to constant address 4 10010000000000000000000000001000 //Jump to constant address 4 00011100000000000000010100010001 //Set r1 to 5 00011100000000000000001000100010 //Set r2 to 2 00000011000000000000000100100011 //Compute r1 + r2 and write result to r3 00000011000000000000001100100011 //Compute r3 + r2 and write result to r3 00000011000000000000000100110011 //Compute r1 + r3 and write result to r3 00000011000000000000001100110011 //Compute r3 + r3 and write result to r3 00011100000000000000100100010001 //Set r1 to 9 00011100000000000000101000100010 //Set r2 to 10 00000011000000000000000100100011 //Compute r1 + r2 and write result to r3 00000011000000000000001100100011 //Compute r3 + r2 and write result to r3 00000011000000000000000100110011 //Compute r1 + r3 and write result to r3 00000011000000000000001100110011 //Compute r3 + r3 and write result to r3 10110000000000000000000000010000 //Push r1 to stack 10100000000000000000000000000010 //Pop from stack to r2 00010011000000000000011000100100 //Compute r2 + 6 and write result to r4 11010000000000000000000101000000 //Write value in r4 to address in r1 with offset 0 11010000000000000001000100110000 //Write value in r3 to address in r1 with offset 1 11100000000000000000000100000101 //Read at address in r1 with offset 0 to r5 00010011000000000000000101010101 //Compute r5 + 1 and write result to r5 10010000000000000000000000001000 //Jump to constant address 4 11010000000000001010001100110000 //Write value in r3 to address in r3 with offset 10 11010000000000000000001100010000 //Write value in r1 to address in r3 with offset 0 11100000000000001010001100000100 //Read at address in r3 with offset 10 to r4 00000011000000000000010000010101 //Compute r4 + r1 and write result to r5 01100000000000000011010100010010 //(unsigned) If r5 > r1, then jump to offset 3 11111111111111111111111111111111 //Halt 00011100000000000000000000010001 //Set r1 to 0 00011100000000000000000000100010 //Set r2 to 0 00011100000000000000000110011001 //Set r9 to 1 00011100000000000001001010101010 //Set r10 to 18 10110000000000000000000010100000 //Push r10 to stack 10100000000000000000000000001011 //Pop from stack to r11 00000011000000000000101010101111 //Compute r10 + r10 and write result to r15 01010000000000000000000000001100 //Save PC to r12 00010011000000000000000111001101 //Compute r12 + 1 and write result to r13 11111111111111111111111111111111 //Halt 00011100000000000010010100010001 //Set r1 to 37 01000000000000000000000000000000 //Return from interrupt