1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
|