Add internal structure for Single Transfer, w/ T

This commit is contained in:
sBubshait 2024-05-31 17:59:34 +01:00
parent d7c23e7bf0
commit bfb8bfdace

View File

@ -21,24 +21,26 @@ typedef enum {
typedef struct { typedef struct {
a64inst_TransferType transferType; a64inst_TransferType transferType;
a64inst_regSpecifier base;
a64inst_AddressingMode addressingMode; a64inst_AddressingMode addressingMode;
// I think the following is better than another level of nesting.
union { union {
a64inst_regSpecifier offsetReg; a64inst_regSpecifier offsetReg;
word preIndexedOffset; uint16_t preIndexedOffset;
word postIndexedOffset; uint16_t postIndexedOffset;
word unsignedOffset; uint16_t unsignedOffset;
} a64inst_addressingModeData; } a64inst_addressingModeData;
a64inst_regSpecifier base;
} a64inst_SingleDataTransferData; } a64inst_SingleDataTransferData;
typedef struct { typedef struct {
word offset; uint32_t offset;
} a64inst_LoadLiteralData; } a64inst_LoadLiteralData;
typedef struct { typedef struct {
a64inst_regSpecifier target; a64inst_SingleTransferType SingleTransferOpType;
a64inst_regType regType; a64inst_regType regType;
a64inst_regSpecifier target;
union { union {
a64inst_SingleDataTransferData singleDataTransferData; a64inst_SingleDataTransferData singleDataTransferData;
a64inst_LoadLiteralData loadLiteralData; a64inst_LoadLiteralData loadLiteralData;