From 53409c6f4940461f1fa0722a623245d92837fa39 Mon Sep 17 00:00:00 2001 From: Kyler <59854022+KylerOlsen@users.noreply.github.com> Date: Sun, 25 Feb 2024 00:01:42 -0700 Subject: [PATCH] Fixed signed integer printing --- emulator/devices.py | 2 +- emulator/main.py | 2 +- language/examples/test1.s | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/emulator/devices.py b/emulator/devices.py index a5a065b..7e96d25 100644 --- a/emulator/devices.py +++ b/emulator/devices.py @@ -9,7 +9,7 @@ class tty(Device): def __setitem__(self, index: int, value: int): if index & 0xf == 0xd: if value & 0x800: - print(((~(value & 0x7FF)) + 1) * -1) + print((((value & 0x7FF) ^ 0x7FF) + 1) * -1) else: print(value) elif index & 0xf == 0xe: diff --git a/emulator/main.py b/emulator/main.py index 6dce04b..9c6cdc4 100644 --- a/emulator/main.py +++ b/emulator/main.py @@ -11,7 +11,7 @@ def main(argv: Sequence[str] | None = None): from time import sleep machines = { - 'tty': lambda rom: Computer(Memory(rom, [tty(0x7FE, 0x7FF)])) + 'tty': lambda rom: Computer(Memory(rom, [tty(0x7FD, 0x7FF)])) } parser = argparse.ArgumentParser( diff --git a/language/examples/test1.s b/language/examples/test1.s index 80385a6..522824e 100644 --- a/language/examples/test1.s +++ b/language/examples/test1.s @@ -13,7 +13,7 @@ main: loop: ; Output current value liu 0x1f - lil 0x3E + lil 0x3D str D0 ; Move values down