From e6d966cebc15e21cb64012d314f74f54dc35eead Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 14 Apr 2023 00:04:10 +0300 Subject: Get interrupts working --- src/asm_ops.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/asm_ops.py') diff --git a/src/asm_ops.py b/src/asm_ops.py index 61e2caa..78ec356 100644 --- a/src/asm_ops.py +++ b/src/asm_ops.py @@ -109,6 +109,11 @@ def make_lpc(meta: Meta, symbols: Symbols, target: str) -> int: (target_e << 9) return word +def make_rti(meta: Meta, symbols: Symbols) -> int: + """RTI 1110 XXXX XXXX XXXX""" + word = (0b1110 << 12) + return word + def make_hlt(meta: Meta, symbols: Symbols) -> int: """HLT 1111 XXXX XXXX XXXX""" word = (0b1111 << 12) @@ -126,6 +131,7 @@ operations: OpWordDict = { "brr": make_brr, "bri": make_bri, "lpc": make_lpc, + "rti": make_rti, "hlt": make_hlt, } @@ -147,6 +153,7 @@ default_expansions: OpExpansionDict = { "brr": lambda *args: expand_id("brr", *args), "bri": lambda *args: expand_id("bri", *args), "lpc": lambda *args: expand_id("lpc", *args), + "rti": lambda *args: expand_id("rti", *args), "hlt": lambda *args: expand_id("hlt", *args), } -- cgit v1.3