From 95023706aac525554abc3c956dc9cef022a55407 Mon Sep 17 00:00:00 2001 From: Rushil Umaretiya Date: Fri, 22 Mar 2024 16:32:23 -0400 Subject: [PATCH] finished get_instruction_type --- instructions.c | 8 ++++++-- lab04 | Bin 0 -> 22312 bytes lab04.c | 14 ++++++++------ 3 files changed, 14 insertions(+), 8 deletions(-) create mode 100755 lab04 diff --git a/instructions.c b/instructions.c index c84f16d..9404525 100644 --- a/instructions.c +++ b/instructions.c @@ -16,8 +16,12 @@ // Return: instruction_type: R_TYPE or I_TYPE (see structures) // instruction_type get_type_of_instruction(uint32_t instruct) { - // TODO - return NULL; + if (bit_select(instruct, 26, 32) == 0) { + return R_TYPE; + } else { + return I_TYPE; + } + } // end get_type_of_instruction() function // ------------------------------------ diff --git a/lab04 b/lab04 new file mode 100755 index 0000000000000000000000000000000000000000..8f81b49ae5ccd1e3f8926f825f2664e0ce8010fa GIT binary patch literal 22312 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 literal 0 HcmV?d00001 diff --git a/lab04.c b/lab04.c index f71f0d7..6054347 100644 --- a/lab04.c +++ b/lab04.c @@ -32,10 +32,12 @@ int main() { return EXIT_SUCCESS; if (get_type_of_instruction(instruct) == R_TYPE) { + printf("R_TYPE instruction\n"); r_instruction* r_instruct = create_r_instruction(instruct); execute_r_instruction(r_instruct); free(r_instruct); } else { // I_TYPE + printf("I_TYPE instruction\n"); i_instruction* i_instruct = create_i_instruction(instruct); execute_i_instruction(i_instruct); free(i_instruct); @@ -58,11 +60,11 @@ int main() { // ------------------------------------ // Takes the r_instruction -// you created in Part 1 and, based on the MIPS instruction, -// performs the operation and updates the 'registers' array +// you created in Part 1 and, based on the MIPS instruction, +// performs the operation and updates the 'registers' array // (see top of file). // -// Hint: the "func" bits determine the operation (i.e., SLL, +// Hint: the "func" bits determine the operation (i.e., SLL, // SRA, ADD, SUB, AND, OR). // // Arguments: r_instruction structure @@ -75,11 +77,11 @@ void execute_r_instruction(r_instruction* instruct) { // ------------------------------------ // Takes the i_instruction -// you created in Part 1 and, based on the MIPS instruction, -// performs the operation and updates the 'registers' array +// you created in Part 1 and, based on the MIPS instruction, +// performs the operation and updates the 'registers' array // (see top of file). // -// Hint: the "opcode" bits determine the operation (.e., ADDI, +// Hint: the "opcode" bits determine the operation (.e., ADDI, // ANDI, ORI). // // Arguments: i_instruction structure