Comunidad Underground Hispana  

Retroceder   Comunidad Underground Hispana > Programacion > Programación > ASM


Respuesta Crear Nuevo Tema
 
Compartir en twitter LinkBack Herramientas Desplegado
Antiguo 26-ene-2009, 16:49   #1
Gran Colaborador
 
Fecha de Ingreso: diciembre-2006
Amigos 0
Mensajes: 1.097
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado [G] Poniendo en practica lo aprendido

Código:
PAGE 60,132
TITLE ASM1 PRIMER PROGRAMA EN .EXE
;.....................SEGMENT
STACKSG SEGMENT  PARA STACK 'Stack' 
MOV AX,7C000
MOV CS,AX
STACKSG ENDS
;.................................
DATASG SEGMENT  PARA STACK 'Data' 
MOV SS,CS
MOV DS,7C000
DATASG ENDS
;................................
BEGIN PROC   FAR
   ASSUME  SS:STACKSG
   MOV AZ,DATASG
   MOV DS,AX
END BEGIN
  
Bueno este es un simple code, que hice para practicar con lo aprendido. y para preguntar una duda:
STACKSG SEGMENT PARA STACK 'Stack'

Que es STACKSG? y es obligado ponerlo.. ya que en el manual pone segment nadamas y en el ejemplo pone stacksg y datasg.. los dos dudo
__________________
A veces sentimos que lo que hacemos es tan solo una gota en el mar, pero el mar sería menos si le faltara una gota.<br />Alguno se estima atrevido, cuando con otros se compara. Algunos creo que hubo tan discretos que no acertaron a compararse sino a sí mismos.<br />Nuestras acciones hablan sobre nosotros tanto como nosotros sobre ellas.<br />
cuban-hack está desconectado   Responder Citando
Antiguo 27-ene-2009, 17:35   #2
Banned
 
Fecha de Ingreso: septiembre-2007
Amigos 7
Mensajes: 2.602
Gracias: 0
Agradecido 85 veces en 56 mensajes.
Predeterminado Re: Poniendo en practica lo aprendido

Que compilador de ensamblador usas?? Y asi te podre responder...
kaiser1313 está desconectado   Responder Citando
Antiguo 27-ene-2009, 17:45   #3
Gran Colaborador
 
Fecha de Ingreso: diciembre-2006
Amigos 0
Mensajes: 1.097
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: Poniendo en practica lo aprendido

uso masm32..

cres que es el combeniente para aprender... y en tal caso, no se compilar en el. ¿? :
__________________
A veces sentimos que lo que hacemos es tan solo una gota en el mar, pero el mar sería menos si le faltara una gota.<br />Alguno se estima atrevido, cuando con otros se compara. Algunos creo que hubo tan discretos que no acertaron a compararse sino a sí mismos.<br />Nuestras acciones hablan sobre nosotros tanto como nosotros sobre ellas.<br />
cuban-hack está desconectado   Responder Citando
Antiguo 27-ene-2009, 18:02   #4
Banned
 
Fecha de Ingreso: septiembre-2007
Amigos 7
Mensajes: 2.602
Gracias: 0
Agradecido 85 veces en 56 mensajes.
Predeterminado Re: Poniendo en practica lo aprendido

Uhm yo te recomiendo que busque es TASM 5.0 (Turbo assembler de Borland), ese es el que uso yo y es muy bueno para aprender, ya que el trae un debugger muy bueno el turbo debuger, donde puedes observar paso a paso todo lo que ocurre en el procesador...

Ademas el libro que postee del Profesor Ramon Medina esta basado en ese compilador, asi que te sera mas facil seguirlo...

Cita:
STACKSG SEGMENT PARA STACK 'Stack'

DATASG SEGMENT PARA STACK 'Data'
Con respecto a eso, nunca lo habia visto esa manera... Pero lo que hacen es Declarar el tamaño del stack o la pila de instrucciones (con el STACKSG = Stack Segment o segmentos de pila)... Y con el otro declaran el los datos o variables del programa (DATASG = Data Segment = Segmento de datos)...
kaiser1313 está desconectado   Responder Citando
Antiguo 28-ene-2009, 07:04   #5
Gran Colaborador
 
Fecha de Ingreso: diciembre-2006
Amigos 0
Mensajes: 1.097
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: Poniendo en practica lo aprendido

no entendi bien, son variables que se definen con esos valores (segment y para stack 'stack')
si es asi en ves de STACKSG podria poner
Cita:
PEPE SEGMENT PARA STACK 'Stack'
cuando llegue a mi casa, me descargo el tasm...
en cual de los libros que posteaste, el de la web o el que tiene derechos de autor,(si es este ultimo te dice el titulo "Programacion Avanzada", y no lo mire ya que estoy empesando.., pero si es ese enseguida lo estoy lellendo..)
__________________
A veces sentimos que lo que hacemos es tan solo una gota en el mar, pero el mar sería menos si le faltara una gota.<br />Alguno se estima atrevido, cuando con otros se compara. Algunos creo que hubo tan discretos que no acertaron a compararse sino a sí mismos.<br />Nuestras acciones hablan sobre nosotros tanto como nosotros sobre ellas.<br />
cuban-hack está desconectado   Responder Citando
Antiguo 28-ene-2009, 11:30   #6
Banned
 
Fecha de Ingreso: septiembre-2007
Amigos 7
Mensajes: 2.602
Gracias: 0
Agradecido 85 veces en 56 mensajes.
Predeterminado Re: Poniendo en practica lo aprendido

Cita:
Iniciado por cuban-hack
no entendi bien, son variables que se definen con esos valores (segment y para stack 'stack')
si es asi en ves de STACKSG podria poner
Cita:
PEPE SEGMENT PARA STACK 'Stack'
cuando llegue a mi casa, me descargo el tasm...
en cual de los libros que posteaste, el de la web o el que tiene derechos de autor,(si es este ultimo te dice el titulo "Programacion Avanzada", y no lo mire ya que estoy empesando.., pero si es ese enseguida lo estoy lellendo..)
Los libros si es el que dice programacion aanzada, pero no le temas pues con ese aprendi yo.. Ese libro es muy bueno ya que trae todos los nemonicos utilizados en ensamblador con su explicacion y ademas las interrupciones del procesador y como utilizarlas, estan el la parte final del libro, al principio trae conceptos y muchisimos programas de ejemplo...

Uhmm mira en verdad no creo que puedas hacer lo de PEPE SEGMENT PARA STACK 'Stack'

Te repito a ver, tu deberias de colocar unicamente un emcabezado de la siguiente manera:

Cita:
MODEL SMALL -> DEFINE EL MODELO DEL PROGRAMA
STACK 256 -> DEFINE EL TAMAÑO DE LA PILA

Tamaño EQU 4 -> SIMPLE CONSTANTE
DATASEG ->AQUI EMPIEZA EL SEGMENTO DE DATOS, ES DECIR DONDE IRAN TUS VARIABLES DE PROGRAMA

Mensaje DB 'Ingrese un Numero de Maximo 4 Digitos y Presione [Enter]: $'
Msm_Salir DB 'A ingresado un Caracter no Valido. Presione cualquier tecla para Salir del Programa$'
Msm_Exc DB 'Solo se Permite un Maximo de 4 Digitos. Intentelo de Nuevo$'
Msm_Result DB 'El codigo Hexadecimal del Numero introducido es: $'
VALORES DB '0123456789ABCDEF$'
AQUI TERMINO EL SEGMENTO DE DATOS

CODESEG -> AQUI EMPIEZA EL SEGMENTO DE CODIGO O DONDE IRA TODO TU PROGRAMA

Inicio: mov ax,@data
.
.
.
.
.
.
.
AQUI TERMINA EL SEGMENTO DE CODIGO DE PROGRAMA
Lo que esta en azul es la explicacion, es un encabezado, yo no se en que otro lenguajes programes tu (creo que en batch) pero la mayoria de lenguajes traen su encabezado, su zona de codigo y su zona de variables... Exactamente eso es lo que haces aqui solo que mas marcado, o sea, con mas delimitacion se notan mas las partes del programa.

Uhm espero asi si me entiendas, sino buscare una forma mas didactica de explicarte, a veces es complicado entender ciertas cosas y mas si uno viene de un lenguaje de alto nivel...

Saludos...
kaiser1313 está desconectado   Responder Citando
Antiguo 28-ene-2009, 12:23   #7
Gran Colaborador
 
Fecha de Ingreso: diciembre-2006
Amigos 0
Mensajes: 1.097
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: Poniendo en practica lo aprendido

entendi mas o menos, se que te refieres a que eso es la forma o estructura que se deve seguir..
que dataseg es para declarar las variables de nuestro progama
que codeseg es para el resto del codigo


Lo que no entendi es a que te refieres "el segmento de datos"???
y si a la pila se le puede dar el valor que nosotros queramos(para el tamaño digo)???
__________________
A veces sentimos que lo que hacemos es tan solo una gota en el mar, pero el mar sería menos si le faltara una gota.<br />Alguno se estima atrevido, cuando con otros se compara. Algunos creo que hubo tan discretos que no acertaron a compararse sino a sí mismos.<br />Nuestras acciones hablan sobre nosotros tanto como nosotros sobre ellas.<br />
cuban-hack está desconectado   Responder Citando
Antiguo 28-ene-2009, 12:30   #8
Banned
 
Fecha de Ingreso: septiembre-2007
Amigos 7
Mensajes: 2.602
Gracias: 0
Agradecido 85 veces en 56 mensajes.
Predeterminado Re: Poniendo en practica lo aprendido

Si al stack o pila se le puede dar cualquier valor, generalmente 32, 64, 128, 256, ..., etc... Yo generalmente le doy 256 pues es mas que suficiente para casi cualquier programa, es mas empezando uno casi no utiliza la pila asi que puedes omitirlo al principio y no declarar el stack...

Cita:
Iniciado por cuban-hack
Lo que no entendi es a que te refieres "el segmento de datos"???
Bueno segmento de datos es DATASEG = Variables del programa...

Es decir DATASEG es una contraccion de Data Segment (Segmento de datos), al igual que CODESEG es contraccion de Code Segment (Segmento de Codigo)...
kaiser1313 está desconectado   Responder Citando
Antiguo 28-ene-2009, 13:02   #9
Gran Colaborador
 
Fecha de Ingreso: diciembre-2006
Amigos 0
Mensajes: 1.097
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: Poniendo en practica lo aprendido

entendido gracias..
ya me estoy descargando el tasm5 y boy a empesar a estudiarme el manual que me recomendaste un poco mas tarde ya que tengo que salir...

Espero pronto aprender algo y postear algun programa..(mi intencion es crear algo sencillo como para monitorizar todos los programas en ejecucion y decirdir que espacio de memoria recivira cada uno), un gestor de memoria central..
__________________
A veces sentimos que lo que hacemos es tan solo una gota en el mar, pero el mar sería menos si le faltara una gota.<br />Alguno se estima atrevido, cuando con otros se compara. Algunos creo que hubo tan discretos que no acertaron a compararse sino a sí mismos.<br />Nuestras acciones hablan sobre nosotros tanto como nosotros sobre ellas.<br />
cuban-hack está desconectado   Responder Citando
Antiguo 28-ene-2009, 13:07   #10
Banned
 
Fecha de Ingreso: septiembre-2007
Amigos 7
Mensajes: 2.602
Gracias: 0
Agradecido 85 veces en 56 mensajes.
Predeterminado Re: Poniendo en practica lo aprendido

Cita:
Iniciado por cuban-hack
entendido gracias..
ya me estoy descargando el tasm5 y boy a empesar a estudiarme el manual que me recomendaste un poco mas tarde ya que tengo que salir...

Espero pronto aprender algo y postear algun programa..(mi intencion es crear algo sencillo como para monitorizar todos los programas en ejecucion y decirdir que espacio de memoria recivira cada uno), un gestor de memoria central..
Bueno eso no es muy senciloo que digamos jajaja... Pero todo se puede, asi que animo... Ya sabes que cualquier duda estare por aqui... ;D

Saludos...
kaiser1313 está desconectado   Responder Citando
Antiguo 28-ene-2009, 13:07   #11
Gran Colaborador
 
Fecha de Ingreso: diciembre-2006
Amigos 0
Mensajes: 1.097
Gracias: 0
Agradecido 1 vez en 1 mensaje.
Predeterminado Re: Poniendo en practica lo aprendido

gracias por todo
__________________
A veces sentimos que lo que hacemos es tan solo una gota en el mar, pero el mar sería menos si le faltara una gota.<br />Alguno se estima atrevido, cuando con otros se compara. Algunos creo que hubo tan discretos que no acertaron a compararse sino a sí mismos.<br />Nuestras acciones hablan sobre nosotros tanto como nosotros sobre ellas.<br />
cuban-hack está desconectado   Responder Citando
Antiguo 28-ene-2009, 13:25   #12
Banned
 
Fecha de Ingreso: septiembre-2007
Amigos 7
Mensajes: 2.602
Gracias: 0
Agradecido 85 veces en 56 mensajes.
Predeterminado Re: Poniendo en practica lo aprendido

Cita:
Iniciado por cuban-hack
gracias por todo
De nada men, estoy a la orden para lo que deseen... Claro siempre y cuando entre entre mis posibilidades y conocimientos...

SALUDOS...
kaiser1313 está desconectado   Responder Citando
Respuesta

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks están Activado
Pingbacks están Activado
Refbacks están Activado



Temas Similares
Tema Autor Foro Respuestas Último mensaje
Practica PL/SQL FireBlack SQL 2 17-ago-2009 06:00
CREO QUE ME ESTAN PONIENDO LOS CUERNOS Y VOY A DESCUBRILO...NECESITO AYUDA!!! maritothekye HacK GeneraL 5 12-abr-2009 18:47
Waoo.. mira mi SERVER,,, algo e aprendido en VACAciones jasj_20 Troyanos y virus 8 20-ene-2009 09:40
un poco de lo aprendido!!! dark angel Diseño Grafico 2 04-nov-2008 17:19
he aprendido a crear troyanos y ahora me han recomendado aprender algo gallego Programación 3 27-ago-2006 09:28



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0