[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 16/20] disas: nanoMIPS: Comment the decoder of 'g
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PATCH v5 16/20] disas: nanoMIPS: Comment the decoder of 'gpr3.src.store' gpr encoding type |
Date: |
Wed, 26 Dec 2018 12:06:24 +0100 |
From: Aleksandar Markovic <address@hidden>
Comment the decoder of 'gpr3.src.store' gpr encoding type in nanoMIPS
disassembler.
Signed-off-by: Aleksandar Markovic <address@hidden>
---
disas/nanomips.cpp | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp
index 14e5866..9464b1e 100644
--- a/disas/nanomips.cpp
+++ b/disas/nanomips.cpp
@@ -348,6 +348,38 @@ uint64 NMD::decode_gpr_gpr3(uint64 d)
}
+/*
+ * NMD::decode_gpr_gpr3_src_store() - decoder for 'gpr3.src.store' gpr encoding
+ * type
+ *
+ * Map a 3-bit code to the 5-bit register space according to this pattern:
+ *
+ * 7 6 5 4 3 2 1 0
+ * | | | | | | | |
+ * | | | | | | | └-----------------------┐
+ * | | | └-----------------------┐ |
+ * | | └-----------------------┐ | |
+ * | └-----------------------┐ | | |
+ * └-----------------------┐ | | | |
+ * | | | | | | | |
+ * ┌-------┘ | | | | | | |
+ * | ┌-------┘ | | | | | |
+ * | | ┌-------┘ | | | | |
+ * | | | | | | | |
+ * | | | | | | | |
+ * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
+ * 3 2 1 0
+ *
+ * This pattern is the same one used for 'gpr3' gpr encoding type, except for
+ * the input value 0, that is mapped to the output value 0 instead of 16.
+ *
+ * Used in handling following instructions:
+ *
+ * - SB[16]
+ * - SH[16]
+ * - SW[16]
+ * - SW[GP16]
+ */
uint64 NMD::decode_gpr_gpr3_src_store(uint64 d)
{
static uint64 register_list[] = { 0, 17, 18, 19, 4, 5, 6, 7 };
--
2.7.4
- [Qemu-devel] [PATCH v5 07/20] disas: nanoMIPS: Fix an FP-related misnomer 2, (continued)
- [Qemu-devel] [PATCH v5 07/20] disas: nanoMIPS: Fix an FP-related misnomer 2, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 12/20] disas: nanoMIPS: Clean up handling of 16-bit logic instructions, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 05/20] disas: nanoMIPS: Name some functions in a more descriptive way, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 11/20] disas: nanoMIPS: Clean up handling of 48-bit instructions, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 06/20] disas: nanoMIPS: Fix an FP-related misnomer 1, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 08/20] disas: nanoMIPS: Fix an FP-related misnomer 3, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 10/20] disas: nanoMIPS: Fix order of more invocations, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 02/20] disas: nanoMIPS: Remove functions that are not used, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 19/20] disas: nanoMIPS: Rename the decoder of 'gpr4.zero' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 18/20] disas: nanoMIPS: Comment the decoder of 'gpr4' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 16/20] disas: nanoMIPS: Comment the decoder of 'gpr3.src.store' gpr encoding type,
Aleksandar Markovic <=
- [Qemu-devel] [PATCH v5 15/20] disas: nanoMIPS: Rename the decoder of 'gpr3.src.store' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 13/20] disas: nanoMIPS: Rename the decoder of 'gpr3' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 20/20] disas: nanoMIPS: Comment the decoder of 'gpr4.zero' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 14/20] disas: nanoMIPS: Comment the decoder of 'gpr3' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 17/20] disas: nanoMIPS: Rename the decoder of 'gpr4' gpr encoding type, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 03/20] disas: nanoMIPS: Fix a function misnomer, Aleksandar Markovic, 2018/12/26
- [Qemu-devel] [PATCH v5 04/20] disas: nanoMIPS: Fix order of some invocations, Aleksandar Markovic, 2018/12/26