diff arm7dis/armdis.c @ 95:9ed4d0fcb1f6

armdis: swp decoding implemented
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 30 Mar 2014 07:21:21 +0000
parents 915e2ca2813d
children fb5ea2758482
line wrap: on
line diff
--- a/arm7dis/armdis.c	Sun Mar 30 07:11:41 2014 +0000
+++ b/arm7dis/armdis.c	Sun Mar 30 07:21:21 2014 +0000
@@ -205,6 +205,10 @@
 			word&0x100000 ? "s" : "",
 			regnames[(word>>12)&0xF], regnames[(word>>16)&0xF],
 			regnames[word&0xF], regnames[(word>>8)&0xF]);
+	else if ((word & 0x0FB00FF0) == 0x01000090)
+		printf("swp%s%s\t%s, %s, [%s]\n", condition_decode[word>>28],
+			word&0x400000, "b", "", regnames[(word>>12)&0xF],
+			regnames[word&0xF], regnames[(word>>16)&0xF]);
 	else
 		printf("<invalid multiply>\n");
 }