Comment faire le commutateur, la structure de cas en assembleur? Quelle est la bonne façon ou plus de corect?Faire interrupteur, structure de cas dans l'assemblage
Ceci est mon code en C, ce que je veux écrire en assembleur.
if (diode_on == 1)
{
switch(diode_num)
{
case 0:
//score += 3;
break;
case 1:
//score += 3;
break;
case 2:
//score += 3;
break;
case 3:
//score += 3;
break;
default:
break;
}
diode_on = 0;
}
J'ai besoin de cela pour mon projet, MMSP430F5XX. La condition du projet est qu'une routine de rupture est écrite en assembleur. Et c'est un code de routine de rupture en C, ce que j'essaie d'écrire en assembleur.
#pragma vector=PORT2_VECTOR
__interrupt void port2handler(void)
{
__delay_cycles(1000);
if (diode_on == 1)
{
switch(diode_num)
{
case 0:
if((P2IFG & BIT4)!=0)
{
if ((P2IN & BIT4)==0)
//score += 3;
calculationScore(3);
}
else
//score--;
calculationScore(-1);
break;
case 1:
if((P2IFG & BIT5)!=0)
{
if ((P2IN & BIT5)==0)
//score += 3;
calculationScore(3);
}
else
//score--;
calculationScore(-1);
break;
case 2:
if((P2IFG & BIT6)!=0)
{
if ((P2IN & BIT6)==0)
//score += 3;
calculationScore(3);
}
else
//score--;
calculationScore(-1);
break;
case 3:
if((P2IFG & BIT7)!=0)
{
if ((P2IN & BIT7)==0)
//score += 3;
calculationScore(3);
}
else
//score--;
calculationScore(-1);
break;
default:
break;
}
P4OUT &= ~(BIT3 | BIT4 | BIT5 | BIT6); //gasimo diode
diode_on = 0;
}
P2IFG &= ~(BIT4 | BIT5 | BIT6 | BIT7); // brisanje flega
}
Le commutateur avec coupures est équivalent à –
Pouvez-vous marquer une architecture, s'il vous plaît? Nous ne pouvons pas répondre sans. –
nous pouvons répondre sans cela juste génériquement. il y a un certain nombre d'autres problèmes avec la question au-delà de ce qui fait qu'il est difficile de simplement donner à cette personne la réponse à leur question de devoirs. –