diff src/interp.s @ 76:eb2681108660

Split some code into separate files for easier management (4) Because the source for lwbasic is so large, split it into several different files to make it easier to navigate and modify. This is part four of the split.
author William Astle <lost@l-w.ca>
date Sun, 06 Aug 2023 00:51:22 -0600
parents 5f8f0b0781e8
children ac183a519439
line wrap: on
line diff
--- a/src/interp.s	Sun Aug 06 00:41:26 2023 -0600
+++ b/src/interp.s	Sun Aug 06 00:51:22 2023 -0600
@@ -43,6 +43,25 @@
                 suba #-'0
 curcharraw0     rts
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Set carry if upper/lower case alpha
+setcifalpha     cmpa #'z+1                      ; is it above lower case Z?
+                bhs setcifalpha0                ; brif so, C clear
+                suba #'a                        ; set C if >= lower case A
+                suba #-'a
+                bcs setcifalpha0                ; brif lower case alpha
+setcifualpha    cmpa #'Z+1                      ; is it above upper case Z?
+                bhs setcifalpha0                ; brif so, C clear
+                suba #'A                        ; set C if >= upper case A
+                suba #-'A
+setcifalpha0    rts
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Set carry if digit
+setcifdigit     cmpa #'9+1                      ; is it above digit 9?
+                bhs setcifdigit0                ; brif so, C clear
+                suba #'0                        ; set C if >= digit 0
+                suba #-'0
+setcifdigit0    rts
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ; Immediate mode handler
 immediate       jsr writecondnl                 ; do newline if required
                 ldx #prompt                     ; point to prompt string