Gestione CMP numeri negativi

di Anonimizzato12274 il
2 risposte
Salve a tutti. Devo fare un programma che preso in input un numero intero restituisca un vettore di byte dove ogni posizione contiene il carattere ascii corrispondente.

il programma funziona bene con tutti i numeri positivi.
se negativo ho problemi ovvero:

int num=-123
codice assembly
            MOV EAX,num
                     CMP EAX,0
                     JB    cambiasegno   // vai a cambia segno se Num < 0
                     JMP continua
cambiasegno: NEG EAX 
continua:       "resto del programma"
ora non so il motivo ma il CMP non funziona in qunato il -123 viene memorizzato come un numero del tipo 445677889 in EAX. idee??

2 Risposte

  • Deve essere

    
       mov eax,num
       cmp eax,0
       jge continua
       neg eax
    continua:
    
  • Grazie man
Devi accedere o registrarti per scrivere nel forum
2 risposte