.global _start .global _stop _start: setwd wsz=4, nfx=1 .macro loop r, p=0, l=0, e=0, s=0 { nop 3 addd 0, 0, \r disp %ctpr1, 0f rwd (\s << 53) | (\p << 48) | (1UL << 37) | (\e << 32) | \l, %lsr } 0: addd \r, 1, \r alc alcf=1, alct=1 ct %ctpr1 ? #NOT_LOOP_END .endm loop %r0, 0UL, 0, 0UL loop %r1, 0UL, 1, 0UL loop %r2, 0UL, 2, 0UL loop %r3, 0UL, 3, 0UL loop %r4, 4UL, 8, 0UL loop %r5, 8UL, 2, 0UL loop %r6, 4UL, 8, 2UL loop %r7, 4UL, 0, 8UL _stop: udivs 0, 0, %empty