Programación General > ASM (Ensamblador)
Traducción de dos sentencias NASM a GAS
clicklose:
Alguien podrías decirme como traducir este código (en sintaxis de NASM) a sintaxis de GAS?
mov dword [ebp - 4], eax
lea ebx, [ebp - 256]
Yo lo escribí así:
movl %eax , -4(%ebp)
leal - 256(%ebp) , %ebx
Estaría bien?
Saludos
m0skit0:
Bueno, NASM acepta tanto sintaxis Intel como AT&T.
A primera vista, está bien para GAS. ¿Te da algún error/problema?
clicklose:
En realidad forma parte de un código bastante largo, y quería esperar a traducirlo completamente antes de compilar, tengo otras dudas como por ejemplo lineas de este estilo:
mov dword [ebp - 76], 'Hi, '
mov dword [ebp - 72], 'this'
mov dword [ebp - 68], ' is '
mov dword [ebp - 64], 'a pr'
mov dword [ebp - 60], 'oof '
que no se como traducirlas o también
mov cx, [ebp - 20]
mov edx, End - main
Con End y main como etiquetas
La 1° me deja la dudas por el tamaño de los operadores
Sería movw -20(%ebp) , %cx ?
Por las primera lineas y la última no tengo idea :S
Gracias por la ayuda
Saludos
m0skit0:
--- Código: ASM ---mov dword [ebp - 76], 'Hi, 'mov dword [ebp - 72], 'this'mov dword [ebp - 68], ' is 'mov dword [ebp - 64], 'a pr'mov dword [ebp - 60], 'oof ' Buf, esto me parece una chorrada inútil, no sé si GAS aceptará eso, pero weno, siempre puedes pasarlo a hexadecimal:
--- Código: ASM ---movl 0x48692C20, -76(%ebp) (no recuerdo cómo se definían los números hexadecimales en GAS :P )
--- Cita de: "clicklose" ---La 1° me deja la dudas por el tamaño de los operadores
Sería movw -20(%ebp) , %cx ?
--- Fin de la cita ---
Sip
--- Código: ASM ---mov edx, End - main Hm no sé si GAS aceptará esto, pero puedes cargar las direcciones en registros (LEA) y computar dicha resta.
clicklose:
Las lineas en la que carga texto las necesito hacer así para no usar sección .data, había pensado la de los hexadecimales (te faltó el "$" antes del número), es una pena que GAS no tenga una forma más cómoda como la de NASM
Voy a probar el de las etiquetas, para la diferencia
--- Código: ASM ---leal End , %edileal main , %esisubl %esi , %edi estaría bien decís?
Navegación
[#] Página Siguiente
Ir a la versión completa