From 87bc2a9e172a0f693184c85f0d9661d47c99cd7e Mon Sep 17 00:00:00 2001 From: bd Date: Sat, 8 Mar 2025 22:50:57 -0500 Subject: Add get_bit_fields, which parses cache fields from a memory address --- tests/utils.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/utils.cc (limited to 'tests/utils.cc') diff --git a/tests/utils.cc b/tests/utils.cc new file mode 100644 index 0000000..5368204 --- /dev/null +++ b/tests/utils.cc @@ -0,0 +1,23 @@ +#include "utils.h" +#include "definitions.h" +#include + +TEST_CASE("Parse arbitrary fields # one", "[cache]") +{ + int tag, index, offset; + int address = 0b111110001010101; + get_bit_fields(address, &tag, &index, &offset); + CHECK(tag == 0b11111000); + CHECK(index == 0b10101); + CHECK(offset == 0b01); +} + +TEST_CASE("Parse arbitrary fields # two", "[cache]") +{ + int tag, index, offset; + int address = 0b000110100111011; + get_bit_fields(address, &tag, &index, &offset); + CHECK(tag == 0b00011010); + CHECK(index == 0b01110); + CHECK(offset == 0b11); +} -- cgit v1.2.3