Está en la página 1de 6

Load x1

Subt x2
Subt x3
Skipcond 400
Jump y
Halt
y, Load y1
Subt y2
Subt y3
Skipcond 400
Jump t
Halt
t, Load x2 //Lado B
Store px1
Load x3
Store px2
Load y2
Store py1
Load y3
Store py2
JnS dis
Load p1
Store r
JnS raiz
Load contR
Store b
Load b
Output
Load x1 //Lado A
Store px1
Load x2
Store px2
Load y1
Store py1
Load y2
Store py2
JnS dis
Load p1
Store r
JnS raiz
Load contR
Store a
Load a
Output
Load x3 //Lado C
Store px1
Load x1
Store px2
Load y3
Store py1
Load y1
Store py2
JnS dis
Load p1
Store r
JnS raiz
Load contR
Store c
Load c
Output
Load a //Perimetro
Add b
Add c
Store perimetro
Load perimetro
Output

Load perimetro //Semi-Perimetro


Store divi
JnS divi2
Load resDivi
Store perim
Load perim
Store p
Output

JnS area //Calcular Area


Load resA
Output
//Clasificar Triangulo
ift, Load a // a=b=c
Subt b
Subt c
Skipcond 400
jump eift
the1, Load mUno
Store tipo
Jump endift
eift, Load a //a=b a!=c
Subt b
Skipcond 400
Jump eift2
the2, Load a
Subt c
Skipcond 400
Jump tipo1
jump eift2
tipo1, Load mDos
Store tipo
jump endift
eift2, Load b //b=c b!=a
Subt c
Skipcond 400
Jump eift3
the3, Load b
Subt a
Skipcond 400
Jump tipo2
jump eift3
tipo2, Load mDos
Store tipo
jump endift
eift3, Load c //c=a c!=b
Subt a
Skipcond 400
Jump elseif
the4, Load c
Subt b
Skipcond 400
Jump tipo3
jump elseif
tipo3, Load mDos
Store tipo
jump endift
elseif, Load mTres
Store tipo
endift, Load tipo // -1 -> Equilatero
Output // -2 -> Isoceles
Halt // -3 -> Escaleno

area, dec 0
Load p //(semi - a)
Subt a
Store a1
Load p //(semi - b)
Subt b
Store a2
Load p //(semi - c)
Subt c
Store a3
Load p //semi*a1
Store m1
Load a1
Store m2
JnS multi
Load resM
Store p
Load p //(semi*a1)*a2
Store m1
Load a2
Store m2
JnS multi
Load resM
Store p
Load p //(semi*a1*a2)*a3
Store m1
Load a3
Store m2
JnS multi
Load resM
Store p
Store resA
Load resA
Store r
JnS raiz
Load contR
Store resA
JumpI area

dis, dec 0
Load px2
Subt px1
Store p1
if1, Load p1
Skipcond 000
jump endif1
Load p1
Subt p1
Subt p1
Store p1
endif1, Load p1
Store m1
Store m2
JnS multi
Load resM
Store p1
Load py2
Subt py1
Store p2
if2, Load p2
Skipcond 000
jump endif2
Load p2
Subt p2
Subt p2
Store p2
endif2, Load p2
Store m1
Store m2
JnS multi
Load resM
Store p2
Load p1
Add p2
Store p1
JumpI dis

raiz, dec 0
Load cero
Store contR
Store resR
loopR, Load contR
Store m1
Store m2
JnS multi
Load resM
Store resR
Load r
Subt resR
Skipcond 800
JumpI raiz
Load contR
Add uno
Store contR
Jump loopR

divi2, dec 0 //Division x 2


Load cero
Store resDivi
loop2, Load divi
Subt dos
Skipcond 000
jump then2
JumpI divi2
then2, Load divi
Subt dos
Store divi
Load resDivi
Add uno
Store resDivi
Jump loop2

multi, dec 0 //Multiplicacion


Load cero
Store resM
while, Load m2
Skipcond 800
Jump endm
Load resM
Add m1
Store resM
Load m2
Subt uno
Store m2
Jump while
endm, Load resM
Store divi
JnS divi1
Load resDivi
Store resM
JumpI multi

divi1, dec 0 //Division x 100


Load cero
Store resDivi
loopd, Load divi
Subt cien
Skipcond 000
Jump then
Jump eloopd
then, Load divi
Subt cien
Store divi
Load resDivi
Add uno
Store resDivi
Jump loopd
eloopd, Load resM
Subt cien
Skipcond 400
JumpI divi1
Load uno
Store resDivi
JumpI divi1

x1, dec 10 //Coordenadas


y1, dec 10
x2, dec 40
y2, dec 50
x3, dec 80
y3, dec 26
px1, dec 0
px2, dec 0
py1, dec 0
py2, dec 0
p1, dec 0
p2, dec 0
m1, dec 0 //Variables multiplicacion
m2, dec 0
resM, dec 0
uno, dec 1
cero, dec 0
divi, dec 0
cien, dec 100
resDivi, dec 0
dos, dec 2
contR, dec 0
r, dec 0
resR, dec 0
a, dec 0
b, dec 0
c, dec 0
perimetro, dec 0
perim, dec 0
a1, dec 0
a2, dec 0
a3, dec 0
resA, dec 0
p, dec 0
tipo, dec 0
mUno, dec -1
mDos, dec -2
mTres, dec -3

También podría gustarte