diff --git a/ass1/shannon_tree.asm b/ass1/shannon_tree.asm new file mode 100644 index 0000000..e69de29 diff --git a/vaja2/osnove/.sub_rou_horner.asm.swp b/vaja2/osnove/.sub_rou_horner.asm.swp new file mode 100644 index 0000000..726fcaa Binary files /dev/null and b/vaja2/osnove/.sub_rou_horner.asm.swp differ diff --git a/vaja2/osnove/horner.asm b/vaja2/osnove/horner.asm index 0ec730e..993946d 100644 --- a/vaja2/osnove/horner.asm +++ b/vaja2/osnove/horner.asm @@ -9,16 +9,16 @@ HORNER START 0 LDA #1 - MUL #2 + MUL x ADD #2 - MUL #2 + MUL x ADD #3 - MUL #2 + MUL x ADD #4 - MUL #2 + MUL x ADD #5 STA res diff --git a/vaja2/osnove/horner.lst b/vaja2/osnove/horner.lst index 6b01b81..63134ed 100644 --- a/vaja2/osnove/horner.lst +++ b/vaja2/osnove/horner.lst @@ -1,5 +1,5 @@ 00000 HORNER START 0 - . Pretvorimo polinom x^4 + 2x^3 + 3x^2 + 4x+3 v Hornerjevo obliko + . 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 @@ -9,16 +9,16 @@ 00000 010001 LDA #1 -00003 210002 MUL #2 +00003 23201B MUL x 00006 190002 ADD #2 -00009 210002 MUL #2 +00009 232015 MUL x 0000C 190003 ADD #3 -0000F 210002 MUL #2 +0000F 23200F MUL x 00012 190004 ADD #4 -00015 210002 MUL #2 +00015 232009 MUL x 00018 190005 ADD #5 0001B 0F2006 STA res diff --git a/vaja2/osnove/horner.obj b/vaja2/osnove/horner.obj index d75a804..84c6af5 100644 --- a/vaja2/osnove/horner.obj +++ b/vaja2/osnove/horner.obj @@ -1,4 +1,4 @@ HHORNER000000000027 -T0000001E0100012100021900022100021900032100021900042100021900050F2006 +T0000001E01000123201B19000223201519000323200F1900042320091900050F2006 T00001E063F2FFD000002 E000000 diff --git a/vaja2/osnove/sub_rou_horner.asm b/vaja2/osnove/sub_rou_horner.asm new file mode 100644 index 0000000..2a5dea1 --- /dev/null +++ b/vaja2/osnove/sub_rou_horner.asm @@ -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 diff --git a/vaja2/osnove/sub_rou_horner.log b/vaja2/osnove/sub_rou_horner.log new file mode 100644 index 0000000..b272c91 --- /dev/null +++ b/vaja2/osnove/sub_rou_horner.log @@ -0,0 +1,20 @@ +***** Section ***** +Stats: size=75 blocks=75 symbols=9 literals=0 relocations=0 +Blocks + name start size #ins #dir #sto + 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 diff --git a/vaja2/osnove/sub_rou_horner.lst b/vaja2/osnove/sub_rou_horner.lst new file mode 100644 index 0000000..13d1256 --- /dev/null +++ b/vaja2/osnove/sub_rou_horner.lst @@ -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 diff --git a/vaja2/osnove/sub_rou_horner.obj b/vaja2/osnove/sub_rou_horner.obj new file mode 100644 index 0000000..d612bf6 --- /dev/null +++ b/vaja2/osnove/sub_rou_horner.obj @@ -0,0 +1,5 @@ +HMAIN 00000000004B +T0000001E012FFD2500030F203CB4000500003F200E2F203101000398013B2FF23F2F +T00001E1EFD01000123A01D19000223A01719000323A01119000423A00B1900050FA0 +T00003C0C05B4004F0000000002000001 +E000000 diff --git a/vaja2/osnove/test.asm b/vaja2/osnove/test.asm new file mode 100644 index 0000000..98be971 --- /dev/null +++ b/vaja2/osnove/test.asm @@ -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 diff --git a/vaja2/osnove/test.log b/vaja2/osnove/test.log new file mode 100644 index 0000000..569956b --- /dev/null +++ b/vaja2/osnove/test.log @@ -0,0 +1,17 @@ +***** Section ***** +Stats: size=24 blocks=24 symbols=6 literals=0 relocations=0 +Blocks + name start size #ins #dir #sto + 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 diff --git a/vaja2/osnove/test.lst b/vaja2/osnove/test.lst new file mode 100644 index 0000000..536c85e --- /dev/null +++ b/vaja2/osnove/test.lst @@ -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 diff --git a/vaja2/osnove/test.obj b/vaja2/osnove/test.obj new file mode 100644 index 0000000..2b85359 --- /dev/null +++ b/vaja2/osnove/test.obj @@ -0,0 +1,3 @@ +HPRG 000000000018 +T000000180100092500030300093F2FFD000001000002000003000001 +E000000