From b4ded9798f7cc650ebd4462c1a99b5b43a98b934 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 28 Feb 2025 12:42:08 +0200 Subject: Fix bug in imm constructors --- atk16_schasm/lib.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'atk16_schasm/lib.scm') diff --git a/atk16_schasm/lib.scm b/atk16_schasm/lib.scm index b01aef2..af4c756 100644 --- a/atk16_schasm/lib.scm +++ b/atk16_schasm/lib.scm @@ -74,27 +74,25 @@ (unless (and (< n (expt 2 15)) (>= n (- (expt 2 15)))) (error "n does not fit in bounds" n)) - (let* ((m (modulo n (expt 2 16)))) - `(imm ,m))) + `(imm ,(modulo n (expt 2 16)))) (define (u16 n) (unless (and (< n (expt 2 16)) (>= n 0)) (error "n does not fit in bounds" n)) - `(imm ,m)) + `(imm ,n)) (define (i8 n) (unless (and (< n (expt 2 7)) (>= n (- (expt 2 7)))) (error "n does not fit in bounds" n)) - (let* ((m (modulo n (expt 2 16)))) - `(imm ,m))) + `(imm ,(modulo n (expt 2 16)))) (define (u8 n) (unless (and (< n (expt 2 8)) (>= n 0)) (error "n does not fit in bounds" n)) - `(imm ,m)) + `(imm ,n)) (define (alu-op n) (unless (and (>= n 0) -- cgit v1.3