Musica de rudy

Solo disponible en BuenasTareas
  • Páginas : 13 (3216 palabras )
  • Descarga(s) : 4
  • Publicado : 26 de mayo de 2010
Leer documento completo
Vista previa del texto
Principia - Lenguaje Ensamblador

Page 1 of 9

para Intel 808x/80x86 Lenguaje Ensamblado

Principia
     

II.- EL LENGUAJE ENSAMBLADOR
1.- UN EJEMPLO CLASICO.
                                         En esta parte se describe lo que es el lenguaje ensamblador, no al ensamblador o al proceso de ensamblado. Aquí se tratará todo lo concerniente con el lenguaje ensamblador y el conjuntode directivas del Microsoft Macro Assembler v4.0. Si bien esto puede resultar bastante extenso y complejo, aquí sólo se describirán las instrucciones y directivas básicas.

         Para comenzar veamos un pequeño ejemplo que ilustra el formato del programa fuente. Este ejemplo
está completamente desarrollado en lenguaje ensamblador que usa servicios o funciones de MS-DOS (system calls)  paraimprimir el mensaje Hola mundo!!  en pantalla.   ; HOLA.ASM
; Programa clasico de ejemplo. Despliega una leyenda en pantalla. STACK     SEGMENT STACK                ; Segmento de pila                     DW     64 DUP (?)             ; Define espacio en la pila STACK     ENDS   DATA      SEGMENT                             ; Segmento de datos SALUDO      DB    "Hola mundo!!",13,10,"$" ; CadenaDATA      ENDS   CODE      SEGMENT                            ; Segmento de Codigo           ASSUME CS:CODE, DS:DATA, SS:STACK   INICIO:                                                  ; Punto de entrada al programa           MOV  AX,DATA                         ; Pone direccion en AX           MOV  DS,AX                              ; Pone la direccion en los registros           MOV  DX,OFFSETSALUDO      ; Obtiene direccion del mensaje           MOV  AH,09H                            ; Funcion: Visualizar cadena           INT     21H                                  ; Servicio: Funciones alto nivel DOS           MOV  AH,4CH                            ; Funcion: Terminar           INT     21H CODE      ENDS           END  INICIO                               ; Marca fin y define INICIO  

    La descripción del programa es como sigue:   1.- Las declaraciones SEGMENT y ENDS definen los segmentos a usar.  

http://homepage.mac.com/eravila/asmix862.html

20/05/2010

Principia - Lenguaje Ensamblador

Page 2 of 9

2.- La variable SALUDO en el segmento DATA, define la cadena a ser desplegada. El signo de dólares al final de la cadena (denominado centinela) es requerido por lafunción de visualización de la cadena de MS -DOS. La cadena incluye los códigos para carriage-return y line-feed.   3.- La etiqueta START  en el segmento de código marca el inicio de las instrucciones del programa.   4.- La declaración DW en el segmento de pila define el espacio para ser usado por el stack del programa.   5.-  La declaración ASSUME indica que registros de segmento se asociarán conlas etiquetas declaradas en las definiciones de segmentos.   6.- Las primeras dos instrucciones cargan la dirección del segmento de datos en el registro DS.   Estas instrucciones no son necesarias para los segmentos de código y stack puesto que la dirección del segmento de código siempre es cargado en el registro CS y la dirección de la declaración del stack segment es automáticamente cargada en elregistro SS.   7.- Las últimas dos instrucciones del segmento CODE   usa la función 4CH de MS-DOS para regresar el control al sistema operativo.   Existen muchas otras formas de hacer esto, pero ésta es la más recomendada.   8.- La directiva END indica el final del código fuente y especifica a START como punto de arranque.      

2.- EL FORMATO DEL ENSAMBLADOR.                                         De acuerdo a las convenciones y notación seguidas en el manual del
Microsoft Macro Assembler, y que usaremos nosotros también, tenemos:               Notación                                                          Significado                                                              Negritas                                   Comandos, símbolos y parámetros a ser usados como se...
tracking img