From 5605cc4652d9ebee928bddf5af150e65b58bf331 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Fri, 30 Dec 2022 18:25:43 -0800 Subject: [PATCH] woo --- mandel.s | 87 +------------------------------------------------------- 1 file changed, 1 insertion(+), 86 deletions(-) diff --git a/mandel.s b/mandel.s index b706dc5..9b569e2 100644 --- a/mandel.s +++ b/mandel.s @@ -9,34 +9,6 @@ FRX = $ec .export start -.macro sext16to32 arg - .local plus - .local minus - lda arg+1 - asl ; sign -> carry - lda #$ff - bcc plus - lda #$00 -plus: - sta arg+2 - sta arg+3 -.endmacro - -.macro copy bytes, arg1, arg2 - .repeat 2, byte - lda arg1+byte - sta arg2+byte - .endrepeat -.endmacro - -.macro copy16 arg1, arg2 - copy 2, arg1, arg2 -.endmacro - -.macro copy32 arg1, arg2 - copy 4, arg1, arg2 -.endmacro - ; 2 + 8 * byte cycles .macro neg bytes, arg sec ; 2 cyc @@ -57,64 +29,7 @@ plus: neg 4, arg .endmacro -; 2 + 9 * bytes cycles -.macro add bytes, arg1, arg2 - clc ; 2 cyc - .repeat bytes, byte - lda arg1+byte ; 3 cyc - adc arg2+byte ; 3 cyc - sta arg1+byte ; 3 cyc - .endrepeat -.endmacro - -; 20 cycles -.macro add16 arg1, arg2 - add 2, arg1, arg2 -.endmacro - -; 38 cycles -.macro add32 arg1, arg2 - add 4, arg1, arg2 -.endmacro - -.macro shl bytes, arg - asl arg - .repeat bytes-1, byte - rol arg+byte+1 - .endrepeat -.endmacro - -.macro shl16 arg - shl 2, arg -.endmacro - -.macro shl24 arg - shl 3, arg -.endmacro - -.macro shl32 arg - shl 4, arg -.endmacro - -.macro shr bytes, arg - lsr arg - .repeat bytes-1, byte - ror arg+byte+1 - .endrepeat -.endmacro - -.macro shr16 arg - shr 2, arg -.endmacro - -.macro shr24 arg - shr 3, arg -.endmacro - -.macro shr32 arg - shr 4, arg -.endmacro - +; inner loop for imul16 ; 24 to 44 cycles .macro bitmul16 arg1, arg2, result, bitnum .local next