diff --git a/apps/zasm/directive.asm b/apps/zasm/directive.asm index 1fae84a..332db02 100644 --- a/apps/zasm/directive.asm +++ b/apps/zasm/directive.asm @@ -98,7 +98,7 @@ handleINC: ; We have opening quote inc hl xor a - call JUMP_FINDCHAR ; go to end of string + call findchar ; go to end of string dec hl ld a, (hl) cp '"' @@ -135,8 +135,8 @@ parseDirective: ; double A to have a proper offset in directiveHandlers add a, a ld de, directiveHandlers - call JUMP_ADDDE - call JUMP_INTODE + call addDE + call intoDE ld ixh, d ld ixl, e pop de diff --git a/apps/zasm/expr.asm b/apps/zasm/expr.asm index 40a8eec..a13ab49 100644 --- a/apps/zasm/expr.asm +++ b/apps/zasm/expr.asm @@ -6,12 +6,12 @@ parseExpr: push de push hl ld a, '+' - call JUMP_FINDCHAR + call findchar jr z, .hasExpr pop hl push hl ld a, '-' - call JUMP_FINDCHAR + call findchar jr nz, .noExpr ld c, '-' jr .hasExpr diff --git a/apps/zasm/instr.asm b/apps/zasm/instr.asm index c40a1a5..f24b627 100644 --- a/apps/zasm/instr.asm +++ b/apps/zasm/instr.asm @@ -146,7 +146,7 @@ parseArg: call strncmpI jr z, .found ; got it! ld a, 5 - call JUMP_ADDDE + call addDE djnz .loop1 ; We exhausted the argspecs. Let's see if we're inside parens. @@ -206,7 +206,7 @@ isGroupId: cp a ret .notgroup: - call JUMP_UNSETZ + call unsetZ ret ; Find argspec A in group id H. @@ -237,7 +237,7 @@ findInGroup: ld a, h rla rla - call JUMP_ADDDE ; At this point, DE points to our group + call addDE ; At this point, DE points to our group pop af ex hl, de ; And now, HL points to the group pop de @@ -276,7 +276,7 @@ findInGroup: jr .end .notfound: pop bc ; from the push bc in .find - call JUMP_UNSETZ + call unsetZ .end: pop hl pop bc @@ -297,11 +297,11 @@ matchArg: cp 0 jr nz, .checkIfNumber ; not a zero, we can continue ; zero, stop here - call JUMP_UNSETZ + call unsetZ ret .checkIfNumber: ; not an exact match, let's check for numerical constants. - call JUMP_UPCASE + call upcase call checkNOrM jr z, .expectsNumber jr .notNumber @@ -393,7 +393,7 @@ handleBIT: ret .error: xor c - call JUMP_UNSETZ + call unsetZ ret handleBITHL: @@ -644,7 +644,7 @@ getUpcode: ; We're on second pass push de ; Don't let go of this, that's our dest ld de, (ZASM_PC) - call JUMP_INTOHL + call intoHL dec hl ; what we write is "e-2" dec hl call subDEFromHL @@ -733,7 +733,7 @@ processArg: cp a ; ensure Z is set ret .error: - call JUMP_UNSETZ + call unsetZ ret .noarg: xor a @@ -764,7 +764,7 @@ parseInstruction: call matchPrimaryRow jr z, .match ld a, INSTR_TBL_ROWSIZE - call JUMP_ADDDE + call addDE djnz .loop ; no match xor a diff --git a/apps/zasm/io.asm b/apps/zasm/io.asm index 5a3c68c..7fca734 100644 --- a/apps/zasm/io.asm +++ b/apps/zasm/io.asm @@ -66,7 +66,7 @@ ioGetC: ; We're in "include mode", read from FS push de ld de, IO_INCLUDE_HDL - call JUMP_FSGETC + call fsGetC pop de or a ; cp 0 ret nz ; not zero, all good @@ -129,7 +129,7 @@ _ioSeek: ; We're in "include mode", seek in FS push de ld de, IO_INCLUDE_HDL - call JUMP_FSSEEK + call fsSeek pop de ret @@ -143,7 +143,7 @@ _ioTell: ; We're in "include mode", tell from FS push de ld de, IO_INCLUDE_HDL - call JUMP_FSTELL + call fsTell pop de ret @@ -156,10 +156,10 @@ ioInInclude: ; Open include file name specified in (HL). ; Sets Z on success, unset on error. ioOpenInclude: - call JUMP_FSFINDFN + call fsFindFN ret nz ld hl, IO_INCLUDE_HDL - call JUMP_FSOPEN + call fsOpen ld a, 1 ld (IO_IN_INCLUDE), a cp a ; ensure Z diff --git a/apps/zasm/main.asm b/apps/zasm/main.asm index 16cd4ed..94aa6a2 100644 --- a/apps/zasm/main.asm +++ b/apps/zasm/main.asm @@ -19,20 +19,20 @@ ; ; *** Requirements *** ; blockdev -; JUMP_STRNCMP -; JUMP_ADDDE -; JUMP_ADDHL -; JUMP_UPCASE -; JUMP_UNSETZ -; JUMP_INTODE -; JUMP_INTOHL -; JUMP_FINDCHAR -; JUMP_BLKSEL -; JUMP_FSFINDFN -; JUMP_FSOPEN -; JUMP_FSGETC -; JUMP_FSSEEK -; JUMP_FSTELL +; strncmp +; addDE +; addHL +; upcase +; unsetZ +; intoDE +; intoHL +; findchar +; blkSel +; fsFindFN +; fsOpen +; fsGetC +; fsSeek +; fsTell ; RAMSTART (where we put our variables in RAM) ; FS_HANDLE_SIZE @@ -60,7 +60,7 @@ jp zasmMain .equ IO_RAMSTART ZASM_RAMEND #include "io.asm" #include "tok.asm" -#include "parse.asm" +#include "parse_z.asm" #include "expr.asm" #include "instr.asm" .equ DIREC_RAMSTART IO_RAMEND @@ -74,10 +74,10 @@ zasmMain: ; Init I/O ld a, h ld de, IO_IN_GETC - call JUMP_BLKSEL + call blkSel ld a, l ld de, IO_OUT_GETC - call JUMP_BLKSEL + call blkSel ; Init modules xor a @@ -113,7 +113,7 @@ zasmIsLocalPass: incOutputOffset: push de ld de, (ZASM_PC) - call JUMP_ADDDE + call addDE ld (ZASM_PC), de pop de ret @@ -180,7 +180,7 @@ _parseInstr: xor a ; ensure Z ret .error: - call JUMP_UNSETZ + call unsetZ ret _parseDirec: @@ -241,7 +241,7 @@ _parseLabel: xor a ; ensure Z ret .error: - call JUMP_UNSETZ + call unsetZ ret _beginLocalPass: diff --git a/apps/zasm/parse.asm b/apps/zasm/parse_z.asm similarity index 96% rename from apps/zasm/parse.asm rename to apps/zasm/parse_z.asm index 275c2ec..acb997b 100644 --- a/apps/zasm/parse.asm +++ b/apps/zasm/parse_z.asm @@ -51,7 +51,7 @@ parseDecimal: jr .loop .error: - call JUMP_UNSETZ + call unsetZ .end: pop bc pop de @@ -77,18 +77,18 @@ parseHexadecimal: ; too long, error jr .error .double: - call JUMP_PARSEHEXPAIR ; moves HL to last char of pair + call parseHexPair ; moves HL to last char of pair jr c, .error inc hl ; now HL is on first char of next pair ld ixh, a .single: - call JUMP_PARSEHEXPAIR + call parseHexPair jr c, .error ld ixl, a cp a ; ensure Z jr .end .error: - call JUMP_UNSETZ + call unsetZ .end: pop hl ret diff --git a/apps/zasm/symbol.asm b/apps/zasm/symbol.asm index a6a1dd4..4bb5491 100644 --- a/apps/zasm/symbol.asm +++ b/apps/zasm/symbol.asm @@ -57,11 +57,11 @@ _symNext: cp (hl) jr nz, .do ; (HL) is not zero? we can advance. ; (HL) is zero? we're at the end of the chain. - call JUMP_UNSETZ + call unsetZ ret .do: ; A is already 0 - call JUMP_FINDCHAR ; find next null char + call findchar ; find next null char ; go to the char after it. inc hl cp a ; ensure Z @@ -126,7 +126,7 @@ symNamesEnd: djnz .loop ; exhausted djnz? out of bounds .outOfBounds: - call JUMP_UNSETZ + call unsetZ jr .end .success: ; Our index is 0 - B (if B is, for example 0xfd, A is 0x3) @@ -161,7 +161,7 @@ symRegister: push de ld de, (SYM_CTX_NAMESEND) ld a, c - call JUMP_ADDHL + call addHL call cpHLDE pop de pop hl @@ -189,8 +189,8 @@ symRegister: pop de push de ; push it right back to avoid stack imbalance ld hl, (SYM_CTX_VALUES) - call JUMP_ADDHL - call JUMP_ADDHL ; twice because our values are words + call addHL + call addHL ; twice because our values are words ; Everything is set! DE is our value HL points to the proper index in ; (SYM_CTX_VALUES). Let's just write it (little endian). @@ -227,7 +227,7 @@ symFind: ld hl, (SYM_CTX_NAMES) .loop: ld a, c ; recall strlen - call JUMP_STRNCMP + call strncmp jr z, .match ; ok, next! call _symNext @@ -235,8 +235,7 @@ symFind: djnz .loop ; exhausted djnz? no match .nomatch: - out (99), a - call JUMP_UNSETZ + call unsetZ jr .end .match: ; Our index is 0 - B (if B is, for example 0xfd, A is 0x3) @@ -254,8 +253,8 @@ symGetVal: ; our index is in A. Let's fetch the proper value push hl ld hl, (SYM_CTX_VALUES) - call JUMP_ADDHL - call JUMP_ADDHL ; twice because our values are words + call addHL + call addHL ; twice because our values are words ld e, (hl) inc hl ld d, (hl) diff --git a/apps/zasm/tok.asm b/apps/zasm/tok.asm index e0012e1..6fdb458 100644 --- a/apps/zasm/tok.asm +++ b/apps/zasm/tok.asm @@ -52,7 +52,7 @@ isSepOrLineEnd: isLabel: push hl ld a, ':' - call JUMP_FINDCHAR + call findchar ld a, (hl) cp ':' jr nz, .nomatch @@ -67,7 +67,7 @@ isLabel: ld (hl), a jr .end .nomatch: - call JUMP_UNSETZ + call unsetZ .end: pop hl ret @@ -105,7 +105,7 @@ readWord: ; We need to put the last char we've read back so that gotoNextLine ; behaves properly. call ioPutBack - call JUMP_UNSETZ + call unsetZ jr .end .success: call ioPutBack diff --git a/apps/zasm/util.asm b/apps/zasm/util.asm index 1366985..22958ec 100644 --- a/apps/zasm/util.asm +++ b/apps/zasm/util.asm @@ -66,10 +66,10 @@ strncmpI: ld b, a .loop: ld a, (de) - call JUMP_UPCASE + call upcase ld c, a ld a, (hl) - call JUMP_UPCASE + call upcase cp c jr nz, .end ; not equal? break early. NZ is carried out ; to the called @@ -120,7 +120,7 @@ enterParens: ret ; we're good! .doNotEnter: pop hl - call JUMP_UNSETZ + call unsetZ ret ; Find string (HL) in string list (DE) of size B, in a case-insensitive manner. @@ -133,7 +133,7 @@ findStringInList: ld a, c call strncmpI ld a, c - call JUMP_ADDDE + call addDE jr z, .match djnz .loop ; no match, Z is unset diff --git a/tools/emul/zasm/user.asm b/tools/emul/zasm/user.asm index 157fbaf..28becd6 100644 --- a/tools/emul/zasm/user.asm +++ b/tools/emul/zasm/user.asm @@ -1,19 +1,19 @@ ; *** JUMP TABLE *** -JUMP_STRNCMP .equ 0x03 -JUMP_ADDDE .equ 0x06 -JUMP_ADDHL .equ 0x09 -JUMP_UPCASE .equ 0x0c -JUMP_UNSETZ .equ 0x0f -JUMP_INTODE .equ 0x12 -JUMP_INTOHL .equ 0x15 -JUMP_FINDCHAR .equ 0x18 -JUMP_PARSEHEXPAIR .equ 0x1b -JUMP_BLKSEL .equ 0x1e -JUMP_FSFINDFN .equ 0x21 -JUMP_FSOPEN .equ 0x24 -JUMP_FSGETC .equ 0x27 -JUMP_FSSEEK .equ 0x2a -JUMP_FSTELL .equ 0x2d +strncmp .equ 0x03 +addDE .equ 0x06 +addHL .equ 0x09 +upcase .equ 0x0c +unsetZ .equ 0x0f +intoDE .equ 0x12 +intoHL .equ 0x15 +findchar .equ 0x18 +parseHexPair .equ 0x1b +blkSel .equ 0x1e +fsFindFN .equ 0x21 +fsOpen .equ 0x24 +fsGetC .equ 0x27 +fsSeek .equ 0x2a +fsTell .equ 0x2d .equ FS_HANDLE_SIZE 8 .equ USER_CODE 0x4800