Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - D3MENTE

#1
ASM / Ensamblador suma de 32bits.
28 Octubre 2015, 10:47 AM
Hola buenas,
Resulta que quería hacer un programa para sumar en esamblador, y nos dan un programa de prueba para ver como sería sin acarreo. Alguien podría explicarme el porque de sumar 4? pongo almoadilla en la parte del código.


.section .data
lista: .int 1,2,10,  1,2,0b10,  1,2,0x10
longlista: .int (.-lista)/4
resultado: .int -1

.section .text
_start: .global _start

mov    $lista, %ebx
mov longlista, %ecx
call suma
mov %eax, resultado

mov $1, %eax
mov $0, %ebx
int $0x80

suma:
push %edx
mov $0, %eax
mov $0, %edx
bucle:
add (%ebx,%edx,4), %eax #Esta suma de 4 es la que me gustaría comprender
inc       %edx
cmp  %edx,%ecx
jne bucle

pop %edx
ret


Muchas gracias y un saludo.