Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Comienzos de programación en el lenguaje Ensamblador.

  • 1 Respuestas
  • 3754 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KiddArabic

  • *
  • Underc0der
  • Mensajes: 276
  • Actividad:
    5%
  • Reputación 1
  • Vivir sin sueño no es vivir.
    • Ver Perfil
« en: Septiembre 02, 2017, 12:22:57 pm »


Hello World:

Saludos quisas conoscas el dicho de “Programar Te Ayuda A Pensar mejor”, claro y es por eso que cuando  comenzamos a programar siempre debemos aprender lo primero “Como Nos Aprendemos Los Codigos De Programación En Ensamblador” ¿Te Parece Dificil? A Muchos Les Pareció Dificil Cuando Comenzando En Informática Aprendieron el “hola mundo” en html y php los lenguajes que hasta ahora suele ser fáciles para muchos y acordemos nos de otro lenguaje fácil como es el pascal.

Si usted acaba de comenzar a aprender a programar en lenguaje ensamblador, aquí es un ejemplo de programa de la Asamblea explicó de manera que usted pueda comprender la terminología muy básico antes de escribir aplicaciones de montaje más complejas.

Primer programa de la Asamblea simplemente imprime un mensaje de texto “Hello World” en la pantalla.

Código: [Seleccionar]
DATA SEGMENT
     MESSAGE DB "hola mundo!!!$"
ENDS
CODE SEGMENT 
    ASSUME DS:DATA CS:CODE
START:
      MOV AX,DATA
      MOV DS,AX
      LEA DX,MESSAGE       
      MOV AH,9
      INT 21H
      MOV AH,4CH
      INT 21H     
ENDS
END START

En esta programación del lenguaje ensamblador, un solo programa se divide en cuatro segmentos que son:
  • Segmento de datos
  • Código Segmento
  • Pila de segmentos
  • Segmento Extra. Ahora, de estos uno es obligatorio Segmento es decir Código en todo caso usted no necesita la variable (s) de tu “program.If” necesita la variable (s) de tu programa que tendrá dos segmentos, es decir, Código de segmento y el segmento de datos.

SEGMENTO DE DATOS.
  • DATA SEMENG:
  es el punto de inicio del segmento de datos en un programa y de datos es el nombre dado a este segmento y segmento es la palabra clave para los segmentos que definen, Dónde podemos declarar nuestras variables.

MESSAGE DB “HOLA MUNDO !!! $”

MENSAJE es el nombre de la variable dada a un tipo de datos (tamaño) que es DB.
DB significa Definir Byte y es de un byte (8 bits). En los programas de idiomas de la Asamblea, las variables se definen por tamaño de datos no su tipo. Carácter necesita un byte de modo de almacenar carácter o cadena necesitamos DB sólo que no me refiero a DB no puede contener el número o valor numérico.
La cadena se muestra entre dobles comillas. $ Se utiliza como carácter NULL en la programación C, Para que el compilador puede entender dónde parar.

  • DATA ENDS:
Es el punto del segmento de datos en un programa End. Podemos escribir sólo TERMINA Pero para diferenciar el final de qué segmento es de lo que tenemos que escribir el mismo nombre que recibe el segmento de datos.


  • Código de Segmentos.
Segmento de código es el punto de inicio del segmento de código en un programa y CODE es el nombre dado a este segmento y segmento es la palabra clave para la definición de segmentos, donde podremos escribir el código del programa.


  • ASSUME DS:DATA CS:CODE:
En esta programación del lenguaje ensamblador, su son diferentes registros actuales para diferentes Propósito Así que tenemos que asumir DATA es el nombre dado a los datos del registro de segmento y CODE es el nombre dado al Código registro el segmento (SS, ES se utilizan de la misma manera como CS , DS)


  • START.
es la etiqueta que se utiliza para mostrar el punto de partida del código que está escrito en el segmento de código. : Se utiliza para definir una etiqueta como en la programación C.


  • MOV AX,DATA MOV DS,AX.
Después Suponiendo datos y el código de segmento, Still es obligatorio inicializar segmento de datos de registro DS. MOV es una palabra clave para mover el segundo elemento en el primer elemento. Pero no podemos mover datos directamente a DS debido a MOV comandos de restricción, ahí nos movemos DATA para AX y después de AX a DS. AX es el primer y más importante registro en la unidad ALU. Esta pieza también se denomina inicialización DEL SEGMENTO DE DATOS Y es importante para que los elementos de datos o variables en el segmento de datos se hacen accesibles. Otros segmentos no son necesarios para ser inicializado, Sólo asumiendo es enhalf.


  • LEA DX,MESSAGE MOV AH,9 INT 21H
El código de tres líneas de arriba se utiliza para imprimir la cadena dentro de la variable MENSAJE. LEA significa carga Dirección eficaz que se utiliza para asignar direcciones de variable para DX registro (Lo mismo se puede escribir de esta manera también MOV DX, MENSAJE DE COMPENSACIÓN ambos significan lo mismo).


  • MOV AH,4CH INT 21H
El código de dos línea de arriba se utiliza para salir de dos o de salida en el sistema operativo. Entrada Estándar y Interupts salida relacionada estándar se encuentran en INT 21H que también se llama como DOS interrupción. Funciona con el valor de AH registro, si el valor es de 4 canales, que significa Volver a Sistema operativo DOS o que es el final del programa.


  • CODE ENDS.
El punto del segmento de código en un programa End. Podemos escribir sólo TERMINA Pero para diferenciar el final de qué segmento es de lo que tenemos que escribir el mismo nombre dado al segmento de código.


  • END START.
FIN START es el final de la etiqueta utilizada para mostrar el punto final del código que está escrito en el segmento de código.



Fuente: kelvinsecurity.wordpress.com/2014/10/17/comienzos-de-programacion-en-el-lenguaje-ensamblador/
« Última modificación: Septiembre 03, 2017, 02:09:15 am por xyz »

Desconectado HckH3x

  • *
  • Underc0der
  • Mensajes: 56
  • Actividad:
    3.33%
  • Reputación 0
  • ¡Arrrggg pirata!
    • Ver Perfil
« Respuesta #1 en: Septiembre 03, 2017, 01:40:17 am »
Interesante.
Yo aún tengo interés de aprender ASM. Me sería muy útil.
« Última modificación: Septiembre 04, 2017, 04:41:13 pm por Gabriela »

 

¿Te gustó el post? COMPARTILO!



Curso Online gratis "Programación para niños"

Iniciado por graphixx

Respuestas: 0
Vistas: 2507
Último mensaje Enero 13, 2016, 04:13:58 am
por graphixx
[ARTICULO INFORMATIVO] ¿Qué lenguajes de programación dominarán el 2015?

Iniciado por graphixx

Respuestas: 1
Vistas: 3831
Último mensaje Marzo 12, 2015, 10:17:42 pm
por D3ivid
Reto de programacion - Comprobar valor del primer caracter.

Iniciado por Sanko

Respuestas: 7
Vistas: 5916
Último mensaje Octubre 22, 2012, 10:06:19 am
por Sanko
myCompiler: práctica 16 lenguajes de programación desde el navegador

Iniciado por Denisse

Respuestas: 0
Vistas: 104
Último mensaje Septiembre 02, 2019, 08:40:02 pm
por Denisse
Reto de Programacion [Separar Letras de Numeros]

Iniciado por Expermicid

Respuestas: 5
Vistas: 8194
Último mensaje Septiembre 19, 2012, 03:00:31 am
por Snap