Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Un altro problema in asm AT&T...
Forum - Altri Linguaggi - Un altro problema in asm AT&T...

Avatar
luca94 (Normal User)
Pro


Messaggi: 71
Iscritto: 07/05/2008

Segnala al moderatore
Postato alle 9:34
Lunedė, 01/06/2009
Salve a tutti,
ho un problema con l' asm AT&T. E' un programma che una volta inserito un numero lo confronta con 1 e se č uguale scrive "uguale" altrimenti scrive "non uguale".
Ecco il source:
Codice sorgente - presumibilmente Altri Linguaggi

  1. .data
  2. str:
  3.       .string "uguale\n"
  4.       lenstr = .-str
  5.  
  6. str1:
  7.        .string "non uguale\n"
  8.         lenstr1 = .-str1
  9.  
  10. n:
  11.         .long  0
  12.  
  13. .text
  14.         .global main
  15.  
  16. main:
  17.         movl $3,%eax
  18.         movl $0,%ebx
  19.         movl $n,%ecx
  20.         movl $4,%edx
  21.         int $0x80
  22.        
  23.  
  24.         movl $n,%eax
  25.         cmpl $1,%eax
  26.         je m
  27.         jne ne
  28.  
  29. m:
  30.         movl $4,%eax
  31.         movl $1,%ebx
  32.         movl $str,%ecx
  33.         movl $lenstr,%edx
  34.         int $0x80
  35.         jmp exit
  36. ne:
  37.        
  38.         movl $4,%e
  39.         movl $1,%ebx
  40.         movl $str1,%ecx
  41.         movl $lenstr1,%edx
  42.         int $0x80
  43.         jmp exit
  44.  
  45. exit:  
  46.  
  47.         movl $1,%eax
  48.         movl $0,%ebx
  49.         int $0x80


Il problema č che quando inserisco il numero salta sempre all' etichetta "ne" ovvero l' etichetta in cui dice "non uguale" anche quando inserisco il numero "1". Come devo risolvere?

PM Quote