NAME=ara swap
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
ara+
ar rax=33
ar rax
aras
ar rax
EOF
EXPECT=<<EOF
rax = 0x0000000000000021
rax = 0x0000000000000000
EOF
RUN

NAME=ara swap 2
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
ara+
ar rax=33
ar rax
aras
ar rax
aras
ar rax
EOF
EXPECT=<<EOF
rax = 0x0000000000000021
rax = 0x0000000000000000
rax = 0x0000000000000021
EOF
RUN

NAME=ara push
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
ara~?
ara+
ara~?
EOF
EXPECT=<<EOF
26
39
EOF
RUN

NAME=ara pop
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
ara~?
ara+
ara~?
ara-
ara~?
ara-
ara~?
ara-
ara~?
EOF
EXPECT=<<EOF
26
39
26
13
13
EOF
RUN

NAME=arcc+tcc
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
afcl
e asm.arch=arm
e asm.bits=32
arcc
e asm.arch=x86
e asm.bits=64
arcc
tcc `arcc`
afcl
EOF
EXPECT=<<EOF
amd64
amd64syscall
ms
reg
swift
r0 reg(r0, r1, r2, r3)
rdi reg(rdi, rsi, rdx, rcx)
amd64
amd64syscall
ms
reg
swift
EOF
RUN
