Repare & et |

This commit is contained in:
2016-04-19 10:04:20 +02:00
parent d630e285ba
commit 69f4de0a90
137 changed files with 13211 additions and 13 deletions

View File

@@ -499,7 +499,7 @@ void parcours_opExp(n_exp *n)
parcours_exp(n->u.opExp_.op1);
sprintf(tmp, "$t%d", iRegistre2);
depile(tmp);
sprintf(tmp,"beq $zero, $t%d, %s",iRegistre2,faux1);
sprintf(tmp,"beq $zero, $t%d, %s",iRegistre2, faux1);
printMips(tmp);
sprintf(tmp,"j %s",vrai);
printMips(tmp);
@@ -507,19 +507,19 @@ void parcours_opExp(n_exp *n)
printMips(tmp);
parcours_exp(n->u.opExp_.op2);
sprintf(tmp, "$t%d", iRegistre2);
sprintf(tmp, "$t%d", iRegistre3);
depile(tmp);
sprintf(tmp,"beq $zero $t%d %s",iRegistre2,faux2);
sprintf(tmp, "%s :", vrai);
printMips(tmp);
sprintf(tmp,"li $t%d 1",iRegistre);
sprintf(tmp,"or $t%d, $t%d, $t%d",iRegistre, iRegistre2, iRegistre3);
printMips(tmp);
sprintf(tmp,"j %s",empile);
printMips(tmp);
sprintf(tmp,"%s :",faux2);
sprintf(tmp, "%s :", vrai);
printMips(tmp);
sprintf(tmp,"li $t%d 0",iRegistre);
sprintf(tmp,"move $t%d $t%d",iRegistre, iRegistre2);
printMips(tmp);
sprintf(tmp,"%s : ", empile);
printMips(tmp);
} else if(n->u.opExp_.op == et) {
@@ -531,8 +531,8 @@ void parcours_opExp(n_exp *n)
parcours_exp(n->u.opExp_.op1);
sprintf(tmp, "$t%d", iRegistre2);
depile(tmp);
sprintf(tmp,"li $t%d, 1",iRegistre);
printMips(tmp);
//sprintf(tmp,"li $t%d, 1",iRegistre);
//printMips(tmp);
sprintf(tmp,"beq $zero, $t%d, %s",iRegistre2,faux);
printMips(tmp);
@@ -542,6 +542,11 @@ void parcours_opExp(n_exp *n)
sprintf(tmp,"beq $zero, $t%d, %s",iRegistre3,faux);
printMips(tmp);
//--
sprintf(tmp,"and $t%d, $t%d, $t%d",iRegistre, iRegistre2, iRegistre3);
printMips(tmp);
//--
sprintf(tmp,"j %s", empile);
printMips(tmp);