code: function xop_operation_to_assembly_opcode_string(opcode) {
    for (let instr of Object.keys(OP_ADDR_MODE_TO_XOP)) {
      let allowed_addressing_modes = OP_ADDR_MODE_TO_XOP[instr];
      for (let addressing_mode of Object.keys(allowed_addressing_modes)) {
        let this_xop_operation = allowed_addressing_modes[addressing_mode];
  
        if (XOP[opcode] === this_xop_operation) {
          return instr;
        }
      }
    }
    return undefined;
  }
docs: convert raw xop with encoded addressing mode to assembly instruction name, ex: STZ_ABY -> STZ will return non-undefined if xop_operation is in XOP_TO_ADDR_MODE TODO: better data structure to avoid searching, essentially an inverted OP_ADDR_MODE_TO_XOP