fix base of shift instructions
This commit is contained in:
parent
bc1eceaaf7
commit
56e4333bab
1 changed files with 9 additions and 11 deletions
20
adis.c
20
adis.c
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue