Programación General > ASM (Ensamblador)
Exe's
RadicalEd:
HOLA CHICOS QUISIERA UNA AYUDA ESTOY APRENDIENDO A PROGRAMAR EN ASM Y CONOZCO CASI TODOS LOS COMANDO PERO TENGO 2 DUDAS:
1) COMO CREO EL EJECUTABLE?
2) COMO SE QUE DATOS HAY EN CIERTA DIRECCION ESO ES LO QUE MAS ME TIENE LOCO CON ESTE LENGUAJE DE PROGRAMACION OSEA ME EXPLICO:
CUANDO YO DIGO
MOV BX, AX
QUE DATOS HAY EN AX NO ENTIENDO TENGO UN TUTORIAL LO HE ESTUDIADO Y QUISIERA APRENDER MAS
GRACIAS CHAO
deldar:
1) ¿Qué compilador tienes? Por regla general esto funciona como en cualquier lenguaje primero compilas creando un programa intermedio y después linkas el programa intermedio creando el ejecutable si tienes un entorno integrado de desarrollo (IDE) seguramente puedas hacerlo todo de una sola vez.
2)Verás AX,BX,CX,DX... en el modelo 80x86 son registros, o sea zonas de memoria dentro del procesador, hay que tener en cuenta que tienen dos usos : De proposito general (podrias usarlos casi como variables), De proposito especifico (ej: ax en la division es el dividendo div bl --> es lo mismo que --> ax | bl ).
El valor en un registro proviene , por lo general, bien de la pila (pop ax), de una inerrupción (que la interrupción lo use para devolucion de resultados), o de una operación anterior ( en el ej de "div bl" ah = resto al= cociente).
Un saludo y suerte.
RadicalEd:
OK ME DEJASTE IGUAL, NO ME RESPONDISTES NINGUNA DE LAS 2, PRIMERO USO TASM, SEGUNDO INDICAME LOS COMANDO PARA COMPILAR CUALES SON.
TERCERO CUANDO TE PREGUNTE LO DE LOS REGISTRO NO TE PREGUNTE NI SIQUIREA POR LA PILA Y TE ME FUISTES HASTA ALLA, CUARTO MI PREGUNTA ES:
CUANDO SE DICE MOV BX, AX; QUE VALOR TIENE AX ES LO QUE NO SE ESE VALOR DE MEMORIA QUISIERA SABER CUAL ES.
ME ENTIENDES O ES QUE NO ME EXPLICO Y SOY MUY BRUTO
GRACIAS CHAO :angry:
Oerr:
hola, seguramente ya tienes tu programa (p.e.: miprog.asm), en mi caso uso el masm.exe para compilar (convierte *.asm a *.obj) y link.exe para generar el ejecutable, osea:
x:\>masm miprog.asm (enter)
x:\>link miprog.obj (enter)
Para los valores de AX, BX CX DX y otros puede ayudarte bastante saber que el DEBUG te muestra los valores iniciales y tienes la opcion de cambiar dichos valores: p.e.:
x:\>debug (enter)
-r (enter) ; te muestra todos lo valores p.e. AX=0000 ...
si quieres cambiar el valor a AX, escribe:
-rAX(enter) ; si no deseas hacerlo vuelve a pulsar enter
para salir:
-q
si deseas ver todas las opciones digita:
-?
Buena suerte.
deldar:
Comandos:
compilar: tasm miprograma.asm
linkar: tlink <opciones> miprograma.obj
--- Citar ---ESE VALOR DE MEMORIA QUISIERA SABER CUAL ES.
--- Fin de la cita ---
Repito:
--- Citar ---Verás AX,BX,CX,DX... en el modelo 80x86 son registros
--- Fin de la cita ---
Los registros del procesador NO SON VARIABLES por lo que no tienen dirección de memoria (Al menos a la hora de programar , si lo que estas es haciendo un desensamblador indicalo porque la cosa cambia)
En cuanto al valor, porque al decir "valor" preguntas por el contenido de ax, me remito a mi post anterior y al de Oerr.
Un saludo <_< .
Navegación
[#] Página Siguiente
Ir a la versión completa