diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-07-20 22:23:00 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-07-20 22:23:00 -0700 |
commit | 82a24dfc1fabc29d553de1e7be4c946a4ab7c459 (patch) | |
tree | e3e6ebb1f730e12dcc6b8d2487cd3a3ac0181240 /subx | |
parent | 62197fd5a73f1b6798332161b652ce27f56ae820 (diff) | |
download | mu-82a24dfc1fabc29d553de1e7be4c946a4ab7c459.tar.gz |
4384 - opcodes all documented
Diffstat (limited to 'subx')
-rw-r--r-- | subx/017jump_relative.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/subx/017jump_relative.cc b/subx/017jump_relative.cc index d7553df7..5164b044 100644 --- a/subx/017jump_relative.cc +++ b/subx/017jump_relative.cc @@ -32,6 +32,9 @@ int16_t imm16() { //:: jump if equal/zero +:(before "End Initialize Op Names(name)") +put(name_0f, 0x84, "jump disp16 bytes away if ZF is set"); + :(scenario je_rel16_success) % ZF = true; == 0x1 @@ -68,6 +71,9 @@ case 0x84: { // jump rel16 if ZF //:: jump if not equal/not zero +:(before "End Initialize Op Names(name)") +put(name_0f, 0x85, "jump disp16 bytes away if ZF is not set"); + :(scenario jne_rel16_success) % ZF = false; == 0x1 @@ -104,6 +110,9 @@ case 0x85: { // jump rel16 unless ZF //:: jump if greater +:(before "End Initialize Op Names(name)") +put(name_0f, 0x8f, "jump disp16 bytes away if greater (ZF is unset, SF == OF)"); + :(scenario jg_rel16_success) % ZF = false; % SF = false; @@ -144,6 +153,9 @@ case 0x8f: { // jump rel16 if !SF and !ZF //:: jump if greater or equal +:(before "End Initialize Op Names(name)") +put(name_0f, 0x8d, "jump disp16 bytes away if greater or equal (SF == OF)"); + :(scenario jge_rel16_success) % SF = false; % OF = false; @@ -182,6 +194,9 @@ case 0x8d: { // jump rel16 if !SF //:: jump if lesser +:(before "End Initialize Op Names(name)") +put(name_0f, 0x8c, "jump disp16 bytes away if lesser (SF != OF)"); + :(scenario jl_rel16_success) % ZF = false; % SF = true; @@ -222,6 +237,9 @@ case 0x8c: { // jump rel16 if SF and !ZF //:: jump if lesser or equal +:(before "End Initialize Op Names(name)") +put(name_0f, 0x8e, "jump disp16 bytes away if lesser or equal (ZF is set or SF != OF)"); + :(scenario jle_rel16_equal) % ZF = true; % SF = false; |