Asembler
Enviado por Jhon Marón Puma • 2 de Diciembre de 2015 • Trabajo • 2.460 Palabras (10 Páginas) • 131 Visitas
ejemplo 01. Hola Mundo[pic 1]
.MODEL small
.STACK 100h
.DATA
saludo db "Hola Mundo $"
.CODE
.STARTUP
MOV AX, SEG saludo
MOV DS, AX ;DS = AX = saludo
LEA DX, saludo ;Cargar en DX saludo
MOV AH, 09h ;Funcion mostrar cadena
INT 21h ;Interrupion de Video
.EXIT
END
[pic 2]
Ejemplo 02. Mostrar la Serie de Fibonacci
.MODEL small
.STACK 100h
.CODE
.STARTUP
MOV AH, 0
MOV BH, 1
MOV CX, 5
Repite:
MOV DH, AH
ADD DH, BH
MOV AH, 02h
MOV DL, DH
ADD DL, 30h
INT 21h
MOV AH, BH
MOV BH, DH
LOOP Repite
.EXIT
END
[pic 3]
Ejemplo 03. Sumar Numeros con Acarreo
.MODEL small
.STACK 100h
.CODE
.STARTUP
MOV AX, 7
ADD AX, 8
AAA ;AX = 0105h AH=01, AL=05
MOV BX, AX
MOV DL, BH
ADD DL, 30h
MOV AH, 02h
INT 21h
MOV DL, BL
ADD DL, 30h
MOV AH, 02h
INT 21h
.EXIT
END
Ejemplo 05. Mover Textos/Cadenas en Pantalla[pic 4]
PAGE 60,132
TITLE Mover una cadena de Caracteres en ASM
.MODEL SMALL
.STACK 100h
.DATA
Letrero DB 'Ensamblador$'
PosX db 00 ;Declaracion de la variable PosX para que inicie en cero
PosY db 10 ;Variable PosY inicia en posicion 10
.CODE
.STARTUP
MOV AX, @data
MOV DS, AX
MOV ES, AX
JMP REPETICION
DERECHA:
INC PosX
JMP REPETICION
IZQUIERDA:
DEC PosX
JMP REPETICION
ARRIBA:
DEC PosY
JMP REPETICION
ABAJO:
INC PosY
JMP REPETICION
REPETICION: ;Al hacer la comparacion y x no llegue a 80 regresa
;CMP PosX, 00 ;compara si x es 0
;ADD PosX, 1 ;variable x que se incrementa en 1
MOV AH, 06h ;Limpiando Pantalla
MOV AL, 0
MOV CH, 0
MOV CL, 0
MOV BH, 0
MOV DH, 24
MOV DL, 80
MOV BX, 0203h ;color de letras
INT 10h
MOV AH, 02h ;Posiciona el Cursor
MOV BH, 0 ;inicia en pag. cero
MOV DH, PosY ;posision de Y
MOV DL, PosX ;posision de x
INT 10h
MOV AH, 09h
MOV DX, OFFSET Letrero ;carga el mensaje
INT 21h
MOV AH, 01h ;A=derecha, S=Abajo, D=Derecha, W=Arriba
INT 21h
CMP AL, 'a'
JE IZQUIERDA
CMP AL, 'A'
JE IZQUIERDA
CMP AL, 's'
JE ABAJO
CMP AL, 'S'
JE ABAJO
CMP AL, 'd'
JE DERECHA
...