diff --git a/sample_input/example01.o b/sample_input/example01.o new file mode 100644 index 0000000000000000000000000000000000000000..4a47d1fdffc0d9a8b0da054006508b5b315403cc --- /dev/null +++ b/sample_input/example01.o @@ -0,0 +1 @@ +000000000000000000000000010110000000000000000000000000000000110000000010001000001000100000100100000000100100000010010000001001000011110000001000000100000000000000111100000010010001000000000000001101010010100100000000000001000000000101000000010100000010010000000001011000000101100000100100001001100011000100000000000000010010010101101011000000000000000100000001001000000100100000100101000101010110100011111111111111000010011001010010000000000000001000100101011010110000000000000001000000000001000110010000010000000000000000010010100010000100001000000010001100101001100000100100000101010110100111111111111110100000000010111111001010000010000100000010001100101000000000100111000100010100100000000000000000010000100000010000000000000000011000110110000100001111000011110000000000000000000000000000011001000000000000000000000000001100100000010010001101000101011001111000 diff --git a/sample_input/example01.s b/sample_input/example01.s new file mode 100644 index 0000000000000000000000000000000000000000..1eec136a1eec37d34274c084b7dcb1545bdbbe56 --- /dev/null +++ b/sample_input/example01.s @@ -0,0 +1,32 @@ + .data +data1: .word 100 +data2: .word 200 +data3: .word 0x12345678 + .text +main: + and $17, $17, $0 + and $18, $18, $0 + la $8, data1 + la $9, data2 + and $10, $10, $0 +lab1: + and $11, $11, $0 +lab2: + addiu $17, $17, 0x1 + addiu $11, $11, 0x1 + or $9, $9, $0 + bne $11, $8, lab2 +lab3: + addiu $18, $18, 0x2 + addiu $11, $11, 1 + sll $18, $17, 1 + srl $17, $18, 1 + and $19, $17, $18 + bne $11, $9, lab3 +lab4: + addu $5, $5, $31 + nor $16, $17, $18 + beq $10, $8, lab5 + j lab1 +lab5: + ori $16, $16, 0xf0f0 diff --git a/sample_input/example02.o b/sample_input/example02.o new file mode 100644 index 0000000000000000000000000000000000000000..7b2f8c10e1c8906a93f3202b714daf425f037211 --- /dev/null +++ b/sample_input/example02.o @@ -0,0 +1 @@ +000000000000000000000000001111000000000000000000000000000001000000100100000000100000010000000000000000000100001000011000001000010000000001100010001000000010010100000000000001010011010000000000001001001100011100100111000011110000000011100010010000000010001100000000100000110100100000100111001101000100101000000000111111110000000000000110010110010100001000111100000001000001000000000000001101001000010000000000000011000000000101100101011010000010010000110000100011100000000001100100001111000001000100000000011001000010010000000010000000000000101000000000000000000000000000000011000000000000000000000000011110110000000000000000000100001111101000010001000100010001000100010001 diff --git a/sample_input/example02.s b/sample_input/example02.s new file mode 100644 index 0000000000000000000000000000000000000000..063b66bee490304f846ed4bbd1b41460bd4a3f8b --- /dev/null +++ b/sample_input/example02.s @@ -0,0 +1,21 @@ + .data +array: .word 3 + .word 123 + .word 4346 +array2: .word 0x11111111 + .text +main: + addiu $2, $0, 1024 + addu $3, $2, $2 + or $4, $3, $2 + sll $6, $5, 16 + addiu $7, $6, 9999 + subu $8, $7, $2 + nor $9, $4, $3 + ori $10, $2, 255 + srl $11, $6, 5 + la $4, array2 + and $13, $11, $5 + andi $14, $4, 100 + lui $17, 100 + addiu $2, $0, 0xa diff --git a/sample_input/example03.o b/sample_input/example03.o new file mode 100644 index 0000000000000000000000000000000000000000..d5939cf42d218676aedf626a6c3231d49f8ac541 --- /dev/null +++ b/sample_input/example03.o @@ -0,0 +1 @@ +000000000000000000000000001111000000000000000000000000000001000000111100000000110001000000000000100011000110010100000000000000001000110001101000000000000000010010001100011010010000000000001000100011000110101000000000000011000010010010100101000000000001100000100100000001100000000001111100000000001010011000111000001000011010110001100101000000000001000010101100011001100000000000010100101011000110011100000000000110000010010001100011000000000000110010001100011011001111111111111100100011000110110111111111111110001000110001101110111111111111010000000000000000000000000001100100000000000000000000000000110010000001001000110100010101100111100000000000000000010010001101000001 diff --git a/sample_input/example03.s b/sample_input/example03.s new file mode 100644 index 0000000000000000000000000000000000000000..c9957eab1b859e32cf407dbdb9c4b64a22813f73 --- /dev/null +++ b/sample_input/example03.s @@ -0,0 +1,22 @@ + .data +data1: .word 100 +data2: .word 200 +data3: .word 0x12345678 + .word 0x12341 + .text +main: + lui $3, 0x1000 + lw $5, 0($3) + lw $8, 4($3) + lw $9, 8($3) + lw $10, 12($3) + addiu $5, $5, 24 + addiu $6, $0, 124 + addu $7, $5, $6 + sw $5, 16($3) + sw $6, 20($3) + sw $7, 24($3) + addiu $3, $3, 12 + lw $12, -4($3) + lw $13, -8($3) + lw $14, -12($3) diff --git a/sample_input/example04.o b/sample_input/example04.o new file mode 100644 index 0000000000000000000000000000000000000000..53a4ff0e7d8d7cb5944d0a4cbf78eb57e7932590 --- /dev/null +++ b/sample_input/example04.o @@ -0,0 +1 @@ +000000000000000000000000010000000000000000000000000000000000000000000000100001010001000000100001000000001100011100010000001000010000000001100010010010000010001100000001011000000101100000100100001001010100101000000000000000010000000011000000001100000010010100001100000100000000000000000111000000000000011000111000100000000000000000000100001010001000001000101101010010010000000001100100000100010010000000000000000000010000001111100000000000000000100000000000010000110010000000101011000101001000000000000000000000010000100000010000000000000000001100110110000100001111000011110000 diff --git a/sample_input/example04.s b/sample_input/example04.s new file mode 100644 index 0000000000000000000000000000000000000000..46c70849bfc143cba6d31218bf65540d28a2eed7 --- /dev/null +++ b/sample_input/example04.s @@ -0,0 +1,23 @@ + .data + .text +main: + addu $2, $4, $5 + addu $2, $6, $7 + subu $9, $3, $2 +lab1: + and $11, $11, $0 + addiu $10, $10, 0x1 + or $6, $6, $0 + jal lab3 +lab3: + sll $7, $6, 2 + srl $5, $4, 2 + sltiu $9, $10, 100 + beq $9, $0, lab4 + jr $31 +lab4: + sltu $4, $2, $3 + bne $4, $0, lab5 + j lab1 +lab5: + ori $16, $16, 0xf0f0 diff --git a/sample_input/example05.o b/sample_input/example05.o new file mode 100644 index 0000000000000000000000000000000000000000..dfbf6fed0143b2d1093c2dbf0e4cbb461fcacaf5 --- /dev/null +++ b/sample_input/example05.o @@ -0,0 +1 @@ +000000000000000000000000011010000000000000000000000000000001010000111100000011110001000000000000001101011110111100000000000011000010010110001100111111111001110000100101110011101111111111111111001001011010110111111111111111110000000010000101000100000010000100000000110001110001000000100001000000000110001001001000001000110000000101100000010110000010010000100101010010100000000000000001000000001100000000110000001001010000110000010000000000000000110010001101111001100000000000000100000000000000011000111000100000001010110111100111000000000000100000000000000001000010100010000010000000001010000000101000001001110010110101001001111111111111110000010001001000000000000000000001000000111110000000000000000010000011110000010001000100000000000010001110001100100000000000000000000000000100001100100000001010110001010010000000000000000000000100001000000100000000000000001000001101100001000011110000111100000000000000000000000000000000001100000000000000000001000000000000000000000000111101001100001010100111111111111111111111111111111001111111111111111111111111111111 diff --git a/sample_input/example05.s b/sample_input/example05.s new file mode 100644 index 0000000000000000000000000000000000000000..1a81c736c9f87e4fbfb981b701ebea9d9012a36b --- /dev/null +++ b/sample_input/example05.s @@ -0,0 +1,37 @@ + .data +data1: .word 3 + .word 4096 + .word 0xf4c2a +data2: .word 2147483646 +data3: .word 2147483647 + .text +main: + la $15, data2 + addiu $12, $12, -100 + addiu $14, $14, -1 + addiu $13, $13, 0xffff + addu $2, $4, $5 + addu $2, $6, $7 + subu $9, $3, $2 +cs311: + and $11, $11, $0 + addiu $10, $10, 0x1 + or $6, $6, $0 + jal cs312 +cs312: + lw $6, 4($15) + sll $7, $6, 2 + sw $7, 8($15) + srl $5, $4, 2 + nor $5, $5, $0 + sltiu $9, $10, -4 + beq $9, $0, cs313 + jr $31 +cs313: + lui $17, 0x1000 + lw $18, 0($17) + sltu $4, $2, $3 + bne $4, $0, cs314 + j cs311 +cs314: + ori $16, $16, 0xf0f0 diff --git a/sample_input/fact.o b/sample_input/fact.o new file mode 100644 index 0000000000000000000000000000000000000000..b59d6b6da8a26b0e9fa2772d6c68c79f5ba985a3 --- /dev/null +++ b/sample_input/fact.o @@ -0,0 +1 @@ +0000000000000000000000000010010000000000000000000000000000000000101011111010010000000000000000000010110010001000000000000000000100010001000000000000000000000001001001000000001000000000000000010010010010000100111111111111111100001100000100000000000000000000100011111010010000000000000000001000111110111111000000000000010000000000100000100001000000100001 \ No newline at end of file diff --git a/sample_input/fact.s b/sample_input/fact.s new file mode 100644 index 0000000000000000000000000000000000000000..86651661c28882c22ccdff339f145b243fc5103f --- /dev/null +++ b/sample_input/fact.s @@ -0,0 +1,13 @@ + .data + .text +main: + sw $a0, 0($sp) + sltiu $t0, $a0, 1 + beq $t0, $zero, L1 + addiu $v0, $zero, 1 +L1: + addiu $a0, $a0, -1 + jal main + lw $a0, 0($sp) + lw $ra, 4($sp) + addu $v0, $a0, $v0 diff --git a/sample_input/leaf_example.o b/sample_input/leaf_example.o new file mode 100644 index 0000000000000000000000000000000000000000..552ecf3d3e0ec586bf514762acaf79922e564de3 --- /dev/null +++ b/sample_input/leaf_example.o @@ -0,0 +1 @@ +000000000000000000000000000100000000000000000000000000000000000000000000100001010100000000100001000000001100011101001000001000010000000100001001100000000010001100000010000000000001000000100001 \ No newline at end of file diff --git a/sample_input/leaf_example.s b/sample_input/leaf_example.s new file mode 100644 index 0000000000000000000000000000000000000000..f1f2d88c1619da09157f8506d14317fc8806997e --- /dev/null +++ b/sample_input/leaf_example.s @@ -0,0 +1,7 @@ + .data + .text +main: + addu $t0, $a0, $a1 + addu $t1, $a2, $a3 + subu $s0, $t0, $t1 + addu $v0, $s0, $zero