Oppure

Loading
01/06/09 7:34
luca94
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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl 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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl {parsed_message},%ebx
        movl $n,%ecx
        movl ,%edx
        int {parsed_message}x80
        

        movl $n,%eax
        cmpl ,%eax
        je m
        jne ne

m:
        movl ,%eax
        movl ,%ebx
        movl $str,%ecx
        movl $lenstr,%edx
        int {parsed_message}x80
        jmp exit
ne:
       
        movl ,%e
        movl ,%ebx
        movl $str1,%ecx
        movl $lenstr1,%edx
        int {parsed_message}x80
        jmp exit

exit:   

        movl ,%eax
        movl {parsed_message},%ebx
        int {parsed_message}x80

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?
,%ebx movl $n,%ecx movl ,%edx int 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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl {parsed_message},%ebx
        movl $n,%ecx
        movl ,%edx
        int {parsed_message}x80
        

        movl $n,%eax
        cmpl ,%eax
        je m
        jne ne

m:
        movl ,%eax
        movl ,%ebx
        movl $str,%ecx
        movl $lenstr,%edx
        int {parsed_message}x80
        jmp exit
ne:
       
        movl ,%e
        movl ,%ebx
        movl $str1,%ecx
        movl $lenstr1,%edx
        int {parsed_message}x80
        jmp exit

exit:   

        movl ,%eax
        movl {parsed_message},%ebx
        int {parsed_message}x80

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?
x80 movl $n,%eax cmpl ,%eax je m jne ne m: movl ,%eax movl ,%ebx movl $str,%ecx movl $lenstr,%edx int 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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl {parsed_message},%ebx
        movl $n,%ecx
        movl ,%edx
        int {parsed_message}x80
        

        movl $n,%eax
        cmpl ,%eax
        je m
        jne ne

m:
        movl ,%eax
        movl ,%ebx
        movl $str,%ecx
        movl $lenstr,%edx
        int {parsed_message}x80
        jmp exit
ne:
       
        movl ,%e
        movl ,%ebx
        movl $str1,%ecx
        movl $lenstr1,%edx
        int {parsed_message}x80
        jmp exit

exit:   

        movl ,%eax
        movl {parsed_message},%ebx
        int {parsed_message}x80

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?
x80 jmp exit ne: movl ,%e movl ,%ebx movl $str1,%ecx movl $lenstr1,%edx int 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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl {parsed_message},%ebx
        movl $n,%ecx
        movl ,%edx
        int {parsed_message}x80
        

        movl $n,%eax
        cmpl ,%eax
        je m
        jne ne

m:
        movl ,%eax
        movl ,%ebx
        movl $str,%ecx
        movl $lenstr,%edx
        int {parsed_message}x80
        jmp exit
ne:
       
        movl ,%e
        movl ,%ebx
        movl $str1,%ecx
        movl $lenstr1,%edx
        int {parsed_message}x80
        jmp exit

exit:   

        movl ,%eax
        movl {parsed_message},%ebx
        int {parsed_message}x80

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?
x80 jmp exit exit: movl ,%eax movl 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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl {parsed_message},%ebx
        movl $n,%ecx
        movl ,%edx
        int {parsed_message}x80
        

        movl $n,%eax
        cmpl ,%eax
        je m
        jne ne

m:
        movl ,%eax
        movl ,%ebx
        movl $str,%ecx
        movl $lenstr,%edx
        int {parsed_message}x80
        jmp exit
ne:
       
        movl ,%e
        movl ,%ebx
        movl $str1,%ecx
        movl $lenstr1,%edx
        int {parsed_message}x80
        jmp exit

exit:   

        movl ,%eax
        movl {parsed_message},%ebx
        int {parsed_message}x80

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?
,%ebx int 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:
.data
str:
      .string "uguale\n"
      lenstr = .-str

str1:
       .string "non uguale\n"
        lenstr1 = .-str1

n:
        .long  0

.text
        .global main

main:
        movl ,%eax
        movl {parsed_message},%ebx
        movl $n,%ecx
        movl ,%edx
        int {parsed_message}x80
        

        movl $n,%eax
        cmpl ,%eax
        je m
        jne ne

m:
        movl ,%eax
        movl ,%ebx
        movl $str,%ecx
        movl $lenstr,%edx
        int {parsed_message}x80
        jmp exit
ne:
       
        movl ,%e
        movl ,%ebx
        movl $str1,%ecx
        movl $lenstr1,%edx
        int {parsed_message}x80
        jmp exit

exit:   

        movl ,%eax
        movl {parsed_message},%ebx
        int {parsed_message}x80

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?
x80

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?
aaa