changed polySubrutine.asm so it uses loops
This commit is contained in:
parent
055d1a8c8d
commit
f59c93b770
1 changed files with 18 additions and 26 deletions
|
|
@ -9,33 +9,25 @@ halt J halt
|
|||
END start
|
||||
|
||||
.subrutina za izračun tega polinoma v točki arg1
|
||||
startSubrutine STA regA
|
||||
startSubrutine STA regA
|
||||
STB regB
|
||||
STT regT
|
||||
STT regS .shranimo registre
|
||||
STS regS .shranimo registre
|
||||
|
||||
LDA x0 .pristejemo x0 v A
|
||||
|
||||
LDB arg1
|
||||
LDS x
|
||||
LDT x1
|
||||
MULR S, T
|
||||
ADDR T, A .pristejemo x0 * x
|
||||
|
||||
LDT x2
|
||||
MULR B, S .izracunamo x^2
|
||||
MULR S, T
|
||||
ADDR T, A
|
||||
|
||||
LDT x3
|
||||
MULR B, S .izracunamo x^3
|
||||
MULR S, T
|
||||
ADDR T, A
|
||||
|
||||
LDT x4
|
||||
MULR B, S .izracunamo x^4
|
||||
MULR S, T
|
||||
ADDR T, A
|
||||
LDX #3 .odmik v arrayu
|
||||
LDS arg1
|
||||
loop LDT x0, X .preberemo x_n
|
||||
MULR S, T .izračunamo x_n * x^n
|
||||
ADDR T, A .pristejemo v vsoto
|
||||
LDT arg1
|
||||
MULR T, S .zmožimo naslednjo potenco
|
||||
LDT #3
|
||||
ADDR T, X .povečamo odmik
|
||||
LDT #13
|
||||
COMPR T, X
|
||||
JGT loop
|
||||
|
||||
STA subRez .shranimo rez
|
||||
|
||||
|
|
@ -47,11 +39,11 @@ startSubrutine STA regA
|
|||
RSUB
|
||||
|
||||
.polinom
|
||||
x4 WORD 1
|
||||
x3 WORD 2
|
||||
x2 WORD 3
|
||||
x1 WORD 4
|
||||
x0 WORD 5
|
||||
WORD 4
|
||||
WORD 3
|
||||
WORD 2
|
||||
WORD 1
|
||||
|
||||
.tocka
|
||||
x WORD 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue