72 lines
1.2 KiB
NASM
72 lines
1.2 KiB
NASM
poly START 0
|
|
start LDA x
|
|
STA arg1
|
|
JSUB startSubrutine
|
|
LDA subRez
|
|
STA rez
|
|
|
|
halt J halt
|
|
END start
|
|
|
|
.subrutina za izračun tega polinoma v točki arg1
|
|
startSubrutine STA regA
|
|
STB regB
|
|
STT regT
|
|
STT 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
|
|
|
|
STA subRez .shranimo rez
|
|
|
|
LDA regA .obnovimo registre
|
|
LDB regB
|
|
LDT regT
|
|
LDS regS
|
|
|
|
RSUB
|
|
|
|
.polinom
|
|
x4 WORD 1
|
|
x3 WORD 2
|
|
x2 WORD 3
|
|
x1 WORD 4
|
|
x0 WORD 5
|
|
|
|
.tocka
|
|
x WORD 2
|
|
|
|
.rezultat
|
|
rez RESW 1
|
|
|
|
.parameter subrutine
|
|
arg1 RESW 1
|
|
|
|
.rezultat subrutine
|
|
subRez RESW 1
|
|
|
|
.registri
|
|
regA RESW 1
|
|
regB RESW 1
|
|
regT RESW 1
|
|
regS RESW 1
|