Vous êtes sur la page 1sur 3

Ejemplo 1: Mostrar su nombre en pantalla mediante interrupciones

org 100h ;Todo lo escrito despues de " ; " son comentario


s
;escribir su nombre en pantalla
jmp inicio ;salto incondicional a una etiqueta
nombre db "Jorge Arce$" ;Para este caso el nombre tiene que terminar con
$
inicio: ;etiqueta
mov ah,9 ;con esto le digo a la interrupcion que escriba
en pantalla
mov dx,offset nombre ;con esto le indico la direccion del texto
int 21h ;invoco a la interrupcion para escribir en panta
lla
int 20h ;invoco interrupcion para termina el programa
ret
Ejemplo 2: Imprimir HOLA Mundo
;Programa HOLA MUNDO
DATOS SEGMENT
MENSAJE DB "HOLA MUNDO$"
DATOS ENDS
PILA SEGMENT STACK "STACK"
DB 200 DUP(0)
PILA ENDS
CODIGO SEGMENT
ASSUME CS:CODIGO,DS:DATOS,SS:PILA
PRINCIPAL PROC
MOV AX,DATOS
MOV DS,AX
MOV AH,9
MOV DX,OFFSET MENSAJE
INT 21H
MOV AH,4CH
INT 21H
PRINCIPAL ENDP
CODIGO ENDS
END PRINCIPAL
Ejmplo 3: Suma de 3 Numeros
;Programa SUMA DE 3 NUMEROS
pila segment para stack "stack"
dw 32 dup (0)
pila ends
datos segment para "datos"
num1 dw 20
num2 dw 30
num3 dw ?
datos ends
codigo segment para "codigo"
empieza proc far
assume cs: codigo, ds: datos, ss:pila
mov ax,datos
mov ds,ax
mov ax,num1
add ax,num2
mov num3,ax
mov dx,num3
mov ax, 4C00H
int 21H
empieza endp
codigo ends
end empieza
Ejemplo 4: Calcular la suma de 2 Numeros
.;Calcular la suma de dos numeros (1Byte)
; realizar la impresion del resultado (SUMA)


.MODEL SMALL
.STACK
.DATA

DATA1 DB 52H ;Declaracion de variable DATA1, inicializada
DATA2 DB 29H
SUMA DB 0,'$' ;Declaracion de Variable SUM, no inicializada

.CODE ; Segmento codigo

START: ; Direccion Base del segmento datos
MOV AX,@DATA
MOV DS,AX

MOV DX, OFFSET SUMA ; Registro DS toma el valor de ax

MOV AL,DATA1
MOV BL,DATA2
ADD AL,BL ;Instruccion de suma al=al+bl
MOV SUMA,AL

MOV AH,9 ; Impresion
INT 21H

MOV AH,4CH
INT 21H

END START
Ejemplo 5: impresion e un mensaje fijo en pantalla
;Impresion de un mensaje fijo en pantalla
; comentarios
.model tiny ; directiva de modelo de programacion
.stack ; directiva de asignacion de segmento, zona de la pila
.data ; directiva de asignacion de datos, memoria de datos
;Message db "Hola$" ; mensaje a escribir en pantalla
Message db 0x48, 111, 6CH, 1100001b, 0x24
.code ; directiva para el segmento de codigo,memoria de progr
ama
start: ; inicio de programa
mov dx,OFFSET Message ; offset en DX
mov ax,SEG Message ; segmento en AX
mov ds,ax ; DS:DX apunta al mensaje
mov ah,9 ; funcion de llamada a servicio de pantalla
int 21h ; llamada a servicio del DOS
mov ax,4c00h ; instruccion de comprobacion para
int 21h ; volver al DOS
END start ; fin
Ejemplo6:

Vous aimerez peut-être aussi