From 3549488b7ae8f560be51bfe8077744e816bd5b33 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 24 Mar 2024 22:18:16 -0400 Subject: [PATCH] Add round-trip test for status flags. --- .../Mac/Clock SignalTests/ARMDecoderTests.mm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/OSBindings/Mac/Clock SignalTests/ARMDecoderTests.mm b/OSBindings/Mac/Clock SignalTests/ARMDecoderTests.mm index e5b9e80b6..872a3d84c 100644 --- a/OSBindings/Mac/Clock SignalTests/ARMDecoderTests.mm +++ b/OSBindings/Mac/Clock SignalTests/ARMDecoderTests.mm @@ -338,6 +338,18 @@ struct MemoryLedger { } } +- (void)testFlags { + Registers regs; + + for(int c = 0; c < 256; c++) { + regs.set_mode(Mode::Supervisor); + + const uint32_t status = ((c & 0xfc) << 26) | (c & 0x03); + regs.set_status(status); + XCTAssertEqual(status, regs.status()); + } +} + - (void)testMessy { NSData *const tests = [NSData dataWithContentsOfGZippedFile: @@ -425,7 +437,7 @@ struct MemoryLedger { continue; } - if(instruction == 0xe79ea10a && test_count == 1) { + if(instruction == 0xe92d8001 && test_count == 1) { printf(""); }