From 3d325f02fe1a86f3b06f5c6d46f5c3624a890fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C5=A1per=20Dobrovoljc?= Date: Mon, 27 Nov 2023 08:58:13 +0100 Subject: [PATCH] naloga_07 --- sprotne_naloge/naloga_07/naloga_07.txt | 58 ++++++++++++++++++++++++++ sprotne_naloge/naloga_07/vaja_01.s | 26 ++++++++++++ sprotne_naloge/naloga_07/vaja_02.s | 25 +++++++++++ sprotne_naloge/naloga_07/vaja_03.txt | 1 + sprotne_naloge/naloga_07/vaja_04.txt | 1 + 5 files changed, 111 insertions(+) create mode 100644 sprotne_naloge/naloga_07/naloga_07.txt create mode 100644 sprotne_naloge/naloga_07/vaja_01.s create mode 100644 sprotne_naloge/naloga_07/vaja_02.s create mode 100644 sprotne_naloge/naloga_07/vaja_03.txt create mode 100644 sprotne_naloge/naloga_07/vaja_04.txt 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