From bfb8bfdace1faacb0f0ca12224abf68cc5215b52 Mon Sep 17 00:00:00 2001 From: sBubshait Date: Fri, 31 May 2024 17:59:34 +0100 Subject: [PATCH] Add internal structure for Single Transfer, w/ T --- src/a64instruction_SingleTransfer.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/a64instruction_SingleTransfer.h b/src/a64instruction_SingleTransfer.h index 150437b..120f173 100644 --- a/src/a64instruction_SingleTransfer.h +++ b/src/a64instruction_SingleTransfer.h @@ -21,24 +21,26 @@ typedef enum { typedef struct { a64inst_TransferType transferType; - a64inst_regSpecifier base; a64inst_AddressingMode addressingMode; - // I think the following is better than another level of nesting. + union { a64inst_regSpecifier offsetReg; - word preIndexedOffset; - word postIndexedOffset; - word unsignedOffset; + uint16_t preIndexedOffset; + uint16_t postIndexedOffset; + uint16_t unsignedOffset; } a64inst_addressingModeData; + + a64inst_regSpecifier base; } a64inst_SingleDataTransferData; typedef struct { - word offset; + uint32_t offset; } a64inst_LoadLiteralData; typedef struct { - a64inst_regSpecifier target; + a64inst_SingleTransferType SingleTransferOpType; a64inst_regType regType; + a64inst_regSpecifier target; union { a64inst_SingleDataTransferData singleDataTransferData; a64inst_LoadLiteralData loadLiteralData;