Poskus hornerjevega algoritma s subrutino, ma pomoje neki ne dela

This commit is contained in:
Timon 2025-10-27 14:28:45 +01:00
parent 0d6f4cf70b
commit a363fd8403
4 changed files with 139 additions and 0 deletions

54
ass1/Polinom/poly_sub.asm Normal file
View 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
View 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
View 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

View file

@ -0,0 +1,6 @@
Hps 00000000006E
T0000001E05000009000373000F77A02F03205C0F204A6900006F2050032041985094
T00001E1E3490400F20389023A0363B2FED0FA01F9021A0163B2FD44F00003F2FFD00
T00003C11000100000200000300000400000500000C
T00005F0F000005000004000003000002000001
E000000