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 - Asm AT&T...problema...
Forum - Altri Linguaggi - Asm AT&T...problema...

Avatar
luca94 (Normal User)
Pro


Messaggi: 71
Iscritto: 07/05/2008

Segnala al moderatore
Postato alle 16:29
Domenica, 31/05/2009
Salve a tutti,
sto imparando l' assembler AT&T ma ho un problema con questo programma:
Codice sorgente - presumibilmente Altri Linguaggi

  1. .data
  2. str:
  3.       .string "uguale\n"
  4.       lenstr = .-str
  5.  
  6. .text
  7.      .global main
  8.  
  9. main:
  10.      movl $1,%eax
  11.      cmpl $1,%eax
  12.      je m
  13.  
  14. m:
  15.         movl $4,%eax
  16.         movl $1,%ebx
  17.         movl $str,%ecx
  18.         movl $lenstr,%edx
  19.         int $0x80


Il codice inserisce 1 nel registro ax, confronta 1 con ax (che è uguale a 1) dopodicchè il comando "je" verifica se "1" è uguale ad "ax" e in caso affermativo salta all' etichetta "m" dove scrive "uguale". Il problema è che se modifico il codice mettendo 2 al posto di 1 nel registro ax..cioè così:
Codice sorgente - presumibilmente Altri Linguaggi

  1. .data
  2. str:
  3.       .string "uguale\n"
  4.       lenstr = .-str
  5.  
  6. .text
  7.      .global main
  8.  
  9. main:
  10.      movl $2,%eax
  11.      cmpl $1,%eax
  12.      je m
  13.  
  14. m:
  15.         movl $4,%eax
  16.         movl $1,%ebx
  17.         movl $str,%ecx
  18.         movl $lenstr,%edx
  19.         int $0x80


quando lo eseguo mi dice sempre "uguale" cioè salta all etichetta "m" anche se 1 è diverso da 2...come mai???
Grazie!!!

Ultima modifica effettuata da luca94 il 31/05/2009 alle 16:30
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 17:05
Domenica, 31/05/2009
Non e' quello il problema ... non salta all'etichetta m ma se e' diverso non sa che fare e continua con il programma ovvero con l'etichetta m ...


PM Quote
Avatar
luca94 (Normal User)
Pro


Messaggi: 71
Iscritto: 07/05/2008

Segnala al moderatore
Postato alle 8:20
Lunedì, 01/06/2009
E  che codice devo mettere in modo che controlli anche la diversità tra i numeri?:hail:

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 10:07
Lunedì, 01/06/2009
Mi sembra logico ...

jne altraetichetta

al posto di

je m

PM Quote