Ciao a tutti.
Sto studiando Assembler per linux e ho provato a fare un programma che somma il contenuto di due registri ma il risultato della somma me lo da sbagliato.
Ecco il codice :
.section .data
a:
.long 5
b:
.long 2
output_a:
.asciz "\nIl primo numero è: %d \n"
output_b:
.asciz "\nIl secondo numero è: %d \n"
output_somma:
.asciz "\nIl risultato della somma è: %d \n"
.section .text
.global _start
_start:
pushl a
pushl $output_a
call printf
addl $8,%esp
movl a,%eax
pushl b
pushl $output_b
call printf
addl $8,%esp
movl b,%ebx
addl %ebx,%eax
movl %ebx,%ecx
push %ecx
pushl $output_somma
call printf
addl $8,%esp
pushl $0
call exit
Cosa sbaglio ?


Software & OS
LinkBack URL
About LinkBacks
Rispondi Citando
