From 62e4b41e4427c4878f1a851ae02d64a5e4d98e73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20M=C3=A1rk?= <peter.mark@hallgato.ppke.hu>
Date: Thu, 2 May 2024 19:26:27 +0000
Subject: [PATCH] =?UTF-8?q?C=20k=C3=B3dja=20a=208=20bit=20addernek?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 eightbit.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 eightbit.c

diff --git a/eightbit.c b/eightbit.c
new file mode 100644
index 0000000..190e022
--- /dev/null
+++ b/eightbit.c
@@ -0,0 +1,46 @@
+#define LED_MATRIX_0_BASE (0x80000000)//100000000 00000000 00000000 0000000 
+#define SWITCHES_0_BASE (0x80000004)  //100000000 00000000 00000000 0000100
+#define BTN_0_BASE (0x80000008)       //100000000 00000000 00000000 0001000 mutat 1 bite-ra és az ott lévő adatot éselem össze
+#define PAUSE (0x10)
+
+
+int main() {
+volatile unsigned *LED = (unsigned *)LED_MATRIX_0_BASE;
+volatile unsigned *switches = (unsigned *)SWITCHES_0_BASE;
+volatile unsigned *buttons = (unsigned *)BTN_0_BASE;
+
+unsigned sw_state;
+unsigned stored_value1 = 0; // Az első tárolt érték
+unsigned stored_value2 = 0; // A második tárolt érték
+
+for (;;) {
+    sw_state = *switches;
+
+    // Gombok kezelése
+    volatile unsigned store_btn1 = *buttons & 0x01;
+    volatile unsigned store_btn2 = *buttons & 0x02;
+    volatile unsigned calc_btn   = *buttons & 0x04;
+
+    // Értékek tárolása
+    if (store_btn1) {
+      stored_value1 = sw_state;
+    } else if (store_btn2) {
+      stored_value2 = sw_state;
+    }
+
+    // Összeadás gomb kezelése
+    if (calc_btn) {
+      volatile unsigned sum = stored_value1 + stored_value2;
+      while (*buttons & 0x04) {
+        *LED = sum;
+      }
+    } else {
+      *LED = sw_state;
+    }
+
+    // Várakozás
+    for (int n = PAUSE; n > 0; n--)
+      ;
+  }
+  
+}
-- 
GitLab