diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2023-04-10 13:15:59 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2023-04-10 13:15:59 +0300 |
| commit | f07900a66952edb27114b8bdd68efc397b995796 (patch) | |
| tree | cbb13e08b222cab594332ae11d863e793528799a /src/ext_std.py | |
| parent | a58375eee5d607fbb44620752195eafb9407685e (diff) | |
Add ext system
Diffstat (limited to 'src/ext_std.py')
| -rw-r--r-- | src/ext_std.py | 24 |
1 files changed, 24 insertions, 0 deletions
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, +} |
