Changeset 106679 in vbox
- Timestamp:
- Oct 25, 2024 8:55:05 AM (6 months ago)
- svn:sync-xref-src-repo-rev:
- 165549
- Location:
- trunk/src/VBox/Disassembler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Disassembler/DisasmTables-armv8-a64.cpp
r106659 r106679 1042 1042 DIS_ARMV8_OP(0x78000400, "strh", OP_ARMV8_A64_STRH, DISOPTYPE_HARMLESS), 1043 1043 DIS_ARMV8_OP(0x78400400, "ldrh", OP_ARMV8_A64_LDRH, DISOPTYPE_HARMLESS), 1044 DIS_ARMV8_OP_EX(0x78800400, "ldrsh", OP_ARMV8_A64_LD URSH,DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT),1045 DIS_ARMV8_OP_EX(0x78c00400, "ldrsh", OP_ARMV8_A64_LD URSH,DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_32BIT),1044 DIS_ARMV8_OP_EX(0x78800400, "ldrsh", OP_ARMV8_A64_LDRSH, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT), 1045 DIS_ARMV8_OP_EX(0x78c00400, "ldrsh", OP_ARMV8_A64_LDRSH, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_32BIT), 1046 1046 DIS_ARMV8_OP(0xb8000400, "str", OP_ARMV8_A64_STR, DISOPTYPE_HARMLESS), 1047 1047 DIS_ARMV8_OP(0xb8400400, "ldr", OP_ARMV8_A64_LDR, DISOPTYPE_HARMLESS), 1048 DIS_ARMV8_OP_EX(0xb8800400, "ldrsw", OP_ARMV8_A64_LD URSW,DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT),1048 DIS_ARMV8_OP_EX(0xb8800400, "ldrsw", OP_ARMV8_A64_LDRSW, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT), 1049 1049 INVALID_OPCODE, 1050 1050 DIS_ARMV8_OP(0xf8000400, "str", OP_ARMV8_A64_STR, DISOPTYPE_HARMLESS), … … 1074 1074 1075 1075 /* 1076 * STTRB/LDTRB/LDTRSB/STTRH/LDTRH/LDTRSH/LDTRSH/STTR/LDTR/LDTRSW/STTR/LDTR 1077 * 1078 * Note: The size,opc bitfields are concatenated to form an index. 1079 */ 1080 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_DECODER(LdStRegUnpriv) 1081 DIS_ARMV8_INSN_DECODE(kDisParmParseSize, 30, 2, DIS_ARMV8_INSN_PARAM_UNSET), 1082 DIS_ARMV8_INSN_DECODE(kDisParmParseGprZr, 0, 5, 0 /*idxParam*/), 1083 DIS_ARMV8_INSN_DECODE(kDisParmParseAddrGprSp, 5, 5, 1 /*idxParam*/), 1084 DIS_ARMV8_INSN_DECODE(kDisParmParseSImmMemOffUnscaled, 12, 9, 1 /*idxParam*/), 1085 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_BEGIN(LdStRegUnpriv) 1086 DIS_ARMV8_OP(0x38000800, "sttrb", OP_ARMV8_A64_STTRB, DISOPTYPE_HARMLESS), 1087 DIS_ARMV8_OP(0x38400800, "ldtrb", OP_ARMV8_A64_LDTRB, DISOPTYPE_HARMLESS), 1088 DIS_ARMV8_OP_EX(0x38800800, "ldtrsb", OP_ARMV8_A64_LDTRSB, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT), 1089 DIS_ARMV8_OP_EX(0x38c00800, "ldtrsb", OP_ARMV8_A64_LDTRSB, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_32BIT), 1090 DIS_ARMV8_OP(0x78000800, "sttrh", OP_ARMV8_A64_STTRH, DISOPTYPE_HARMLESS), 1091 DIS_ARMV8_OP(0x78400800, "ldtrh", OP_ARMV8_A64_LDTRH, DISOPTYPE_HARMLESS), 1092 DIS_ARMV8_OP_EX(0x78800800, "ldtrsh", OP_ARMV8_A64_LDTRSH, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT), 1093 DIS_ARMV8_OP_EX(0x78c00800, "ldtrsh", OP_ARMV8_A64_LDTRSH, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_32BIT), 1094 DIS_ARMV8_OP(0xb8000800, "sttr", OP_ARMV8_A64_STTR, DISOPTYPE_HARMLESS), 1095 DIS_ARMV8_OP(0xb8400800, "ldtr", OP_ARMV8_A64_LDTR, DISOPTYPE_HARMLESS), 1096 DIS_ARMV8_OP_EX(0xb8800800, "ldtrsw", OP_ARMV8_A64_LDTRSW, DISOPTYPE_HARMLESS, DISARMV8INSNCLASS_F_FORCED_64BIT), 1097 INVALID_OPCODE, 1098 DIS_ARMV8_OP(0xf8000800, "sttr", OP_ARMV8_A64_STTR, DISOPTYPE_HARMLESS), 1099 DIS_ARMV8_OP(0xf8400800, "ldtr", OP_ARMV8_A64_LDTR, DISOPTYPE_HARMLESS), 1100 INVALID_OPCODE, 1101 INVALID_OPCODE, 1102 DIS_ARMV8_DECODE_INSN_CLASS_DEFINE_END(LdStRegUnpriv, 0xffe00c00 /*fFixedInsn*/, 1103 kDisArmV8OpcDecodeCollate, 1104 RT_BIT_32(22) | RT_BIT_32(23) | RT_BIT_32(30) | RT_BIT_32(31), 22); 1105 1106 1107 /* 1076 1108 * C4.1.94 - Loads and Stores - Load/Store register variants 1077 1109 * … … 1088 1120 DIS_ARMV8_DECODE_MAP_ENTRY(LdStRegUnscaledImm), 1089 1121 DIS_ARMV8_DECODE_MAP_ENTRY(LdStRegImmPostIndex), 1090 DIS_ARMV8_DECODE_MAP_ INVALID_ENTRY, /** @todo*/1122 DIS_ARMV8_DECODE_MAP_ENTRY(LdStRegUnpriv), /* No vector variants. */ 1091 1123 DIS_ARMV8_DECODE_MAP_ENTRY(LdStRegImmPreIndex), 1092 1124 DIS_ARMV8_DECODE_MAP_DEFINE_END(LdStRegOp2_11_0, RT_BIT_32(10) | RT_BIT_32(11), 10); -
trunk/src/VBox/Disassembler/testcase/tstDisasmArmv8-1-asm.S
r106668 r106679 787 787 ldursw x0, [sp, #255] 788 788 789 790 ldtrb w0, [x28] 791 ldtrb w0, [x28, #-256] 792 ldtrb w0, [x28, #255] 793 794 ldtrb w0, [sp] 795 ldtrb w0, [sp, #-256] 796 ldtrb w0, [sp, #255] 797 798 ldtrsb w0, [x28] 799 ldtrsb w0, [x28, #-256] 800 ldtrsb w0, [x28, #255] 801 802 ldtrsb w0, [sp] 803 ldtrsb w0, [sp, #-256] 804 ldtrsb w0, [sp, #255] 805 806 ldtrsb x0, [x28] 807 ldtrsb x0, [x28, #-256] 808 ldtrsb x0, [x28, #255] 809 810 ldtrsb x0, [sp] 811 ldtrsb x0, [sp, #-256] 812 ldtrsb x0, [sp, #255] 813 814 ldtrh w0, [x28] 815 ldtrh w0, [x28, #-256] 816 ldtrh w0, [x28, #255] 817 818 ldtrh w0, [sp] 819 ldtrh w0, [sp, #-256] 820 ldtrh w0, [sp, #255] 821 822 ldtrsh w0, [x28] 823 ldtrsh w0, [x28, #-256] 824 ldtrsh w0, [x28, #255] 825 826 ldtrsh w0, [sp] 827 ldtrsh w0, [sp, #-256] 828 ldtrsh w0, [sp, #255] 829 830 ldtrsh x0, [x28] 831 ldtrsh x0, [x28, #-256] 832 ldtrsh x0, [x28, #255] 833 834 ldtrsh x0, [sp] 835 ldtrsh x0, [sp, #-256] 836 ldtrsh x0, [sp, #255] 837 838 ldtr x0, [x28] 839 ldtr x0, [x28, #-256] 840 ldtr x0, [x28, #255] 841 842 ldtr x0, [sp] 843 ldtr x0, [sp, #-256] 844 ldtr x0, [sp, #255] 845 846 ldtr w0, [x28] 847 ldtr w0, [x28, #-256] 848 ldtr w0, [x28, #255] 849 850 ldtr w0, [sp] 851 ldtr w0, [sp, #-256] 852 ldtr w0, [sp, #255] 853 854 ldtrsw x0, [x28] 855 ldtrsw x0, [x28, #-256] 856 ldtrsw x0, [x28, #255] 857 858 ldtrsw x0, [sp] 859 ldtrsw x0, [sp, #-256] 860 ldtrsw x0, [sp, #255] 861 862 789 863 ldp w0, w1, [x28] 790 864 ldp w0, w1, [x28, #4] … … 1072 1146 stur w0, [sp, #-256] 1073 1147 stur w0, [sp, #255] 1148 1149 1150 sttrb w0, [x28] 1151 sttrb w0, [x28, #-256] 1152 sttrb w0, [x28, #255] 1153 1154 sttrb w0, [sp] 1155 sttrb w0, [sp, #-256] 1156 sttrb w0, [sp, #255] 1157 1158 sttrh w0, [x28] 1159 sttrh w0, [x28, #-256] 1160 sttrh w0, [x28, #255] 1161 1162 sttrh w0, [sp] 1163 sttrh w0, [sp, #-256] 1164 sttrh w0, [sp, #255] 1165 1166 sttr x0, [x28] 1167 sttr x0, [x28, #-256] 1168 sttr x0, [x28, #255] 1169 1170 sttr x0, [sp] 1171 sttr x0, [sp, #-256] 1172 sttr x0, [sp, #255] 1173 1174 sttr w0, [x28] 1175 sttr w0, [x28, #-256] 1176 sttr w0, [x28, #255] 1177 1178 sttr w0, [sp] 1179 sttr w0, [sp, #-256] 1180 sttr w0, [sp, #255] 1181 1074 1182 1075 1183 stp w0, w1, [x28]
Note:
See TracChangeset
for help on using the changeset viewer.