blob: 423947ff962a7aacd8df07a1100b074e59c4f5a9 [file] [log] [blame] [edit]
-- asm
mov %r6, 0x0001
mov %r7, 0x0020
mov %r8, 0x0300
mov %r9, 0x4000
# r1 should contain pointer to program memory.
# Don't screw that up because helper function 1 (memfrob)
# needs it.
mov %r2, 0x0001
mov %r3, 0x0001
mov %r4, 0x0001
mov %r5, 0x0001
call 1
mov %r0, 0
or %r0, %r6
or %r0, %r7
or %r0, %r8
or %r0, %r9
jeq %r0, 0x4321, +1
exit
# Call helper function 0 -- the memory pointer is
# no longer needed for any other helper functions, so
# we don't have to worry about keeping it safe.
mov %r1, 0x0001
mov %r2, 0x0001
mov %r3, 0x0001
mov %r4, 0x0001
mov %r5, 0x0001
call 0
mov %r0, 0
or %r0, %r6
or %r0, %r7
or %r0, %r8
or %r0, %r9
jeq %r0, 0x4321, +1
exit
mov %r1, 0x0001
mov %r2, 0x0001
mov %r3, 0x0001
mov %r4, 0x0001
mov %r5, 0x0001
call 2
mov %r0, 0
or %r0, %r6
or %r0, %r7
or %r0, %r8
or %r0, %r9
jeq %r0, 0x4321, +1
exit
mov %r1, 0x0001
mov %r2, 0x0001
mov %r3, 0x0001
mov %r4, 0x0001
mov %r5, 0x0001
call 3
mov %r0, 0
or %r0, %r6
or %r0, %r7
or %r0, %r8
or %r0, %r9
exit
-- mem
01 02 03 04 05 06 07 08
-- result
0x4321
-- no register offset
call instruction