final hw push

This commit is contained in:
aljazbrodar. 2025-11-15 13:46:22 +01:00
parent 371cfddbde
commit 27b8de1bc2
36 changed files with 1018 additions and 6 deletions

Binary file not shown.

View file

@ -0,0 +1,33 @@
arith START 0
LDA x
ADD y
STA sum
LDA x
SUB y
STA diff
LDA x
MUL y
STA prod
LDA x
DIV y
STA quot
LDA y
MUL quot
STA mod
LDA x
SUB mod
STA mod
HALT J HALT
END arith
x WORD 11
y WORD 5
sum RESW 1
diff RESW 1
prod RESW 1
quot RESW 1
mod RESW 1

View file

@ -0,0 +1,40 @@
arithr START 0
LDS #11
LDT #5
LDA ZERO
ADDR S, A
ADDR T, A
STA sum
LDA ZERO
ADDR S, A
SUBR T, A
STA diff
LDA ZERO
ADDR S, A
MULR T, A
STA prod
LDA ZERO
ADDR S, A
DIVR T, A
STA quot
LDA ZERO
ADDR S, A
LOOP SUBR T, A
COMPR A, T
JGT LOOP
JEQ LOOP
STA mod
HALT J HALT
END arithr
ZERO WORD 0
sum RESW 1
diff RESW 1
prod RESW 1
quot RESW 1
mod RESW 1

View file

@ -0,0 +1,29 @@
HORNER START 0
. Pretvorimo polinom x^4 + 2x^3 + 3x^2 + 4x+5 v Hornerjevo obliko
. b_n = a_n = 1
. b_n-1 = 2 + b_n * x = 2 + 1 * x = 4
. b_n-2 = 3 + b_n-1 * x = 3 + 4 * x = 11
. b_n-3 = 4 + b_n-2 * x = 4 + 11 * x = 26
. b_n-4 = 5 + b_n-3 * x = 5 + 26 * x = 57
. kjer x = 2
LDA #1
MUL x
ADD #2
MUL x
ADD #3
MUL x
ADD #4
MUL x
ADD #5
STA res
HALT J HALT
END HORNER
x WORD 2
res RESW 1

View file

@ -0,0 +1,15 @@
***** Section <default> *****
Stats: size=39 blocks=39 symbols=4 literals=0 relocations=0
Blocks
name start size #ins #dir #sto
<default> 00000 00027 11 3 1
Symbols
name hex dec scope kind type description
HALT 00001E 30 local relative code label
HORNER 000000 0 exported relative code label
res 000024 36 local relative data label
x 000021 33 local relative data label
Literals
label definition
Relocations
address length flag symbol

View file

@ -0,0 +1,29 @@
00000 HORNER START 0
. Pretvorimo polinom x^4 + 2x^3 + 3x^2 + 4x+5 v Hornerjevo obliko
. b_n = a_n = 1
. b_n-1 = 2 + b_n * x = 2 + 1 * x = 4
. b_n-2 = 3 + b_n-1 * x = 3 + 4 * x = 11
. b_n-3 = 4 + b_n-2 * x = 4 + 11 * x = 26
. b_n-4 = 5 + b_n-3 * x = 5 + 26 * x = 57
. kjer x = 2
00000 010001 LDA #1
00003 23201B MUL x
00006 190002 ADD #2
00009 232015 MUL x
0000C 190003 ADD #3
0000F 23200F MUL x
00012 190004 ADD #4
00015 232009 MUL x
00018 190005 ADD #5
0001B 0F2006 STA res
0001E 3F2FFD HALT J HALT
00021 END HORNER
00021 000002 x WORD 2
00024 000000 res RESW 1

View file

@ -0,0 +1,4 @@
HHORNER000000000027
T0000001E01000123201B19000223201519000323200F1900042320091900050F2006
T00001E063F2FFD000002
E000000

