fix base of shift instructions

This commit is contained in:
Connor Olding 2017-07-05 02:18:24 +00:00
parent bc1eceaaf7
commit 56e4333bab

20
adis.c
View File

@ -875,18 +875,18 @@ NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE
void SLL(unsigned long word)
{ //00 (00)
if (word)
sprintf(dis_op, "sll\t%s, %s, %02X", gpr_rn[getRD(word)], gpr_rn[getRT(word)], getSA(word) );
sprintf(dis_op, "sll\t%s, %s, %i", gpr_rn[getRD(word)], gpr_rn[getRT(word)], getSA(word) );
else
sprintf(dis_op, "nop");
}
void SRL(unsigned long word)
{ //02 (02)
sprintf(dis_op, "srl\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "srl\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void SRA(unsigned long word)
{ //03 (03)
sprintf(dis_op, "sra\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "sra\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void SLLV(unsigned long word)
@ -1110,32 +1110,32 @@ void TNE(unsigned long word)
void DSLL(unsigned long word)
{ //56 (38)
sprintf(dis_op, "dsll\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "dsll\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void DSRL(unsigned long word)
{ //58 (3A)
sprintf(dis_op, "dsrl\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "dsrl\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void DSRA(unsigned long word)
{ //59 (3B)
sprintf(dis_op, "dsra\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "dsra\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void DSLL32(unsigned long word)
{ //60 (3C)
sprintf(dis_op, "dsll32\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "dsll32\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void DSRL32(unsigned long word)
{ //62 (3E)
sprintf(dis_op, "dsrl32\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "dsrl32\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
}
void DSRA32(unsigned long word)
{ //63 (3F)
sprintf(dis_op, "dsra32\t%s, %s, %02X", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
sprintf(dis_op, "dsra32\t%s, %s, %i", gpr_rn[getRD(word)],gpr_rn[getRT(word)],getSA(word));
};
Handler SPECIAL_T[64] = {
SLL, NONE, SRL, SRA, SLLV, NONE, SRLV, SRAV,
@ -1471,8 +1471,6 @@ int main(int argc, char * argv[])
FILE * ROM;
int targetnum;
//puts("test");
#define XBOX_HUGE (1024*1024*8)
char *tmp = calloc(1, XBOX_HUGE);
dis_op = calloc(1, XBOX_HUGE);