From f07900a66952edb27114b8bdd68efc397b995796 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Mon, 10 Apr 2023 13:15:59 +0300 Subject: Add ext system --- src/ext_std.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/ext_std.py (limited to 'src/ext_std.py') diff --git a/src/ext_std.py b/src/ext_std.py new file mode 100644 index 0000000..017f40a --- /dev/null +++ b/src/ext_std.py @@ -0,0 +1,24 @@ +from assembler_ops import * + +def make_add(address:int, left: str, right: str, target: str) -> list[int]: + return make_alr(address, "al_plus", left, right, target) + +def make_sub(address: int, left: str, right: str, target: str) -> list[int]: + return make_alr(address, "al_minus", left, right, target) + +def make_inc(address: int, reg: str) -> list[int]: + return make_ali(address, "al_plus", reg, "1", reg) + +def make_dec(address: int, reg: str) -> list[int]: + return make_ali(address, "al_minus", reg, "1", reg) + +def make_mov(address: int, from_reg: str, to_reg: str) -> list[int]: + return make_ali(address, "al_plus", from_reg, "0", to_reg) + +operations = { + "add": make_add, + "sub": make_sub, + "inc": make_inc, + "dec": make_dec, + "mov": make_mov, +} -- cgit v1.3