2014-06-30 1 views
0

Comment puis-je coder test al,al en langage c?Conversion du test al, al en c

J'ai essayé if((n & 0xFF) & 0){} mais ce n'est pas correct.

Merci.

+5

Il n'y a pas de mappage 1: 1 de l'assembleur vers C. Tout dépend du contexte. (Jetez un coup d'oeil à un manuel de l'assembleur.La partie importante de l'instruction 'test' est la mise en drapeau-registre.) – Deduplicator

+1

+1, tout ce que vous essayez de faire semble mal brisé. – ams

+0

'(n & 0xFF) & 0' sera toujours faux. Vous devez apprendre du C avant d'essayer de comprendre l'assembleur. –

Répondre

5

Je suppose que vous vérifiez le drapeau zéro suivant, c'est-à-dire jz ou similaire. Dans ce cas, vous voudriez

if ((n & 0xFFFF) != 0) { 

Notez que

  • AX n'est pas 8 bits 16 bits (comme par exemple, AL et AH sont) si vous voulez 0xFFFF pas 0xFF (si vous avez besoin même ce restriction)
  • & 0 ne peut jamais donner = 0 et donc faux.
+0

désolé essai ment al, al. Merci pour ça. –

Questions connexes