Tarea: Programas que incluyen la libreria EMU8086.INC

En esta ocasion les mostrare 3 programas que usan la libreria EMU8086.INC la cual utiliza macros para hacer mas sencilla y agil la programacion en lenguaje ensamblador.

Estos ejemplos los obtuve de JBWYATT y aqui les dejo el enlace para que visiten su pagina.

Pagina de JBWYATT

HolaMundo

Código:

INCLUDE EMU8086.INC

ORG 100H

PRINT 'HOLA MUNDO!'

GOTOXY 10,5

PUTC 65    ;65 ES EL CODIGO ASCII PARA LA 'A'
PUTC 'B'

RET    ;RETORNO AL SISTEMA OPERATIVO
END ;ORDEN PARA DETENER EL COMPILADOR

Ejecución:
 


Saludo

Código:

; demonstrate get_string and print_string
;----------------------------------------
include 'emu8086.inc'
ORG    100h

LEA    SI, msg1       ; coloca el puntero (SI) a msg
                      ; para pedir el numero
CALL   print_string   ; imprime el mensaje que SI indica

LEA    DI, buffer     ; coloca el puntero (DI) al buffer de entrada
MOV    DX, bufSize    ; ajusta el tamano del buffer
CALL   get_string     ; obtiene el nombre y lo coloca en el buffer

LEA    SI, newln      ; apunta a CR/LF / mensaje de Hola
CALL   print_string   ; imprime el mensaje que SI indica

RET                   ; retorna al sistema operativo

; data
msg1   DB "Ingresa tu nombre: ", 0  
newln  DB 13, 10
       DB "Hola, "
buffer DB 20 DUP (0)  ; buffer de entrada para get_string   
bufSize = $-buffer    ; calcula el tamano del buffer

DEFINE_GET_STRING
DEFINE_PRINT_STRING
END                   ; comando para detener el compilador

Ejecución:
 

Impresión de cadena con numeros

Codigo:
include 'emu8086.inc'
ORG 100h

LEA    SI, msg1       ; pregunta por el numero
CALL   print_string   ;
CALL   scan_num       ; obtiene el numero de CX.

MOV    AX, CX         ; copia el numero a AX.

; imprime la siguiente cadena
CALL   pthis
DB  13, 10, 'Has ingresado: ', 0

CALL   print_num      ; imprime el numero en AX

RET                   ; retorna al sistema operativo

; data
msg1   DB  'Ingresa un numero: ', 0

; macros to define procs
DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS  ; requerido para print_num
DEFINE_PTHIS

END

Ejecucion:

Comentarios

Entradas más populares de este blog

Macros y procedimientos de EMU8086.INC

1.7 Compiladores, proceso de ensamblado y ligado

Simuladores de Lenguaje Ensamblador Online.