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:
Ejecución:
Ejecución:
Impresión de cadena con numeros
Codigo:
Ejecucion:
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
Publicar un comentario