39
ass1/vaje/osnove/poly.asm Normal file
View file

@ -0,0 +1,39 @@
POLY START 0
.x^4
LDA x
MUL x
MUL x
MUL x
STA res
CLEAR A
.+2x^3
LDA x
MUL x
MUL x
MUL #2
ADD res
STA res
CLEAR A
.+3x^2
LDA x
MUL x
MUL #3
ADD res
STA res
CLEAR A
.+4x
LDA x
MUL #4
ADD res
STA res
CLEAR A
.+5
LDA res
ADD #5
STA res
CLEAR A
HALT J HALT
END POLY
x WORD 2
res RESW 1

15
ass1/vaje/osnove/poly.log Normal file
View file

@ -0,0 +1,15 @@
***** Section <default> *****
Stats: size=88 blocks=88 symbols=4 literals=0 relocations=0
Blocks
name start size #ins #dir #sto
<default> 00000 00058 29 3 1
Symbols
name hex dec scope kind type description
HALT 00004F 79 local relative code label
POLY 000000 0 exported relative code label
res 000055 85 local relative data label
x 000052 82 local relative data label
Literals
label definition
Relocations
address length flag symbol

39
ass1/vaje/osnove/poly.lst Normal file
View file

@ -0,0 +1,39 @@
00000 POLY START 0
. x^4
00000 03204F LDA x
00003 23204C MUL x
00006 232049 MUL x
00009 232046 MUL x
0000C 0F2046 STA res
0000F B400 CLEAR A
. +2x^3
00011 03203E LDA x
00014 23203B MUL x
00017 232038 MUL x
0001A 210002 MUL #2
0001D 1B2035 ADD res
00020 0F2032 STA res
00023 B400 CLEAR A
. +3x^2
00025 03202A LDA x
00028 232027 MUL x
0002B 210003 MUL #3
0002E 1B2024 ADD res
00031 0F2021 STA res
00034 B400 CLEAR A
. +4x
00036 032019 LDA x
00039 210004 MUL #4
0003C 1B2016 ADD res
0003F 0F2013 STA res
00042 B400 CLEAR A
. +5
00044 03200E LDA res
00047 190005 ADD #5
0004A 0F2008 STA res
0004D B400 CLEAR A
0004F 3F2FFD HALT J HALT
00052 END POLY
00052 000002 x WORD 2
00055 000000 res RESW 1

View file

@ -0,0 +1,5 @@
HPOLY 000000000058
T0000001E03204F23204C2320492320460F2046B40003203E23203B2320382100021B
T00001E1E20350F2032B40003202A2320272100031B20240F2021B400032019210004
T00003C191B20160F2013B40003200E1900050F2008B4003F2FFD000002
E000000

View file

@ -0,0 +1,11 @@
primer START 0
. kaj naredi naslednji programček?
first LDA #42
ADD x
STA x
. kaj dela naslednji ukaz
halt J halt
. podatki
x WORD 22
END first

View file

@ -0,0 +1,47 @@
MAIN START 0
.nastavi X register za prehod cez tabelo
LDX counter
.izracun vrednosti za vsak x v tabeli in
LOOP STA ctx_a
JSUB HORNER_X
LDA counter
ADD #3
STA counter
LDX counter
COMP #bytes_len
JLT LOOP
HALT J HALT
END MAIN
HORNER_X LDA #1
MUL in, X
ADD #2
MUL in, X
ADD #3
MUL in, X
ADD #4
MUL in, X
ADD #5
STA in, X
.povrni kontekst pred skokom v subrutino
LDA ctx_a
RSUB
.tabela x-ov polinoma
in WORD 0
WORD 2
WORD 3
.parametri
lastin EQU *
bytes_len EQU lastin - in
counter WORD 0
.kontest
ctx_a RESW 1

View file

