From 623ab2ed2532196cf52755a5dfe195b6b5f2e104 Mon Sep 17 00:00:00 2001
From: Hayden Chow <kin3.chow@live.uwe.ac.uk>
Date: Thu, 5 Dec 2024 16:01:30 +0000
Subject: [PATCH] edited2

---
 Worksheet2/source/loader.asm |  32 ++++++++++++++++++++++++++++++++
 Worksheet2/source/loader.o   | Bin 0 -> 544 bytes
 Worksheet2/source/task2.c    |  19 +++++++++++++++++++
 3 files changed, 51 insertions(+)
 create mode 100644 Worksheet2/source/loader.asm
 create mode 100644 Worksheet2/source/loader.o
 create mode 100644 Worksheet2/source/task2.c

diff --git a/Worksheet2/source/loader.asm b/Worksheet2/source/loader.asm
new file mode 100644
index 0000000..c20fc49
--- /dev/null
+++ b/Worksheet2/source/loader.asm
@@ -0,0 +1,32 @@
+global loader          ; 
+MAGIC_NUMBER equ 0x1BADB002 ; 
+FLAGS equ 0x0 ; 
+CHECKSUM equ -MAGIC_NUMBER ; 
+extern main ;
+; (magic number + checksum + flags should equal 0)
+
+section .text           ; 
+align 4                 ; 
+
+; Multiboot header
+dd MAGIC_NUMBER        ; 
+dd FLAGS               ; 
+dd CHECKSUM            ;
+
+loader:                 ; 
+    mov eax, 0xCAFEBABE ; 
+.loop:
+    jmp .loop           ; 
+
+; Second part of the code
+    global _start       ; 
+    extern sum_of_three ; 
+
+_start:
+    ; 
+    push dword 3         ; 
+    push dword 2         ; 
+    push dword 1         ;
+    call sum_of_three    ; 
+    hlt                  ; 
+
diff --git a/Worksheet2/source/loader.o b/Worksheet2/source/loader.o
new file mode 100644
index 0000000000000000000000000000000000000000..5b5c1644f300d04eee04e2a2006d7518572bc924
GIT binary patch
literal 544
zcmb<-^>JflWMqH=Mh0dE1doBi0V-hvrZpH?8JNH<QVEcmAPmzjz{tQLjARH4l+D4w
zz`zV;gD3+=1_mV%1ByXrfS5uI3@9#1U}RuuU|?VXnZpjH1sE6@q|nTJz{tR04Ke_V
zVdg=(3``r=N`u({{DYqC*thH7sn`ENTm;rDNv$ZcV$dtjC@v`~NlaqUE3V9i&=5XC
zDK-|eeJl(g|0Ambg**?)Ur;wNFns(kiL8L(<9~Su1_qGZAi^L2>oYJg2tqgv3=E76
z8Vn2!ATvNh0-%`8$xlp4Ez(OY&Smg*boX?Q_Y3uPat&f|^Ko<!W^nd!b@mPp^<{u4
PgHn1q`S}GP6Brl(BRx2f

literal 0
HcmV?d00001

diff --git a/Worksheet2/source/task2.c b/Worksheet2/source/task2.c
new file mode 100644
index 0000000..35075df
--- /dev/null
+++ b/Worksheet2/source/task2.c
@@ -0,0 +1,19 @@
+/* The C function */
+int sum_of_three(int arg1, int arg2, int arg3)
+{
+return arg1 + arg2 + arg3;
+}
+
+int multiply_two(int arg1, int arg2) 
+{
+    return arg1 * arg2;
+}
+
+void main() {
+    int result1 = sum_of_three(1,2,3);
+    int result2 = multiply_two(10,20);
+
+    while (1)
+    {}
+        
+}
-- 
GitLab