From 06309dbf76c289794619029b9eed3411efa531d0 Mon Sep 17 00:00:00 2001 From: pommicket Date: Sat, 13 Nov 2021 14:53:02 -0500 Subject: jump above/below --- 03/ex03 | 2 +- 03/in02 | 43 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/03/ex03 b/03/ex03 index 5b24fdd..b54e848 100644 --- a/03/ex03 +++ b/03/ex03 @@ -1,4 +1,3 @@ - D]=d7 D]=C D^=C @@ -38,3 +37,4 @@ div :funciton call A str Here is some text which will be put in the executable! +?CaD:label diff --git a/03/in02 b/03/in02 index afd4b74..93dce7b 100644 --- a/03/in02 +++ b/03/in02 @@ -1471,6 +1471,14 @@ im ##21. '!' je :-j! +im +##61. 'a' +je +:-ja +im +##62. 'b' +je +:-jb jm :-!j ::?@ write address for conditional jump @@ -1500,6 +1508,7 @@ im cl jm :-?@ +// handle jg ::j> im --J> @@ -1512,6 +1521,7 @@ im cl jm :-?@ +// handle je ::j= im --J= @@ -1524,6 +1534,7 @@ im cl jm :-?@ +// handle jne ::j! im --J! @@ -1536,14 +1547,44 @@ im cl jm :-?@ +// handle ja +::ja +im +--Ja +IA +im +##5. +DA +im +--wr +cl +jm +:-?@ +// handle jb +::jb +im +--Jb +IA +im +##5. +DA +im +--wr +cl +jm +:-?@ ::J< -jg +jg (operands are flipped) ::J> jl ::J! jn ::J= je +::Ja +jb (operands are flipped) +::Jb +ja // set A to register. takes rbx='0','A','B','C','D','I','J','R','S', outputs instruction to file ::Ar im -- cgit v1.2.3