@Test(expected = PcodeExecutionException.class)
	public void testMOV_EAX_dword_RBPm2_x64() throws Throwable {
		try (ToyDBTraceBuilder tb = new ToyDBTraceBuilder("Test", "x86:LE:64:default")) {
			TraceThread thread = initTrace(tb, """
					RIP = 0x00400000;
					RSP = 0x00110000;
					""",
				List.of(
					"MOV EAX, dword ptr [RBP + -0x2]"));

			BytesTracePcodeEmulator emu = new BytesTracePcodeEmulator(tb.host, 0);
			PcodeThread<byte[]> emuThread = emu.newThread(thread.getPath());
			emuThread.stepInstruction();
		}
	}
Test the read wrap-around case for x86_64

<p>
This tests a rare (I hope) case where a read would wrap around the address space: 2 bytes
including the max address, and 2 bytes at the min address. I imagine the behavior here varies
by architecture? TODO: For now, I think it's acceptable just to throw an exception, but in
reality, we should probably handle it and allow some mechanism for architectures to forbid
it, if that's in fact what they do.
Ghidra/Debug/Framework-TraceModeling/src/test/java/ghidra/pcode/exec/trace/BytesTracePcodeEmulatorTest.java