From cc95d1208d4a6b8291a5430a8d652a9337074788 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Wed, 10 Jan 2018 11:57:28 -0500 Subject: Use maskbits more, and clarify its usage --- macros/code.asm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'macros/code.asm') diff --git a/macros/code.asm b/macros/code.asm index 5ec214d50..5a0b82a24 100644 --- a/macros/code.asm +++ b/macros/code.asm @@ -39,15 +39,17 @@ ENDM mobile EQUS "ret" maskbits: MACRO +; masks just enough bits to cover the argument +; e.g. "maskbits %00010100" becomes "and %00011111" ; example usage in rejection sampling: ; .loop ; call Random -; maskbits 30 +; maskbits 30 +- 1 ; cp 30 ; jr nc, .loop x = 1 rept 8 -if \1 > x +if x < (\1) x = (x + 1) * 2 +- 1 endc endr -- cgit v1.2.3