diff options
author | Oxore <oxore@protonmail.com> | 2023-05-01 13:49:46 +0300 |
---|---|---|
committer | Oxore <oxore@protonmail.com> | 2023-05-01 14:14:05 +0300 |
commit | f279e467e38281cfdee60b197588109abd08e83d (patch) | |
tree | fdd6f4b188764712322fed692b0c2986b721d50f | |
parent | 1429da758d47cef110e86824380f77d7d5aa02ff (diff) |
Impl TRAP
-rw-r--r-- | disasm.cpp | 8 | ||||
-rw-r--r-- | test.bash | 6 |
2 files changed, 11 insertions, 3 deletions
@@ -656,10 +656,12 @@ static void disasm_move_to( } static void disasm_trap( - DisasmNode& node, uint16_t instr, const DataBuffer &code, const Settings &s) + DisasmNode& node, uint16_t instr, const DataBuffer &, const Settings &) { - // TODO - return disasm_verbatim(node, instr, code, s); + const unsigned vector = instr & 0xf; + snprintf(node.mnemonic, kMnemonicBufferSize, "trap"); + snprintf(node.arguments, kArgsBufferSize, "#%u", vector); + node.size = kInstructionSizeStepBytes; } static void disasm_link_unlink( @@ -93,6 +93,12 @@ run_test_iterative() { done } +# 4e4x +# +run_test_simple "trap 0" "\x4e\x40" +run_test_simple "trap 8" "\x4e\x48" +run_test_simple "trap 15" "\x4e\x4f" + # 4e5x # run_test_simple "linkw positive" "\x4e\x52\x01\x00" |