diff --git a/memory.c b/memory.c index 2e2d12d..80239fc 100644 --- a/memory.c +++ b/memory.c @@ -16,8 +16,11 @@ unsigned int addr_bits; int number_of_blocks(unsigned int addr_bits, unsigned int num_block_offset_bits) { - // TODO: Part 0 - return 0; + if (addr_bits < num_block_offset_bits || num_block_offset_bits < 0 || addr_bits < 0) + return FAIL; + + return addr_bits / exp2(num_block_offset_bits); + } int read_memory_file(char* file_name) {