diff --git a/sprotne_naloge/naloga_07/naloga_07.txt b/sprotne_naloge/naloga_07/naloga_07.txt new file mode 100644 index 0000000..3a6dd43 --- /dev/null +++ b/sprotne_naloge/naloga_07/naloga_07.txt @@ -0,0 +1,58 @@ +1. +.text + +stev1: .space 4 +stev2: .word 0x7fffffff +stev3: .word 0x80000001 + +.global _start +_start: + + adr r0, stev2 + ldr r1, [r0] + + adr r0, stev3 + ldr r2, [r0] + + adds r3, r1, r2 + + adr r0, stev1 + str r3, [r0] + +@ Z = 1 - rezultat je 0 +@ C = 1 - prenos je +@ V = 0 - ni preliva pri seštevanju +@ N = 0 - število ni negativno + +@ Rezultat v stev1 je 0 ker je rezultat prevelik in je prišlo do prenosa + +2. +.text + +stev2: .word 0x0 +stev3: .word 0xffffffff + +.global _start +_start: + + adr r0, stev2 + ldr r1, [r0] + + adr r0, stev3 + ldr r2, [r0] + + adds r1, r1, r2 + + adr r0, stev2 + str r1, [r0] + +@ Z = 0 - število ni 0 +@ C = 0 - ni prišlo do prenosa +@ V = 0 - ni prišlo do preliva +@ N = 1 - število bi bilo negativno, če bi bilo predznačeno + +@ Število je enako stev3, ker smo sešteli 0 in 0xffffffff + +3. bcc, bne, bls, bmi, blt + +4. b, c, d \ No newline at end of file diff --git a/sprotne_naloge/naloga_07/vaja_01.s b/sprotne_naloge/naloga_07/vaja_01.s new file mode 100644 index 0000000..3214182 --- /dev/null +++ b/sprotne_naloge/naloga_07/vaja_01.s @@ -0,0 +1,26 @@ +.text + +stev1: .space 4 +stev2: .word 0x7fffffff +stev3: .word 0x80000001 + +.global _start +_start: + + adr r0, stev2 + ldr r1, [r0] + + adr r0, stev3 + ldr r2, [r0] + + adds r3, r1, r2 + + adr r0, stev1 + str r3, [r0] + +@ Z = 1 - rezultat je 0 +@ C = 1 - prenos je +@ V = 0 - ni preliva pri seštevanju +@ N = 0 - število ni negativno + +@ Rezultat v stev1 je 0 ker je rezultat prevelik in je prišlo do prenosa diff --git a/sprotne_naloge/naloga_07/vaja_02.s b/sprotne_naloge/naloga_07/vaja_02.s new file mode 100644 index 0000000..5685195 --- /dev/null +++ b/sprotne_naloge/naloga_07/vaja_02.s @@ -0,0 +1,25 @@ +.text + +stev2: .word 0x0 +stev3: .word 0xffffffff + +.global _start +_start: + + adr r0, stev2 + ldr r1, [r0] + + adr r0, stev3 + ldr r2, [r0] + + adds r1, r1, r2 + + adr r0, stev2 + str r1, [r0] + +@ Z = 0 - število ni 0 +@ C = 0 - ni prišlo do prenosa +@ V = 0 - ni prišlo do preliva +@ N = 1 - število bi bilo negativno, če bi bilo predznačeno + +@ Število je enako stev3, ker smo sešteli 0 in 0xffffffff diff --git a/sprotne_naloge/naloga_07/vaja_03.txt b/sprotne_naloge/naloga_07/vaja_03.txt new file mode 100644 index 0000000..cc58c95 --- /dev/null +++ b/sprotne_naloge/naloga_07/vaja_03.txt @@ -0,0 +1 @@ +bcc, bne, bls, bmi, blt \ No newline at end of file diff --git a/sprotne_naloge/naloga_07/vaja_04.txt b/sprotne_naloge/naloga_07/vaja_04.txt new file mode 100644 index 0000000..024b078 --- /dev/null +++ b/sprotne_naloge/naloga_07/vaja_04.txt @@ -0,0 +1 @@ +b, c, d \ No newline at end of file