Вы находитесь на странице: 1из 10

D:\TASM\BIN\skell.

asm

mircoles, 1 de febrero de 2017 12:42

;AUTOR: XAVIER PACHECO PAULINO


;Programa que le solicita al usuario la entrada de 8 nmeros de 0-99 para realizar una
comparacion entre ellos
;Ensamblador x86: TASM
;Asignatura: Microprocesadores I
.model small
.stack 256
.data
;========================Variables declaradas aqui=====================================

N1
N2
N3
N4
N5
N6
N7
N8

db
db
db
db
db
db
db
db

;variables de 8 bits sin inicializar que corresponden al orden de entrada de los


numeros

?
?
?
?
?
?
?
?

var1 db ?
var2 db ?
var3 db ?

;variables de proposito general

;=======================================================================================
.code
;====================================Cdigo=============================================
main:

mov
mov
mov
and

ax,@data
ds,ax
es, ax
sp, not 3

;set segment register


;align stack to avoid AC fault

inicio:
;Lectura del primer numero
mov ah,02
mov dl,10
int 21h

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

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

;Leer decena del primer numero desde el


;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var1
;Leer unidad del primer numero desde el
;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda

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

mircoles, 1 de febrero de 2017 12:42

mov N1,dl

;guardo el primer numero en N1

mov ah,02
mov dl,10
int 21h

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del segundo numero


mov
mov
int
mov
mov
int
mov
mov
int

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

;Leer decena del segundo numero desde el teclado


;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var1
;Leer unidad del segundo numero desde el teclado
;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda en dl
;guardo el segundo numero en N2

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del tercer numero


mov
mov
int
mov
mov
int
mov
mov
int

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

;Leer decena del tercer numero desde el


;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var1
;Leer unidad del tercer numero desde el
;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda
;guardo el tercer numero en N3

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del cuarto numero


-2-

teclado
lo guardo en al
teclado
lo guardo en al

en dl

D:\TASM\BIN\skell.asm

mircoles, 1 de febrero de 2017 12:42

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

;Leer decena del cuarto numero desde el


;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var1
;Leer unidad del cuarto numero desde el
;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda
;guardo el cuarto numero en N4

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del quinto numero


mov
mov
int
mov
mov
int
mov
mov
int

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

;Leer decena del quinto numero desde el


;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var1
;Leer unidad del quinto numero desde el
;solicita lectura del teclado
;resto 48 para obtener el numero real y
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda
;guardo el quinto numero en N5

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del sexto numero


mov
mov
int
mov
mov
int

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

mircoles, 1 de febrero de 2017 12:42

mov ah,02
mov dl,'='
int 21h

;Envia un caracter a la pantalla


;caracter de igual =
;solicita mostrar caracter en pantalla

mov
int
sub
mov
mov
int
sub
mov
mov
mov
mul
mov
mov
add
mov

;Leer decena del sexto numero desde el teclado


;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var1
;Leer unidad del sexto numero desde el teclado
;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda en dl
;guardo el sexto numero en N6

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del septimo numero


mov
mov
int
mov
mov
int
mov
mov
int

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

;Leer decena del septimo numero desde el teclado


;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var1
;Leer unidad del septimo numero desde el teclado
;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda en dl
;guardo el septimo numero en N7

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

;Lectura del octavo numero


mov
mov
int
mov
mov
int
mov
mov
int

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

;Leer decena del octavo numero desde el teclado


;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
-4-

D:\TASM\BIN\skell.asm

mircoles, 1 de febrero de 2017 12:42

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

;muevo el valor de al a var1


;Leer unidad del octavo numero desde el teclado
;solicita lectura del teclado
;resto 48 para obtener el numero real y lo guardo en al
;muevo el valor de al a var2
;muevo el valor de var1 a al
;muevo el valor 10 a ah
;se multiplica al por ah
;muevo el resultado de al en var3
;muevo el valor de var3 a dl
;sumo dl y var2. El resultado se guarda en dl
;guardo el octavo numero en N8

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

;Envia un caracter a la pantalla


;N de N1
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;1 de N1
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N2
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;2 de N2
;solicita mostrar caracter en pantalla

mov ah,02
mov dl,32
int 21h

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov al,N1
mov ah,N2

;muevo primer numero a al


;muevo segundo numero a ah

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

mircoles, 1 de febrero de 2017 12:42

caso2:
mov ah,02
mov dl,10
int 21h

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int

;Envia un caracter a la pantalla


;N de N2
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;2 de N2
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N3
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;3 de N3
;solicita mostrar caracter en pantalla

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

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov ah,N2
mov bl,N3

;muevo segundo numero a ah


;muevo tercer numero a bl

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

mov
mov
int
mov
mov
int
mov
mov
int
mov

;Envia un caracter a la pantalla


;N de N3
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;3 de N3
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla

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

mircoles, 1 de febrero de 2017 12:42

;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

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov bl,N3
mov bh,N4

;muevo tercer numero a bl


;muevo cuarto numero a bh

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int

;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
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N5
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;5 de N5
;solicita mostrar caracter en pantalla

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

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov bh,N4

;muevo numero 4 a bh
-7-

D:\TASM\BIN\skell.asm

mircoles, 1 de febrero de 2017 12:42

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int

;Envia un caracter a la pantalla


;N de N5
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;5 de N5
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N6
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;6 de N6
;solicita mostrar caracter en pantalla

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

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov cl,N5
mov ch,N6

;muevo quinto numero a cl


;muevo sexto numero a ch

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

mircoles, 1 de febrero de 2017 12:42

int 21h
jmp caso6

;solicita mostrar caracter en pantalla


;saltar incondicionalmente a 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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla

mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int
mov
mov
int

;Envia un caracter a la pantalla


;N de N6
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;6 de N6
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N7
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;7 de N7
;solicita mostrar caracter en pantalla

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

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov ch,N6
mov dl,N7

;muevo sexto numero a ch


;muevo septimo numero a dl

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

;Envia un caracter a la pantalla


;Salto de linea
;solicita mostrar caracter en pantalla
-9-

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

mircoles, 1 de febrero de 2017 12:42

;Envia un caracter a la pantalla


;N de N7
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;7 de N7
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;v de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;s de versus
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;N de N8
;solicita mostrar caracter en pantalla
;Envia un caracter a la pantalla
;8 de N8
;solicita mostrar caracter en pantalla

mov ah,02
mov dl,32
int 21h

;Envia un caracter a la pantalla


;espacio
;solicita mostrar caracter en pantalla

mov dl,N7
mov dh,N8

;muevo septimo numero a dl


;muevo octavo numero a dh

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-

Вам также может понравиться