summaryrefslogtreecommitdiffhomepage
path: root/Examples
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-05-14 10:02:08 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-05-14 10:02:08 +0200
commit583748c67453a62382e0c0e77aa8ca6535900ae0 (patch)
treec5aab691263b202ecd1357c931c5725655d93009 /Examples
parentb225a0c3c0e6c286a69356c957c5f9d73a28647c (diff)
MHR-21: Add function signature to output (C++)
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Examples')
-rw-r--r--Examples/ExampleCDialect.S34
-rw-r--r--Examples/ExampleCDialect.c20
-rw-r--r--Examples/ExampleCDialect.cc7
-rw-r--r--Examples/ExampleCPlusPlus.cxx8
-rw-r--r--Examples/ExampleCPlusPlus.s21
5 files changed, 32 insertions, 58 deletions
diff --git a/Examples/ExampleCDialect.S b/Examples/ExampleCDialect.S
index d937aed..9d90d46 100644
--- a/Examples/ExampleCDialect.S
+++ b/Examples/ExampleCDialect.S
@@ -1,28 +1,14 @@
-# Path: Examples/ExampleCDialect.c
-# Language: POWER Assembly (Generated from C)
-# Build Date: 2024-4-28
+; Path: Examples/ExampleCDialect.cc
+; Language: MPCC assembly. (Generated from C++)
+; Date: 2024-5-14
+#bits 64
+#org 0x1000000
+export .code64 __MPCC_int___ImageStart
+mov r8, 0
-
-
-
-dword export .code64 __ImageStart
-
-
- li r3,0x1000
-
- cmpw r10, r11
- beq import __MPCC_IF_PROC_6099380296
-dword export .code64 __MPCC_IF_PROC_6099380296
-
-
-
- mr r31, r3
- blr
-
-
- mr r31, r0
- blr
-
+mov r9, 36
+mov rax, r8
+ret
diff --git a/Examples/ExampleCDialect.c b/Examples/ExampleCDialect.c
deleted file mode 100644
index e6d92fb..0000000
--- a/Examples/ExampleCDialect.c
+++ /dev/null
@@ -1,20 +0,0 @@
-struct
-{
- int a;
- int b;
- int c;
-};
-
-int __ImageStart(int argc, char const* argv[])
-{
- int* foo = 0x1000;
-
- if (foo == 57)
- {
- foo = 0x2000;
- *foo = 5;
- return foo;
- }
-
- return 57;
-}
diff --git a/Examples/ExampleCDialect.cc b/Examples/ExampleCDialect.cc
new file mode 100644
index 0000000..b55dd5f
--- /dev/null
+++ b/Examples/ExampleCDialect.cc
@@ -0,0 +1,7 @@
+int __ImageStart(int argc, char const* argv[])
+{
+ int *foo;
+ *foo = 36;
+
+ return *foo;
+}
diff --git a/Examples/ExampleCPlusPlus.cxx b/Examples/ExampleCPlusPlus.cxx
index ebdf7c3..6012b52 100644
--- a/Examples/ExampleCPlusPlus.cxx
+++ b/Examples/ExampleCPlusPlus.cxx
@@ -1,14 +1,12 @@
int main(int argc, char const* argv[])
{
- int foo = 20;
- foo -= 1;
-
{
bool bar = false;
- bar = true;
+ bar = 1;
bool bar2 = bar;
+ bar2 = false;
}
- return foo;
+ return 0;
}
diff --git a/Examples/ExampleCPlusPlus.s b/Examples/ExampleCPlusPlus.s
index 4b69908..0414858 100644
--- a/Examples/ExampleCPlusPlus.s
+++ b/Examples/ExampleCPlusPlus.s
@@ -1,16 +1,19 @@
; Path: Examples/ExampleCPlusPlus.cxx
; Language: MPCC assembly. (Generated from C++)
-; Date: 2024-5-12
+; Date: 2024-5-14
#bits 64
#org 0x1000000
-mov r8, 20
-sub r8, 1
-mov r9, 0
-mov r9, 1
-mov r10, r9
-
-mov rax, r10
-ret \ No newline at end of file
+export .code64 __MPCC_int_main
+mov r8, 0
+mov r9, 0
+
+mov r10, 1
+mov r10, r8
+mov r11, 0
+
+mov r12, 0
+mov rax, 0
+ret