luca94 (Normal User)
Pro
Messaggi: 71
Iscritto: 07/05/2008
|
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 |
.data
str:
.string "uguale\n"
lenstr = .-str
str1:
.string "non uguale\n"
lenstr1 = .-str1
n:
.long 0
.text
.global main
main:
movl $3,%eax
movl $0,%ebx
movl $n,%ecx
movl $4,%edx
int $0x80
movl $n,%eax
cmpl $1,%eax
je m
jne ne
m:
movl $4,%eax
movl $1,%ebx
movl $str,%ecx
movl $lenstr,%edx
int $0x80
jmp exit
ne:
movl $4,%e
movl $1,%ebx
movl $str1,%ecx
movl $lenstr1,%edx
int $0x80
jmp exit
exit:
movl $1,%eax
movl $0,%ebx
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?
|