[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v6 12/26] disas: nanoMIPS: Comment the decoder of 'g
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PATCH v6 12/26] disas: nanoMIPS: Comment the decoder of 'gpr3' gpr encoding type |
Date: |
Thu, 27 Dec 2018 15:22:52 +0100 |
From: Aleksandar Markovic <address@hidden>
Comment the decoder of 'gpr3' gpr encoding type in nanoMIPS
disassembler.
Signed-off-by: Aleksandar Markovic <address@hidden>
---
disas/nanomips.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 48 insertions(+), 3 deletions(-)
diff --git a/disas/nanomips.cpp b/disas/nanomips.cpp
index bfa8c1a..8f354b2 100644
--- a/disas/nanomips.cpp
+++ b/disas/nanomips.cpp
@@ -291,9 +291,54 @@ uint64 NMD::renumber_registers(uint64 index, uint64
*register_list,
/*
- * these functions should be decode functions but the json does not have
- * decode sections so they are based on the encode, the equivalent decode
- * functions need writing eventually.
+ * NMD::decode_gpr_gpr3() - decoder for 'gpr3' 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
+ *
+ * Used in handling following instructions:
+ *
+ * - ADDIU[R1.SP]
+ * - ADDIU[R2]
+ * - ADDU[16]
+ * - AND[16]
+ * - ANDI[16]
+ * - BEQC[16]
+ * - BEQZC[16]
+ * - BNEC[16]
+ * - BNEZC[16]
+ * - LB[16]
+ * - LBU[16]
+ * - LH[16]
+ * - LHU[16]
+ * - LI[16]
+ * - LW[16]
+ * - LW[GP16]
+ * - LWXS[16]
+ * - NOT[16]
+ * - OR[16]
+ * - SB[16]
+ * - SH[16]
+ * - SLL[16]
+ * - SRL[16]
+ * - SUBU[16]
+ * - SW[16]
+ * - XOR[16]
*/
uint64 NMD::decode_gpr_gpr3(uint64 d)
{
--
2.7.4
- [Qemu-devel] [PATCH v6 05/26] disas: nanoMIPS: Name some functions in a more descriptive way, (continued)
- [Qemu-devel] [PATCH v6 05/26] disas: nanoMIPS: Name some functions in a more descriptive way, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 06/26] disas: nanoMIPS: Fix an FP-related misnomer 1, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 03/26] disas: nanoMIPS: Fix a function misnomer, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 08/26] disas: nanoMIPS: Fix an FP-related misnomer 3, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 11/26] disas: nanoMIPS: Rename the decoder of 'gpr3' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 07/26] disas: nanoMIPS: Fix an FP-related misnomer 2, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 09/26] disas: nanoMIPS: Name more functions in a more descriptive way, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 16/26] disas: nanoMIPS: Comment the decoder of 'gpr4' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 18/26] disas: nanoMIPS: Comment the decoder of 'gpr4.zero' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 20/26] disas: nanoMIPS: Comment the decoder of 'gpr2.reg1' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 12/26] disas: nanoMIPS: Comment the decoder of 'gpr3' gpr encoding type,
Aleksandar Markovic <=
- [Qemu-devel] [PATCH v6 19/26] disas: nanoMIPS: Rename the decoder of 'gpr2.reg1' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 13/26] disas: nanoMIPS: Rename the decoder of 'gpr3.src.store' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 14/26] disas: nanoMIPS: Comment the decoder of 'gpr3.src.store' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 17/26] disas: nanoMIPS: Rename the decoder of 'gpr4.zero' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 25/26] disas: nanoMIPS: Reorder declarations and definitions of gpr decoders, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 21/26] disas: nanoMIPS: Rename the decoder of 'gpr2.reg2' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 23/26] disas: nanoMIPS: Rename the decoder of 'gpr1' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 15/26] disas: nanoMIPS: Rename the decoder of 'gpr4' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 22/26] disas: nanoMIPS: Comment the decoder of 'gpr2.reg2' gpr encoding type, Aleksandar Markovic, 2018/12/27
- [Qemu-devel] [PATCH v6 10/26] disas: nanoMIPS: Fix order of more invocations, Aleksandar Markovic, 2018/12/27