elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  error usando linux 64bits en codigo de nasm
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: error usando linux 64bits en codigo de nasm  (Leído 2,742 veces)
Belial & Grimoire


Desconectado Desconectado

Mensajes: 559


Tea_Madhatter


Ver Perfil
error usando linux 64bits en codigo de nasm
« en: 14 Julio 2013, 02:10 am »

hola

tengo una duda, cuando hago un for y un printf juntos, me funciona en 32bits de windows pero en 64 bits de linux, me dice que la instruccion no es soportada para 64 bits, la verdad no he logrado saber si el codigo esta bien o mal hecho por la razon de los 64 bits, a lo cual tambien tengo otra duda

tenia entendido que para usar inc o dec se usaba el registro ecx, pero cuando lo ejecuto usando ecx me da error, y cuando uso ebx me funciona bien cuando lo ejecuto en windows 32bits, alguien sabe cual seria la razon de porque pasa eso?

les dejo el codigo que trato de usar en linux y espero me puedan decir cual es el problema de porque no funciona

Código:
[BITS 64]

section .data

fmt: db "valor = %d",10, 0

section .text

extern printf
global main

main:

mov ebx, 10
loop:

push ebx
push fmt
mov eax, 0
call printf

dec ebx
jnz loop

ret


En línea

.                                 
xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: error usando linux 64bits en codigo de nasm
« Respuesta #1 en: 14 Julio 2013, 03:16 am »

La instruccion no soportada es push ebx, en 64 bits solo puedes hacer push a registro de 64 y de 16.

Y sobre el registro ecx, en 64 bits ecx guarda la direccion de .global main, y cuando haces una interrupcion estilo syscall se guarda la direccion que venga despues de ese syscall, puede que suceda lo mismo con la instruccion call.

Un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[?][Linux/Nasm]No funciona programa similar a cat.
ASM
braulio-- 6 4,917 Último mensaje 10 Agosto 2009, 23:19 pm
por Eternal Idol
NASM en Linux
ASM
Stroncio 5 6,349 Último mensaje 28 Enero 2011, 02:01 am
por Stroncio
Calculadora en Lenguaje Ensamblador - Linux x86 & NASM
ASM
nicoobe 5 23,478 Último mensaje 27 Febrero 2012, 02:33 am
por nicoobe
que tan malo es programar usando WinMain@16 con nasm en windows?
ASM
Belial & Grimoire 4 5,194 Último mensaje 3 Julio 2012, 08:27 am
por x64core
que error le encuentran a este codigo en nasm?
ASM
Belial & Grimoire 6 3,867 Último mensaje 15 Julio 2013, 12:25 pm
por mr.blood
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines