Comienzos de programación en el lenguaje Ensamblador.

Iniciado por KiddArabic, Septiembre 02, 2017, 12:22:57 PM

Tema anterior - Siguiente tema

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

Septiembre 02, 2017, 12:22:57 PM Ultima modificación: Septiembre 03, 2017, 02:09:15 AM por xyz


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: php
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: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Septiembre 03, 2017, 01:40:17 AM #1 Ultima modificación: Septiembre 04, 2017, 04:41:13 PM por Gabriela
Interesante.
Yo aún tengo interés de aprender ASM. Me sería muy útil.