summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2010-01-31 19:07:06 +0100
committerSegher Boessenkool <segher@kernel.crashing.org>2010-01-31 19:07:06 +0100
commit9563073288d393f0fd4345a0103f2e9ea2bc9c6d (patch)
tree4bfeea4bc8c0ed1b0f4b5728f0d86c701e4c4dca
parent501e807c59c03c49aef4cd87011c751cdefeb906 (diff)
disas: Add JMPF and FIR_MOV insns
-rw-r--r--disas.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/disas.c b/disas.c
index a8b5b00..c5a222c 100644
--- a/disas.c
+++ b/disas.c
@@ -313,6 +313,15 @@ u32 disas(const u16 *mem, u32 offset)
}
goto dunno;
+ case 0x2f: case 0x3f: case 0x6f: case 0x7f:
+ if (opA == 7 && op1 == 2) {
+ printf("goto %04x\n", (opimm << 16) | ximm);
+ return 2;
+ }
+ if (opA == 7 && op1 == 3)
+ goto dunno;
+ goto dunno;
+
case 0x0f:
switch (opN) {
@@ -352,6 +361,12 @@ u32 disas(const u16 *mem, u32 offset)
case 0x03:
printf("int fiq,irq\n");
return 1;
+ case 0x04:
+ printf("fir_mov on\n");
+ return 1;
+ case 0x05:
+ printf("fir_mov off\n");
+ return 1;
case 0x08:
printf("irq off\n");
return 1;
@@ -373,7 +388,6 @@ u32 disas(const u16 *mem, u32 offset)
case 0x0e: case 0x1e: case 0x2e: case 0x3e:
case 0x4e: case 0x5e: case 0x6e: case 0x7e:
- case 0x2f: case 0x3f: case 0x6f: case 0x7f:
dunno:
printf("<DUNNO>\n");
return len;