1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-26 08:48:05 +11:00

Compare commits

..

No commits in common. "79e04189b0ac1414a2c1b38ecc5c1935607188e5" and "7cf3ed38da6716e7e0ff0c15e820d9b0e95efc40" have entirely different histories.

5 changed files with 12 additions and 24 deletions

View File

@ -76,12 +76,6 @@ forward-reference labels.
However, they *cannot* forward-reference other constants.
When defining a constant, if the symbol specified has already been defined, no
error occur and the first value defined stays intact. This allows for "user
override" of programs.
It's also important to note that constants always override labels, regardless
of declaration order.
## Expressions
@ -125,7 +119,11 @@ allowed. An included file cannot have an `.inc` directive.
**.equ**: Binds a symbol named after the first parameter to the value of the
expression written as the second parameter. Example:
`.equ foo 0x42+'A'`. See "Constants" above.
`.equ foo 0x42+'A'`
If the symbol specified has already been defined, no error occur and
the first value defined stays intact. This allows for "user override"
of programs.
**.fill**: Outputs the number of null bytes specified by its argument, an
expression. Often used with `$` to fill our binary up to a certain

View File

@ -219,13 +219,13 @@ symFindVal:
push ix
call symIsLabelLocal
jr z, .local
; global. Let's try consts first, then symbols
; global. Let's try labels first, then consts
push hl ; --> lvl 1. we'll need it again if not found.
ld ix, SYM_CONST_REGISTRY
ld ix, SYM_GLOBAL_REGISTRY
call _symFind
pop hl ; <-- lvl 1
jr z, .found
ld ix, SYM_GLOBAL_REGISTRY
ld ix, SYM_CONST_REGISTRY
call _symFind
jr nz, .end
.found:

Binary file not shown.

Binary file not shown.

View File

@ -2,11 +2,8 @@ jp test
.inc "core.asm"
dummyLabel:
testNum: .db 1
.equ dummyLabel 0x42
test:
ld hl, 0xffff
ld sp, hl
@ -33,13 +30,6 @@ test:
jp p, fail ; negative
call nexttest
; Test that .equ can override label
ld a, 0x42
ld hl, dummyLabel
cp l
jp nz, fail
call nexttest
; *** cpHLDE ***
ld hl, 0x42
ld de, 0x42