- Get link
- X
- Other Apps
El día de hoy vamos a utilizar la libreria emu8086, en ella utilizamos por primera vez las "macros", que son las siguientes:
- PUTC char: imprime un solo caracter
- GOTOXY col, row: coloca el cursor en las coordenadas solicitadas
- PRINT string: Imprime una cadena
- PRINTN string: Imprime una cadena y tras imprimirla hace un salto de linea.
Existen varias funciones comunes que se pueden incluir a un programa. Para hacer que el programa implemente funciones definidas en otro archivo debes usar la directiva INCLUDE seguida del nombre del archivo. El compilador automáticamente busca el archivo en la misma carpeta donde esta localizado el archivo de código fuente, y si no lo encuentra ahí, lo buscara en la carpeta Inc.
Codigo:
org 100h ; inicio de programa include 'emu8086.inc' ;Incluye funciones de libreria emu8086 ; DEFINE_SCAN_NUM ; DEFINE_PRINT_STRING DEFINE_PRINT_NUM DEFINE_PRINT_NUM_UNS mov si, 0 mov al, 0 ;Convertir primera cadena a numero cadAnum: cmp cad1[si], "$" jz seguir mov bl, 10 mul bl sub cad1[si], '0' add al, cad1[si] inc si ;realiza un incremento loop cadAnum ; seguir: mov aux1, al ;Convertir segunda cadena a numero mov si, 0 mov al, 0 cadAnum2: cmp cad3[si], "$" jz seguir2 ;Saltar si el resultado es cero mov bl, 10 mul bl sub cad3[si], '0' add al, cad3[si] inc si loop cadAnum2 seguir2: mov bl, al mov al, aux1 ;realizar operaciones normalmente teniendo ya los dos numeros decimales cmp cad2, "-" jz resta cmp cad2, "+" jz suma cmp cad2, "*" jz multi cmp cad2, "/" jz divi resta: sub al, bl jmp fin suma: add al, bl jmp fin multi: mul bl jmp fin divi: div bl jmp fin fin: mov bx, ax mov ah,09 lea dx,msg int 21h mov ax, bx call PRINT_NUM ret cad1 db "20$" cad2 db "-" cad3 db "2$" aux1 db ? aux2 dw ? msg dw "El resultado es: $"
- Get link
- X
- Other Apps
Comments
Post a Comment