summaryrefslogtreecommitdiff
path: root/tests/fixtures/mpu-ops.s
diff options
context:
space:
mode:
authorkx <kx@radix-linux.su>2026-10-09 18:00:15 +0300
committerkx <kx@radix-linux.su>2026-10-09 18:00:15 +0300
commit065da3509019b15dd0e678072e6be629e5330bef (patch)
tree69c934c9e786ac048b4fbe8f4c4c5571661521f4 /tests/fixtures/mpu-ops.s
parentd130fe27fa753be02ed76fd9b277aa3c3d928eb9 (diff)
downloadlibmcpu-0.4.0.tar.xz
Version 0.4.00.4.0
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