@ -0,0 +1,20 @@
***** Section <default> *****
Stats: size=75 blocks=75 symbols=9 literals=0 relocations=0
Blocks
name start size #ins #dir #sto
<default> 00000 0004B 23 6 1
Symbols
name hex dec scope kind type description
HALT 00001C 28 local relative code label
HORNER_X 00001F 31 local relative code label
LOOP 00000E 14 local relative code label
MAIN 000000 0 exported relative code label
bytes_len 000000 0 local relative notlabel lasttin-in
in 000042 66 local relative data label
lastin 000045 69 local absolute notlabel *
res 000048 72 local relative data label
words_len 000045 69 local relative data label
Literals
label definition
Relocations
address length flag symbol

View file

@ -0,0 +1,49 @@
00000 MAIN START 0
. doloci dolzino v word-ih
00000 012FFD LDA #bytes_len
00003 250003 DIV #3
00006 0F203C STA words_len
00009 B400 CLEAR A
. nastavi X register za prehod cez tabelo
0000B 050000 LDX #0
. izracun vrednosti za vsak x v tabeli in
0000E 3F200E LOOP J HORNER_X
00011 2F2031 TIX words_len
00014 010003 LDA #3
00017 9801 MULR A,X
00019 3B2FF2 JLT LOOP
0001C 3F2FFD HALT J HALT
0001F END MAIN
0001F 010001 HORNER_X LDA #1
00022 23A01D MUL in,X
00025 190002 ADD #2
00028 23A017 MUL in,X
0002B 190003 ADD #3
0002E 23A011 MUL in,X
00031 190004 ADD #4
00034 23A00B MUL in,X
00037 190005 ADD #5
0003A 0FA005 STA in,X
0003D B400 CLEAR A
0003F 4F0000 RSUB
. tabela x-ov polinoma
00042 000002 in WORD 2
. WORD 5
. WORD 42
. WORD 2
. parametri
00045 lastin EQU *
00045 bytes_len EQU lasttin-in
00045 000001 words_len WORD 1
00048 000000 res RESW 1

View file

@ -0,0 +1,5 @@
HMAIN 00000000004B
T0000001E012FFD2500030F203CB4000500003F200E2F203101000398013B2FF23F2F
T00001E1EFD01000123A01D19000223A01719000323A01119000423A00B1900050FA0
T00003C0C05B4004F0000000002000001
E000000

14
ass1/vaje/osnove/test.asm Normal file
View file

@ -0,0 +1,14 @@
PRG START 0
LDA #bytes_len
DIV #3
LDA bytes_len
HALT J HALT
END PRG
tab WORD 1
WORD 2
WORD 3
test EQU *
bytes_len EQU test - tab
tab2 WORD 1

17
ass1/vaje/osnove/test.log Normal file
View file

@ -0,0 +1,17 @@
***** Section <default> *****
Stats: size=24 blocks=24 symbols=6 literals=0 relocations=0
Blocks
name start size #ins #dir #sto
<default> 00000 00018 4 8 0
Symbols
name hex dec scope kind type description
HALT 000009 9 local relative code label
PRG 000000 0 exported relative code label
bytes_len 000009 9 local absolute notlabel test-tab
tab 00000C 12 local relative data label
tab2 000015 21 local relative data label
test 000015 21 local absolute notlabel *
Literals
label definition
Relocations
address length flag symbol

14
ass1/vaje/osnove/test.lst Normal file
View file

@ -0,0 +1,14 @@
00000 PRG START 0
00000 010009 LDA #bytes_len
00003 250003 DIV #3
00006 030009 LDA bytes_len
00009 3F2FFD HALT J HALT
0000C END PRG
0000C 000001 tab WORD 1
0000F 000002 WORD 2
00012 000003 WORD 3
00015 test EQU *
00015 bytes_len EQU test-tab
00015 000001 tab2 WORD 1

View file

@ -0,0 +1,3 @@
HPRG 000000000018
T000000180100092500030300093F2FFD000001000002000003000001
E000000