Ejemplos de la libreria emu8086.inc
Ejemplo 1
org 100h ; inicio de programainclude 'emu8086.inc' ;Incluye funciones de libreria emu8086 ; DEFINE_SCAN_NUM; DEFINE_PRINT_STRING DEFINE_PRINT_NUM DEFINE_PRINT_NUM_UNS mov si, 0mov al, 0;Convertir primera cadena a numero cadAnum:cmp cad1[si], "$" jz seguir mov bl, 10 mul blsub cad1[si], '0' add al, cad1[si] inc si ;realiza un incrementoloop cadAnum ;seguir:mov aux1, al;Convertir segunda cadena a numeromov si, 0mov al, 0cadAnum2:cmp cad3[si], "$" jz seguir2 ;Saltar si el resultado es cero mov bl, 10 mul blsub cad3[si], '0' add al, cad3[si] inc siloop cadAnum2seguir2:mov bl, al mov al, aux1;realizar operaciones normalmente teniendo ya los dos numeros decimalescmp cad2, "-"jz resta cmp cad2, "+"jz suma cmp cad2, "*"jz multi cmp cad2, "/"jz diviresta: sub al, bljmp finsuma: add al, bljmp finmulti: mul bljmp findivi: div bljmp finfin:mov bx, axmov ah,09lea dx,msgint 21hmov ax, bxcall PRINT_NUMret cad1 db "20$"cad2 db "-"cad3 db "2$"aux1 db ?aux2 dw ?msg dw "El resultado es: $"
Ejemplo 2
include 'emu8086.inc'ORG 100hLEA SI, msg1 ; pregunta por el numeroCALL print_string ;CALL scan_num ; guarda el numero en CXMOV AX, CX ; Copia el numero a AX; Imprime la siguiente cadenaCALL pthisDB 13, 10, 'El numero ingresado: ', 0CALL print_num ; Imprime el numero en AXRET msg1 DB 'Usted no ingreso: ', 0DEFINE_SCAN_NUMDEFINE_PRINT_STRINGDEFINE_PRINT_NUMDEFINE_PRINT_NUM_UNS DEFINE_PTHISEND
Comentarios
Publicar un comentario