Link de consulta: https://www.programacion.com.py/escritorio/ensamblador/ejercicios-resueltos-en-ensamblador-8086
Sintaxis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| 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: $" |
A diferencia del otro programa que había subido con anterioridad, la declaración de los datos en esta ocasión es al final del programa y la declaración de las funciones es al inicio del programa.
Una vez aclarado esto, les pondré la corrida del programa. Como pueden ver, damos de alta el numero 20 y el numero 2, así como el símbolo de resta para realizar esa operación.

Dado de alta los siguientes datos, en la parte de corrida del programa podemos ver lo que es las variables que anteriormente habíamos declarado para ver los movimientos de esta a lo largo de la sintaxis.

Finalmente, aquí tenemos lo que es programa nos devuelve como mensaje final. A mi gusto, podríamos modificarlo para que nos muestre los números que se ingresaron y la operación seleccionada para que no solo nos lance el resultado sin ningún contexto.