Codigo Ensamblador

Post on 24-Dec-2015

4 views 1 download

description

Ejemplos de codigos ensambladores

Transcript of Codigo Ensamblador

Estructura de un programa en lenguaje ensamblador

Page 60,132

Title Programa de prueba estructura de un programa en ensamblador

;-----------------------------------------------------------------------------------------

Stacksg segment para stack ‘stack’

Stacksg ends

;-----------------------------------------------------------------------------------------

Datasg segment para ‘data’

Datasg ends

;-----------------------------------------------------------------------------------------

Codesg segment para ‘code’

Begin proc far

Assume ss:stacksg,ds:datasg,cs:codesg

Mov ax,datasg

Mov ds,ax

…..

Mov ax,4c00h

Int 21,h

Begin endp

Codesg ends

End begin

URDHY, 04/11/14,
Control de formato. Designa el número máximo de líneas y el número máximo de caracteres en línea.
URDHY, 11/04/14,
Define el final de un procedimiento
URDHY, 11/04/14,
Es la salida al sistema operativo
URDHY, 11/04/14,
Ax, 4c00h es la petición al sistema operativo
URDHY, 11/04/14,
Ds, ax almacena la dirección del segmento de datos en ds.
URDHY, 11/04/14,
Ax,datasg obtiene la dirección del segmento de datos
URDHY, 11/04/14,
Registro ss direcciona la pila, el ds el segmento de datos, el cs el segmento de código.
URDHY, 11/04/14,
Directiva assume. Dentro de un programa en lenguaje ensamblado esta directiva utiliza cada uno de los segmentos, pila, datos y código. Codifica el segmento de código.
URDHY, 11/04/14,
Operando far. Está relacionado con la ejecución del programa
URDHY, 11/04/14,
Son procedimientos, el segmento de código
URDHY, 11/04/14,
Esta es una etiqueta solamente.
URDHY, 11/04/14,
El tamaño máximo de un segmento es de 64 kbps.
URDHY, 11/04/14,
Indica el final de cada segmento.
URDHY, 11/04/14,
Define el inicio de un programa. El nombre del segmento debe estar presente.
URDHY, 11/04/14,
Aquí va el nombre del segmento. Ejemplo: Stack’sg’.
URDHY, 04/11/14,
Se emplea nada más para un título en el programa

DIRECTIVAS SIMPLIFICADAS EN LENGUAJE ENSAMBLADOR

STACKSG SEGMENT PARA STACK ‘STACK’

STACKSG ENDS

CODESG SEGMENT

.MODEL MODELO DE MEMORIA “TINY, SMALL, MEDIUM, COMPACT, LARGE, O HUGE”

.MODEL SMALL ;ASSUME

.STACK {TAMAÑO DE PILA}

.DATA

.CODE

ESTRUCTURA GENERAL

PAGE 60,132

TITLE DIRECTIAS SIMPLIFICADAS

;-----------------------------------------------------------------------------------------

.MODEL SMALL

.STACK 64 ;SE DEFINE LA PILA

.DATA ;SE DEFINE EL SEGMENTO DE DATOS

LISTA DB 11, 12, 13, 14, 15, 16,………

CAR DB ‘CADENA DE CARACTERES$’

FLDA DW 250

FLDB DW 125

FLDC DW ?

;-----------------------------------------------------------------------------------------

.CODE ;SE DEFINE EL SEGMENTO DE CODIGO

BEGIN PROC FAR

MOV AX,@DATA ;SE LE ASIGNA LA DIRECTIVA DE DATASG

MOV DS,AX ;EN EL REGISTRO DS

MOV AX,FLDA

ADD AX, FLDB

MOV FLDC,AX

MOV AL,LISTA+3

MOV AX,4C00H

INT 21H

BEGIN ENDP

END BEGIN

URDHY, 11/11/14,
Este se usa para variables que no se conocen, por lo regular aquí se guardan las demás variables.
URDHY, 11/11/14,
DB define un Bit, DW define Directiva, DD define palabra doble, DF define palabra larga, DQ define palabra cuádruple, DT define 10 Bits.
URDHY, 11/11/14,
Este símbolo específica a ensamblador que hasta allí termina la cadena de caracteres.