Poskus hornerjevega algoritma s subrutino, ma pomoje neki ne dela
This commit is contained in:
parent
0d6f4cf70b
commit
a363fd8403
4 changed files with 139 additions and 0 deletions
54
ass1/Polinom/poly_sub.asm
Normal file
54
ass1/Polinom/poly_sub.asm
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
. Racunanje polinoma s subrutino ki vsebuje loop
|
||||||
|
ps START 0
|
||||||
|
LDX #0 . X je idx za tocke
|
||||||
|
LDL #3
|
||||||
|
LDF len
|
||||||
|
outer_loop
|
||||||
|
LDT in, X . V T je trenutno obravnavana tocka
|
||||||
|
LDA a4 . V A bomo računali z vmesnimi rezultati
|
||||||
|
STA temp . V temp vmesni rezultati
|
||||||
|
LDB #0 . B bo idx za koeficiente
|
||||||
|
LDS a3 . Z S se bomo pomikali po koeficientih
|
||||||
|
|
||||||
|
inner_loop
|
||||||
|
LDA temp
|
||||||
|
MULR T, A
|
||||||
|
SUBR B, S
|
||||||
|
ADDR S, A . V prvem loopu je B=0, pol B=3, pol B=6 itd
|
||||||
|
STA temp
|
||||||
|
|
||||||
|
ADDR L, B
|
||||||
|
COMPR B, F
|
||||||
|
JLT inner_loop
|
||||||
|
|
||||||
|
STA poly, X
|
||||||
|
ADDR L, X
|
||||||
|
COMPR X, F
|
||||||
|
JLT outer_loop
|
||||||
|
|
||||||
|
RSUB
|
||||||
|
|
||||||
|
halt J halt
|
||||||
|
END ps
|
||||||
|
|
||||||
|
. Tocke
|
||||||
|
in WORD 1
|
||||||
|
WORD 2
|
||||||
|
WORD 3
|
||||||
|
WORD 4
|
||||||
|
WORD 5
|
||||||
|
|
||||||
|
lastin EQU *
|
||||||
|
len EQU lastin - in . Stevilo tock v bajtih
|
||||||
|
|
||||||
|
. Rezultat
|
||||||
|
poly RESW 5
|
||||||
|
temp RESW 1
|
||||||
|
|
||||||
|
|
||||||
|
. Koeficienti
|
||||||
|
a0 WORD 5
|
||||||
|
a1 WORD 4
|
||||||
|
a2 WORD 3
|
||||||
|
a3 WORD 2
|
||||||
|
a4 WORD 1
|
||||||
26
ass1/Polinom/poly_sub.log
Normal file
26
ass1/Polinom/poly_sub.log
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
***** Section <default> *****
|
||||||
|
Stats: size=110 blocks=110 symbols=15 literals=0 relocations=0
|
||||||
|
Blocks
|
||||||
|
name start size #ins #dir #sto
|
||||||
|
<default> 00000 0006E 22 15 2
|
||||||
|
Symbols
|
||||||
|
name hex dec scope kind type description
|
||||||
|
a0 00005F 95 local relative data label
|
||||||
|
a1 000062 98 local relative data label
|
||||||
|
a2 000065 101 local relative data label
|
||||||
|
a3 000068 104 local relative data label
|
||||||
|
a4 00006B 107 local relative data label
|
||||||
|
halt 000038 56 local relative code label
|
||||||
|
in 00003B 59 local relative data label
|
||||||
|
inner_loop 000018 24 local relative code label
|
||||||
|
lastin 00004A 74 local absolute notlabel *
|
||||||
|
len 00000F 15 local absolute notlabel lastin-in
|
||||||
|
outer_loop 000009 9 local relative code label
|
||||||
|
poly 00004D 77 local relative data label
|
||||||
|
ps 000000 0 exported relative code label
|
||||||
|
st_poly 00004A 74 local relative data label
|
||||||
|
temp 00005C 92 local relative data label
|
||||||
|
Literals
|
||||||
|
label definition
|
||||||
|
Relocations
|
||||||
|
address length flag symbol
|
||||||
53
ass1/Polinom/poly_sub.lst
Normal file
53
ass1/Polinom/poly_sub.lst
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
. Racunanje polinoma s subrutino ki vsebuje loop
|
||||||
|
00000 ps START 0
|
||||||
|
00000 050000 LDX #0 . X je idx za tocke
|
||||||
|
00003 090003 LDL #3
|
||||||
|
00006 73000F LDF len
|
||||||
|
00009 77A02F outer_loop LDT in,X . V T je trenutno obravnavana tocka
|
||||||
|
0000C 03205C LDA a4 . V A bomo računali z vmesnimi rezultati
|
||||||
|
0000F 0F204A STA temp . V temp vmesni rezultati
|
||||||
|
00012 690000 LDB #0 . B bo idx za koeficiente
|
||||||
|
00015 6F2050 LDS a3 . Z S se bomo pomikali po koeficientih
|
||||||
|
|
||||||
|
00018 032041 inner_loop LDA temp
|
||||||
|
0001B 9850 MULR T,A
|
||||||
|
0001D 9434 SUBR B,S
|
||||||
|
0001F 9040 ADDR S,A . V prvem loopu je B=0, pol B=3, pol B=6 itd
|
||||||
|
00021 0F2038 STA temp
|
||||||
|
|
||||||
|
00024 9023 ADDR L,B
|
||||||
|
00026 A036 COMPR B,F
|
||||||
|
00028 3B2FED JLT inner_loop
|
||||||
|
|
||||||
|
0002B 0FA01F STA poly,X
|
||||||
|
0002E 9021 ADDR L,X
|
||||||
|
00030 A016 COMPR X,F
|
||||||
|
00032 3B2FD4 JLT outer_loop
|
||||||
|
|
||||||
|
00035 4F0000 RSUB
|
||||||
|
|
||||||
|
00038 3F2FFD halt J halt
|
||||||
|
0003B END ps
|
||||||
|
|
||||||
|
. Tocke
|
||||||
|
0003B 000001 in WORD 1
|
||||||
|
0003E 000002 WORD 2
|
||||||
|
00041 000003 WORD 3
|
||||||
|
00044 000004 WORD 4
|
||||||
|
00047 000005 WORD 5
|
||||||
|
|
||||||
|
0004A lastin EQU *
|
||||||
|
0004A len EQU lastin-in . Stevilo tock
|
||||||
|
0004A 00000C st_poly WORD 12 . Stopnja polinoma
|
||||||
|
|
||||||
|
. Rezultat
|
||||||
|
0004D 00....00 poly RESW 5
|
||||||
|
0005C 000000 temp RESW 1
|
||||||
|
|
||||||
|
|
||||||
|
. Koeficienti
|
||||||
|
0005F 000005 a0 WORD 5
|
||||||
|
00062 000004 a1 WORD 4
|
||||||
|
00065 000003 a2 WORD 3
|
||||||
|
00068 000002 a3 WORD 2
|
||||||
|
0006B 000001 a4 WORD 1
|
||||||
6
ass1/Polinom/poly_sub.obj
Normal file
6
ass1/Polinom/poly_sub.obj
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
Hps 00000000006E
|
||||||
|
T0000001E05000009000373000F77A02F03205C0F204A6900006F2050032041985094
|
||||||
|
T00001E1E3490400F20389023A0363B2FED0FA01F9021A0163B2FD44F00003F2FFD00
|
||||||
|
T00003C11000100000200000300000400000500000C
|
||||||
|
T00005F0F000005000004000003000002000001
|
||||||
|
E000000
|
||||||
Loading…
Add table
Add a link
Reference in a new issue