diff options
Diffstat (limited to 'test-suite/standalone/sassy/tests/prims16/16locals5.scm')
-rw-r--r-- | test-suite/standalone/sassy/tests/prims16/16locals5.scm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test-suite/standalone/sassy/tests/prims16/16locals5.scm b/test-suite/standalone/sassy/tests/prims16/16locals5.scm new file mode 100644 index 000000000..be1614a33 --- /dev/null +++ b/test-suite/standalone/sassy/tests/prims16/16locals5.scm @@ -0,0 +1,38 @@ +(bits 16) + +(macro my-while + (lambda (test . body) + `(locals (loop) + (label loop + (with-win (jmp short loop) + (seq ,test + (begin ,@body))))))) + +(text + (label loop + + (nop) + + (my-while (< ax 10) + (pop bx) + (add ax bx))) + + (my-while (> cx 1000) + (pop bx) + (sub cx bx)) + + (jmp short loop)) + +; 00000000 90 nop +; 00000001 3D0A00 cmp ax,0xa +; 00000004 7D05 jnl 0xb +; 00000006 5B pop bx +; 00000007 01D8 add ax,bx +; 00000009 EBF6 jmp short 0x1 +; 0000000B 81F9E803 cmp cx,0x3e8 +; 0000000F 7E05 jng 0x16 +; 00000011 5B pop bx +; 00000012 29D9 sub cx,bx +; 00000014 EBF5 jmp short 0xb +; 00000016 EBE8 jmp short 0x0 + |