From a647a81564eb0ef9a57dfd47f44ed0336f48b9b4 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 28 Feb 2025 11:08:57 +0200 Subject: Fix twos complement cast --- atk16_schasm/lib.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'atk16_schasm') diff --git a/atk16_schasm/lib.scm b/atk16_schasm/lib.scm index dcad652..b01aef2 100644 --- a/atk16_schasm/lib.scm +++ b/atk16_schasm/lib.scm @@ -81,22 +81,20 @@ (unless (and (< n (expt 2 16)) (>= n 0)) (error "n does not fit in bounds" n)) - (let* ((m (modulo n (expt 2 16)))) - `(imm ,m))) + `(imm ,m)) (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 8)))) + (let* ((m (modulo n (expt 2 16)))) `(imm ,m))) (define (u8 n) (unless (and (< n (expt 2 8)) (>= n 0)) (error "n does not fit in bounds" n)) - (let* ((m (modulo n (expt 2 8)))) - `(imm ,m))) + `(imm ,m)) (define (alu-op n) (unless (and (>= n 0) -- cgit v1.3