mirror of
https://github.com/Decompollaborate/rabbitizer.git
synced 2025-01-30 15:32:43 +00:00
Remove signedness from access type and move it to doesUnsignedMemoryAccess
This commit is contained in:
parent
af1d62b8bc
commit
6d49bb4abf
@ -241,6 +241,7 @@ namespace rabbitizer {
|
|||||||
bool isPseudo() const;
|
bool isPseudo() const;
|
||||||
|
|
||||||
AccessType getAccessType() const;
|
AccessType getAccessType() const;
|
||||||
|
bool doesUnsignedMemoryAccess() const;
|
||||||
|
|
||||||
/* Instruction descriptor */
|
/* Instruction descriptor */
|
||||||
|
|
||||||
|
@ -893,6 +893,10 @@ AccessType InstructionBase::getAccessType() const {
|
|||||||
return static_cast<AccessType>(RabbitizerInstrDescriptor_getAccessType(this->instr.descriptor));
|
return static_cast<AccessType>(RabbitizerInstrDescriptor_getAccessType(this->instr.descriptor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool InstructionBase::doesUnsignedMemoryAccess() const {
|
||||||
|
return RabbitizerInstrDescriptor_doesUnsignedMemoryAccess(this->instr.descriptor);
|
||||||
|
}
|
||||||
|
|
||||||
/* Instruction descriptor */
|
/* Instruction descriptor */
|
||||||
|
|
||||||
/* Disassembly */
|
/* Disassembly */
|
||||||
|
@ -3,13 +3,9 @@
|
|||||||
|
|
||||||
RAB_DEF_ACCESSTYPE(INVALID)
|
RAB_DEF_ACCESSTYPE(INVALID)
|
||||||
|
|
||||||
RAB_DEF_ACCESSTYPE(BYTE_SIGNED)
|
RAB_DEF_ACCESSTYPE(BYTE)
|
||||||
RAB_DEF_ACCESSTYPE(BYTE_UNSIGNED)
|
RAB_DEF_ACCESSTYPE(SHORT)
|
||||||
RAB_DEF_ACCESSTYPE(SHORT_SIGNED)
|
RAB_DEF_ACCESSTYPE(WORD)
|
||||||
RAB_DEF_ACCESSTYPE(SHORT_UNSIGNED)
|
RAB_DEF_ACCESSTYPE(DOUBLEWORD)
|
||||||
RAB_DEF_ACCESSTYPE(WORD_SIGNED)
|
RAB_DEF_ACCESSTYPE(FLOAT)
|
||||||
RAB_DEF_ACCESSTYPE(WORD_UNSIGNED)
|
RAB_DEF_ACCESSTYPE(DOUBLEFLOAT)
|
||||||
RAB_DEF_ACCESSTYPE(DOUBLEWORD_SIGNED)
|
|
||||||
RAB_DEF_ACCESSTYPE(DOUBLEWORD_UNSIGNED)
|
|
||||||
RAB_DEF_ACCESSTYPE(FLOAT_SIGNED)
|
|
||||||
RAB_DEF_ACCESSTYPE(DOUBLEFLOAT_SIGNED)
|
|
||||||
|
@ -124,6 +124,7 @@ typedef struct RabbitizerInstrDescriptor {
|
|||||||
bool isPseudo;
|
bool isPseudo;
|
||||||
|
|
||||||
RabbitizerAccessType accessType;
|
RabbitizerAccessType accessType;
|
||||||
|
bool doesUnsignedMemoryAccess;
|
||||||
} RabbitizerInstrDescriptor;
|
} RabbitizerInstrDescriptor;
|
||||||
|
|
||||||
// TODO: less redundant name
|
// TODO: less redundant name
|
||||||
@ -200,6 +201,8 @@ bool RabbitizerInstrDescriptor_isPseudo(const RabbitizerInstrDescriptor *self);
|
|||||||
|
|
||||||
NODISCARD NON_NULL(1) PURE
|
NODISCARD NON_NULL(1) PURE
|
||||||
RabbitizerAccessType RabbitizerInstrDescriptor_getAccessType(const RabbitizerInstrDescriptor *self);
|
RabbitizerAccessType RabbitizerInstrDescriptor_getAccessType(const RabbitizerInstrDescriptor *self);
|
||||||
|
NODISCARD NON_NULL(1) PURE
|
||||||
|
bool RabbitizerInstrDescriptor_doesUnsignedMemoryAccess(const RabbitizerInstrDescriptor *self);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -176,7 +176,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_BYTE_SIGNED
|
.accessType=RAB_ACCESSTYPE_BYTE
|
||||||
) // Load Byte
|
) // Load Byte
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x21, lh,
|
cpu, 0x21, lh,
|
||||||
@ -186,7 +186,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_SHORT_SIGNED
|
.accessType=RAB_ACCESSTYPE_SHORT
|
||||||
) // Load Halfword
|
) // Load Halfword
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x22, lwl,
|
cpu, 0x22, lwl,
|
||||||
@ -205,7 +205,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_WORD_SIGNED
|
.accessType=RAB_ACCESSTYPE_WORD
|
||||||
) // Load Word
|
) // Load Word
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x24, lbu,
|
cpu, 0x24, lbu,
|
||||||
@ -215,7 +215,8 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_BYTE_UNSIGNED
|
.accessType=RAB_ACCESSTYPE_BYTE,
|
||||||
|
.doesUnsignedMemoryAccess=true
|
||||||
) // Load Byte Insigned
|
) // Load Byte Insigned
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x25, lhu,
|
cpu, 0x25, lhu,
|
||||||
@ -225,7 +226,8 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_SHORT_UNSIGNED
|
.accessType=RAB_ACCESSTYPE_SHORT,
|
||||||
|
.doesUnsignedMemoryAccess=true
|
||||||
) // Load Halfword Unsigned
|
) // Load Halfword Unsigned
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x26, lwr,
|
cpu, 0x26, lwr,
|
||||||
@ -244,7 +246,8 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_WORD_UNSIGNED
|
.accessType=RAB_ACCESSTYPE_WORD,
|
||||||
|
.doesUnsignedMemoryAccess=true
|
||||||
) // Load Word Unsigned
|
) // Load Word Unsigned
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x28, sb,
|
cpu, 0x28, sb,
|
||||||
@ -253,7 +256,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_BYTE_SIGNED
|
.accessType=RAB_ACCESSTYPE_BYTE
|
||||||
) // Store Byte
|
) // Store Byte
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x29, sh,
|
cpu, 0x29, sh,
|
||||||
@ -262,7 +265,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_SHORT_SIGNED
|
.accessType=RAB_ACCESSTYPE_SHORT
|
||||||
) // Store Halfword
|
) // Store Halfword
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x2A, swl,
|
cpu, 0x2A, swl,
|
||||||
@ -279,7 +282,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_WORD_SIGNED
|
.accessType=RAB_ACCESSTYPE_WORD
|
||||||
) // Store Word
|
) // Store Word
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x2C, sdl,
|
cpu, 0x2C, sdl,
|
||||||
@ -339,7 +342,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_DOUBLEWORD_SIGNED
|
.accessType=RAB_ACCESSTYPE_DOUBLEWORD
|
||||||
) // Load Doubleword
|
) // Load Doubleword
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x38, sc,
|
cpu, 0x38, sc,
|
||||||
@ -364,7 +367,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_DOUBLEWORD_SIGNED
|
.accessType=RAB_ACCESSTYPE_DOUBLEWORD
|
||||||
) // Store Doubleword
|
) // Store Doubleword
|
||||||
|
|
||||||
// OP op, IMM(base)
|
// OP op, IMM(base)
|
||||||
@ -384,7 +387,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_FLOAT_SIGNED
|
.accessType=RAB_ACCESSTYPE_FLOAT
|
||||||
) // Load Word to Coprocessor z
|
) // Load Word to Coprocessor z
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x35, ldc1,
|
cpu, 0x35, ldc1,
|
||||||
@ -395,7 +398,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_DOUBLEFLOAT_SIGNED
|
.accessType=RAB_ACCESSTYPE_DOUBLEFLOAT
|
||||||
) // Load Doubleword to Coprocessor z
|
) // Load Doubleword to Coprocessor z
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x39, swc1,
|
cpu, 0x39, swc1,
|
||||||
@ -405,7 +408,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_FLOAT_SIGNED
|
.accessType=RAB_ACCESSTYPE_FLOAT
|
||||||
) // Store Word from Coprocessor z
|
) // Store Word from Coprocessor z
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
cpu, 0x3D, sdc1,
|
cpu, 0x3D, sdc1,
|
||||||
@ -416,7 +419,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_DOUBLEFLOAT_SIGNED
|
.accessType=RAB_ACCESSTYPE_DOUBLEFLOAT
|
||||||
) // Store Doubleword from Coprocessor z
|
) // Store Doubleword from Coprocessor z
|
||||||
|
|
||||||
// OP cop2t, IMM(base)
|
// OP cop2t, IMM(base)
|
||||||
|
@ -116,7 +116,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_BYTE_SIGNED
|
.accessType=RAB_ACCESSTYPE_BYTE
|
||||||
) // Load Byte
|
) // Load Byte
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x21, lh,
|
rsp, 0x21, lh,
|
||||||
@ -126,7 +126,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_SHORT_SIGNED
|
.accessType=RAB_ACCESSTYPE_SHORT
|
||||||
) // Load Halfword
|
) // Load Halfword
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x23, lw,
|
rsp, 0x23, lw,
|
||||||
@ -136,7 +136,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_WORD_SIGNED
|
.accessType=RAB_ACCESSTYPE_WORD
|
||||||
) // Load Word
|
) // Load Word
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x24, lbu,
|
rsp, 0x24, lbu,
|
||||||
@ -146,7 +146,8 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_BYTE_UNSIGNED
|
.accessType=RAB_ACCESSTYPE_BYTE,
|
||||||
|
.doesUnsignedMemoryAccess=true
|
||||||
) // Load Byte Insigned
|
) // Load Byte Insigned
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x25, lhu,
|
rsp, 0x25, lhu,
|
||||||
@ -156,7 +157,8 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_SHORT_UNSIGNED
|
.accessType=RAB_ACCESSTYPE_SHORT,
|
||||||
|
.doesUnsignedMemoryAccess=true
|
||||||
) // Load Halfword Unsigned
|
) // Load Halfword Unsigned
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x28, sb,
|
rsp, 0x28, sb,
|
||||||
@ -165,7 +167,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_BYTE_SIGNED
|
.accessType=RAB_ACCESSTYPE_BYTE
|
||||||
) // Store Byte
|
) // Store Byte
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x29, sh,
|
rsp, 0x29, sh,
|
||||||
@ -174,7 +176,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_SHORT_SIGNED
|
.accessType=RAB_ACCESSTYPE_SHORT
|
||||||
) // Store Halfword
|
) // Store Halfword
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x2B, sw,
|
rsp, 0x2B, sw,
|
||||||
@ -183,7 +185,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_WORD_SIGNED
|
.accessType=RAB_ACCESSTYPE_WORD
|
||||||
) // Store Word
|
) // Store Word
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x33, pref,
|
rsp, 0x33, pref,
|
||||||
@ -210,7 +212,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesLoad=true,
|
.doesLoad=true,
|
||||||
.accessType=RAB_ACCESSTYPE_FLOAT_SIGNED
|
.accessType=RAB_ACCESSTYPE_FLOAT
|
||||||
) // Load Word to Coprocessor z
|
) // Load Word to Coprocessor z
|
||||||
RABBITIZER_DEF_INSTR_ID(
|
RABBITIZER_DEF_INSTR_ID(
|
||||||
rsp, 0x39, swc1,
|
rsp, 0x39, swc1,
|
||||||
@ -220,7 +222,7 @@ RABBITIZER_DEF_INSTR_ID(
|
|||||||
.canBeLo=true,
|
.canBeLo=true,
|
||||||
.doesDereference=true,
|
.doesDereference=true,
|
||||||
.doesStore=true,
|
.doesStore=true,
|
||||||
.accessType=RAB_ACCESSTYPE_FLOAT_SIGNED
|
.accessType=RAB_ACCESSTYPE_FLOAT
|
||||||
) // Store Word from Coprocessor z
|
) // Store Word from Coprocessor z
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,15 +11,11 @@ from .Enum import Enum
|
|||||||
class AccessType:
|
class AccessType:
|
||||||
INVALID: Enum
|
INVALID: Enum
|
||||||
|
|
||||||
BYTE_SIGNED: Enum
|
BYTE: Enum
|
||||||
BYTE_UNSIGNED: Enum
|
SHORT: Enum
|
||||||
SHORT_SIGNED: Enum
|
WORD: Enum
|
||||||
SHORT_UNSIGNED: Enum
|
DOUBLEWORD: Enum
|
||||||
WORD_SIGNED: Enum
|
FLOAT: Enum
|
||||||
WORD_UNSIGNED: Enum
|
DOUBLEFLOAT: Enum
|
||||||
DOUBLEWORD_SIGNED: Enum
|
|
||||||
DOUBLEWORD_UNSIGNED: Enum
|
|
||||||
FLOAT_SIGNED: Enum
|
|
||||||
DOUBLEFLOAT_SIGNED: Enum
|
|
||||||
|
|
||||||
MAX: Enum
|
MAX: Enum
|
||||||
|
@ -108,6 +108,7 @@ class Instruction:
|
|||||||
def maybeIsMove(self) -> bool: ...
|
def maybeIsMove(self) -> bool: ...
|
||||||
def isPseudo(self) -> bool: ...
|
def isPseudo(self) -> bool: ...
|
||||||
def getAccessType(self) -> Enum: ...
|
def getAccessType(self) -> Enum: ...
|
||||||
|
def doesUnsignedMemoryAccess(self) -> bool: ...
|
||||||
|
|
||||||
def disassemble(self, immOverride: str|None=None, extraLJust: int=0) -> str: ...
|
def disassemble(self, immOverride: str|None=None, extraLJust: int=0) -> str: ...
|
||||||
|
|
||||||
|
@ -377,6 +377,8 @@ static PyObject *rabbitizer_type_Instruction_getAccessType(PyRabbitizerInstructi
|
|||||||
return enumInstance;
|
return enumInstance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEF_DESCRIPTOR_METHOD_BOOL(doesUnsignedMemoryAccess)
|
||||||
|
|
||||||
|
|
||||||
static PyObject *rabbitizer_type_Instruction_disassemble(PyRabbitizerInstruction *self, PyObject *args, PyObject *kwds) {
|
static PyObject *rabbitizer_type_Instruction_disassemble(PyRabbitizerInstruction *self, PyObject *args, PyObject *kwds) {
|
||||||
static char *kwlist[] = {"immOverride", "extraLJust", NULL};
|
static char *kwlist[] = {"immOverride", "extraLJust", NULL};
|
||||||
@ -492,6 +494,7 @@ static PyMethodDef rabbitizer_type_Instruction_methods[] = {
|
|||||||
METHOD_NO_ARGS(maybeIsMove, ""),
|
METHOD_NO_ARGS(maybeIsMove, ""),
|
||||||
METHOD_NO_ARGS(isPseudo, ""),
|
METHOD_NO_ARGS(isPseudo, ""),
|
||||||
METHOD_NO_ARGS(getAccessType, ""),
|
METHOD_NO_ARGS(getAccessType, ""),
|
||||||
|
METHOD_NO_ARGS(doesUnsignedMemoryAccess, ""),
|
||||||
|
|
||||||
METHOD_ARGS(disassemble, "description"),
|
METHOD_ARGS(disassemble, "description"),
|
||||||
|
|
||||||
|
@ -118,3 +118,7 @@ bool RabbitizerInstrDescriptor_isPseudo(const RabbitizerInstrDescriptor *self) {
|
|||||||
RabbitizerAccessType RabbitizerInstrDescriptor_getAccessType(const RabbitizerInstrDescriptor *self) {
|
RabbitizerAccessType RabbitizerInstrDescriptor_getAccessType(const RabbitizerInstrDescriptor *self) {
|
||||||
return self->accessType;
|
return self->accessType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RabbitizerInstrDescriptor_doesUnsignedMemoryAccess(const RabbitizerInstrDescriptor *self) {
|
||||||
|
return self->doesUnsignedMemoryAccess;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user