summaryrefslogtreecommitdiff
path: root/tests/fixtures/mpu-ops.s
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fixtures/mpu-ops.s')
-rw-r--r--tests/fixtures/mpu-ops.s25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/fixtures/mpu-ops.s b/tests/fixtures/mpu-ops.s
new file mode 100644
index 0000000..49d4f97
--- /dev/null
+++ b/tests/fixtures/mpu-ops.s
@@ -0,0 +1,25 @@
+; LibMPU-backed arithmetic/conversion operation example.
+;
+; Build/run from examples/:
+; ../utils/mcpu-as -o mpu-ops.o mpu-ops.s
+; ../utils/mcpu-ld --stack-size=512 -o mpu-ops mpu-ops.o
+; ../utils/mcpu-run --int-reg=r64@0x00020 mpu-ops
+;
+; Expected output: 42
+;
+.text
+_start_life:
+
+ LDI r64@0x00000, 6
+ LDI r64@0x00008, 7
+ IMUL r128@0x00010, r64@0x00000, r64@0x00008
+ ICPY r64@0x00020, r128@0x00010
+
+ RCONST r64@0x00028, ONE
+ CRTOC c128@0x00030, r64@0x00028
+ CISEQ r64@0x00040, c128@0x00030, c128@0x00030
+ IINC r64@0x00048, r64@0x00040
+ IDEC r64@0x00050, r64@0x00048
+ ISUB r64@0x00020, r64@0x00020, r64@0x00050
+ IADD r64@0x00020, r64@0x00020, r64@0x00040
+ HALT