diff options
author | Siddarth Suresh <155843085+SiddarthSuresh98@users.noreply.github.com> | 2025-03-09 13:19:06 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-09 13:19:06 -0400 |
commit | 92b41d1a8b970c46b0c6d2d8d538c68855a4de25 (patch) | |
tree | 9469921e3a82ccfef3c8c9deb53ea4091b4c6040 /tests | |
parent | 859d10eef015dde4a3428ffb555bc02b8b08341a (diff) | |
parent | ebbbf190825d6d098116f6bdd5245a4498b17815 (diff) |
Merge pull request #17 from bdunahu/bdunahu
Add get_bit_fields, which parses cache fields from a memory address
Diffstat (limited to 'tests')
-rw-r--r-- | tests/utils.cc | 23 |
1 files changed, 23 insertions, 0 deletions
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 <catch2/catch_test_macros.hpp> + +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); +} |