Академический Документы
Профессиональный Документы
Культура Документы
asm
N1
N2
N3
N4
N5
N6
N7
N8
db
db
db
db
db
db
db
db
?
?
?
?
?
?
?
?
var1 db ?
var2 db ?
var3 db ?
;=======================================================================================
.code
;====================================Cdigo=============================================
main:
mov
mov
mov
and
ax,@data
ds,ax
es, ax
sp, not 3
inicio:
;Lectura del primer numero
mov ah,02
mov dl,10
int 21h
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'1'
21h
ah,02
dl,'='
21h
;Envia un
;N de N1
;solicita
;Envia un
;1 de N1
;solicita
;Envia un
;caracter
;solicita
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
-1-
teclado
lo guardo en al
teclado
lo guardo en al
en dl
D:\TASM\BIN\skell.asm
mov N1,dl
mov ah,02
mov dl,10
int 21h
ah,02
dl,'N'
21h
ah,02
dl,'2'
21h
ah,02
dl,'='
21h
;Envia un
;N de N2
;solicita
;Envia un
;2 de N2
;solicita
;Envia un
;caracter
;solicita
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N2,dl
mov ah,02
mov dl,10
int 21h
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
ah,02
dl,'N'
21h
ah,02
dl,'3'
21h
ah,02
dl,'='
21h
;Envia un
;N de N3
;solicita
;Envia un
;3 de N3
;solicita
;Envia un
;caracter
;solicita
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N3,dl
mov ah,02
mov dl,10
int 21h
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
teclado
lo guardo en al
teclado
lo guardo en al
en dl
D:\TASM\BIN\skell.asm
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'4'
21h
ah,02
dl,'='
21h
;Envia un
;N de N4
;solicita
;Envia un
;4 de N4
;solicita
;Envia un
;caracter
;solicita
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N4,dl
mov ah,02
mov dl,10
int 21h
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
teclado
lo guardo en al
teclado
lo guardo en al
en dl
ah,02
dl,'N'
21h
ah,02
dl,'5'
21h
ah,02
dl,'='
21h
;Envia un
;N de N5
;solicita
;Envia un
;5 de N5
;solicita
;Envia un
;caracter
;solicita
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N5,dl
mov ah,02
mov dl,10
int 21h
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
ah,02
dl,'N'
21h
ah,02
dl,'6'
21h
;Envia un
;N de N6
;solicita
;Envia un
;6 de N6
;solicita
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
-3-
teclado
lo guardo en al
teclado
lo guardo en al
en dl
D:\TASM\BIN\skell.asm
mov ah,02
mov dl,'='
int 21h
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N6,dl
mov ah,02
mov dl,10
int 21h
ah,02
dl,'N'
21h
ah,02
dl,'7'
21h
ah,02
dl,'='
21h
;Envia un
;N de N7
;solicita
;Envia un
;7 de N7
;solicita
;Envia un
;caracter
;solicita
mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
ah,01
21h
al,48
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N7,dl
mov ah,02
mov dl,10
int 21h
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
ah,02
dl,'N'
21h
ah,02
dl,'8'
21h
ah,02
dl,'='
21h
mov ah,01
int 21h
sub al,48
;Envia un
;N de N8
;solicita
;Envia un
;8 de N8
;solicita
;Envia un
;caracter
;solicita
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
mostrar caracter en pantalla
caracter a la pantalla
de igual =
mostrar caracter en pantalla
D:\TASM\BIN\skell.asm
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov
var1,al
ah,01
21h
al,48
var2,al
al,var1
ah,10
ah
var3,al
dl,var3
dl,var2
N8,dl
mov
mov
int
mov
mov
int
ah,02
dl,10
21h
ah,02
dl,10
21h
;Envia un
;Salto de
;solicita
;Envia un
;Salto de
;solicita
caracter a la pantalla
linea
mostrar caracter en pantalla
caracter a la pantalla
linea
mostrar caracter en pantalla
;Seccion de comparacion
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'1'
21h
ah,02
dl,'v'
21h
ah,02
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'2'
21h
mov ah,02
mov dl,32
int 21h
mov al,N1
mov ah,N2
cmp al,ah
je igual1
jg mayor1
jmp menor1
;el
;si
;si
;si
igual1:
mov ah,02
mov dl,'='
int 21h
jmp caso2
;etiqueta igual1
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso2
mayor1:
mov ah,02
mov dl,'G'
int 21h
jmp caso2
;etiqueta mayor1
;Envia un caracter a la pantalla
;G de mas grande
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso2
menor1:
mov ah,02
mov dl,'P'
int 21h
jmp caso2
;etiqueta menor1
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso2
valor
N1 es
N1 es
N1 es
de N1
igual
mayor
menor
se compara con N2
a N2 saltar a la etiqueta igual1
a N2 saltar a la etiqueta mayor1
a N2 saltar a la etiqueta menor1
-5-
D:\TASM\BIN\skell.asm
caso2:
mov ah,02
mov dl,10
int 21h
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'2'
21h
ah,02
dl,'v'
21h
ah,02
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'3'
21h
mov ah,02
mov dl,32
int 21h
mov ah,N2
mov bl,N3
cmp ah,bl
je igual2
jg mayor2
jmp menor2
;el
;si
;si
;si
igual2:
mov ah,02
mov dl,'='
int 21h
jmp caso3
;etiqueta igual2
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso3
mayor2:
mov ah,02
mov dl,'G'
int 21h
jmp caso3
;etiqueta mayor2
;Envia un caracter a la pantalla
;G de mas grande
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso3
menor2:
mov ah,02
mov dl,'P'
int 21h
jmp caso3
;etiqueta menor2
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso3
valor
N2 es
N2 es
N2 es
de N2
igual
mayor
menor
se compara con N3
a N3 saltar a la etiqueta igual2
a N3 saltar a la etiqueta mayor2
a N3 saltar a la etiqueta menor2
caso3:
mov ah,02
mov dl,10
int 21h
mov
mov
int
mov
mov
int
mov
mov
int
mov
ah,02
dl,'N'
21h
ah,02
dl,'3'
21h
ah,02
dl,'v'
21h
ah,02
-6-
D:\TASM\BIN\skell.asm
mov
int
mov
mov
int
mov
mov
int
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'4'
21h
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N4
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;4 de N4
;solicita mostrar caracter en pantalla
mov ah,02
mov dl,32
int 21h
mov bl,N3
mov bh,N4
cmp bl,bh
je igual3
jg mayor3
jmp menor3
;el
;si
;si
;si
igual3:
mov ah,02
mov dl,'='
int 21h
jmp caso4
;etiqueta igual3
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso4
mayor3:
mov ah,02
mov dl,'G'
int 21h
jmp caso4
;etiqueta mayor3
;Envia un caracter a la pantalla
;G de mas grande
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso4
menor3:
mov ah,02
mov dl,'P'
int 21h
jmp caso4
;etiqueta menor3
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso4
valor
N3 es
N3 es
N3 es
de N3
igual
mayor
menor
se compara con N4
a N4 saltar a la etiqueta igual3
a N4 saltar a la etiqueta mayor3
a N4 saltar a la etiqueta menor3
;=====================
caso4:
mov ah,02
mov dl,10
int 21h
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'4'
21h
ah,02
dl,'v'
21h
ah,02
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'5'
21h
mov ah,02
mov dl,32
int 21h
mov bh,N4
;muevo numero 4 a bh
-7-
D:\TASM\BIN\skell.asm
mov cl,N5
;muevo numero 5 a cl
cmp bh,cl
je igual4
jg mayor4
jmp menor4
;el
;si
;si
;si
igual4:
mov ah,02
mov dl,'='
int 21h
jmp caso5
;etiqueta igual4
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso5
mayor4:
mov ah,02
mov dl,'G'
int 21h
jmp caso5
;etiqueta mayor4
;Envia un caracter a la pantalla
;G de mas grande
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso5
menor4:
mov ah,02
mov dl,'P'
int 21h
jmp caso5
;etiqueta menor4
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso5
valor
N4 es
N4 es
N4 es
de N4
igual
mayor
menor
se compara con N5
a N5 saltar a la etiqueta igual4
a N5 saltar a la etiqueta mayor4
a N5 saltar a la etiqueta menor4
caso5:
mov ah,02
mov dl,10
int 21h
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'5'
21h
ah,02
dl,'v'
21h
ah,02
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'6'
21h
mov ah,02
mov dl,32
int 21h
mov cl,N5
mov ch,N6
cmp cl,ch
je igual5
jg mayor5
jmp menor5
;el
;si
;si
;si
igual5:
mov ah,02
mov dl,'='
int 21h
jmp caso6
;etiqueta igual5
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso6
mayor5:
mov ah,02
mov dl,'G'
;etiqueta mayor5
;Envia un caracter a la pantalla
;G de mas grande
valor
N5 es
N5 es
N5 es
de N5
igual
mayor
menor
se compara con N6
a N6 saltar a la etiqueta igual5
a N6 saltar a la etiqueta mayor5
a N6 saltar a la etiqueta menor5
-8-
D:\TASM\BIN\skell.asm
int 21h
jmp caso6
menor5:
mov ah,02
mov dl,'P'
int 21h
jmp caso6
;etiqueta menor5
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso6
caso6:
mov ah,02
mov dl,10
int 21h
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'6'
21h
ah,02
dl,'v'
21h
ah,02
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'7'
21h
mov ah,02
mov dl,32
int 21h
mov ch,N6
mov dl,N7
cmp ch,dl
je igual6
jg mayor6
jmp menor6
;el
;si
;si
;si
igual6:
mov ah,02
mov dl,'='
int 21h
jmp caso7
;etiqueta igual6
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso7
mayor6:
mov ah,02
mov dl,'G'
int 21h
jmp caso7
;etiqueta mayor6
;Envia un caracter a la pantalla
;G de mas grande
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso7
menor6:
mov ah,02
mov dl,'P'
int 21h
jmp caso7
;================
;etiqueta menor6
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso7
valor
N6 es
N6 es
N6 es
de N6
igual
mayor
menor
se compara con N7
a N7 saltar a la etiqueta igual6
a N7 saltar a la etiqueta mayor6
a N7 saltar a la etiqueta menor6
caso7:
mov ah,02
mov dl,10
int 21h
D:\TASM\BIN\skell.asm
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
ah,02
dl,'N'
21h
ah,02
dl,'7'
21h
ah,02
dl,'v'
21h
ah,02
dl,'s'
21h
ah,02
dl,'N'
21h
ah,02
dl,'8'
21h
mov ah,02
mov dl,32
int 21h
mov dl,N7
mov dh,N8
cmp dl,dh
je igual7
jg mayor7
jmp menor7
;el
;si
;si
;si
igual7:
mov ah,02
mov dl,'='
int 21h
jmp caso8
;etiqueta igual7
;Envia un caracter a la pantalla
;simbolo de igual
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso8
mayor7:
mov ah,02
mov dl,'G'
int 21h
jmp caso8
;etiqueta mayor7
;Envia un caracter a la pantalla
;G de mas grande
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso8
menor7:
mov ah,02
mov dl,'P'
int 21h
jmp caso8
;etiqueta menor7
;Envia un caracter a la pantalla
;P de mas pequeo
;solicita mostrar caracter en pantalla
;saltar incondicionalmente a caso8
valor
N7 es
N7 es
N7 es
de N7
igual
mayor
menor
se compara con N8
a N8 saltar a la etiqueta igual7
a N8 saltar a la etiqueta mayor7
a N8 saltar a la etiqueta menor7
caso8:
mov ah,02
;Envia un caracter a la pantalla
mov dl,10
;Salto de linea
int 21h
;solicita mostrar caracter en pantalla
jmp inicio
;============================================================================
mov ax,4c00h
int 21h
;terminate program
.exit
end main
-10-