martes, 26 de febrero de 2019

PRÁCTICA #14: PROGRAMAS BIBLIOTECA DE FUNCIONES: EMU8086


Enlace:
Biblioteca de funciones comunes: emu8086.inc

Ejemplo #1.

Código emu8086:


include emu8086.inc

ORG    100h

PRINT 'Hello World!'

GOTOXY 10, 5

PUTC 65           ; 65 - is an ASCII code for 'A'
PUTC 'B'

RET               ; return to operating system.
END               ; directive to stop the compiler.

Corrida en pantalla:


Ejemplo  #2.

Código emu8086:
    ; demonstrate get_string and print_string
    ;----------------------------------------
    include 'emu8086.inc'
    ORG    100h
    
    LEA    SI, msg1       ; set up pointer (SI) to msg
                          ; to ask for the number
    CALL   print_string   ; print message that SI points to
    
    LEA    DI, buffer     ; set up pointer (DI) to input buffer
    MOV    DX, bufSize    ; set size of buffer
    CALL   get_string     ; get name & put in buffer
    
    LEA    SI, newln      ; point at CR/LF / Hello message 
    CALL   print_string   ; print message that SI points to
    
    RET                   ; return to operating system.
    
    ; data
    msg1   DB "Enter your name: ", 0  
    newln  DB 13, 10
           DB "Hello, "
    buffer DB 20 DUP (0)  ; input buffer for get_string   
    bufSize = $-buffer    ; calculates size of buffer
    
    DEFINE_GET_STRING
    DEFINE_PRINT_STRING
    END                   ; directive to stop the compiler.
Corrida en pantalla:


Ejemplo #3.

Código emu8086:

; demonstrate scan_num, print_num, pthis
;----------------------------------------
include 'emu8086.inc'
ORG    100h

LEA    SI, msg1       ; ask for the number
CALL   print_string   ;
CALL   scan_num       ; get number in CX.

MOV    AX, CX         ; copy the number to AX.

; print the following string:
CALL   pthis
DB  13, 10, 'You have entered: ', 0

CALL   print_num      ; print number in AX.

RET                   ; return to operating system.

; data
msg1   DB  'Enter the number: ', 0

; macros to define procs
DEFINE_SCAN_NUM
DEFINE_PRINT_STRING
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS  ; required for print_num.
DEFINE_PTHIS

END                   ; directive to stop the compiler.

Corrida en pantalla:


No hay comentarios:

Publicar un comentario