mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-26 04:58:05 +11:00
Update docs w.r.t. its relationship with scas
This commit is contained in:
parent
d6b391e39a
commit
9fb77054c0
@ -139,4 +139,15 @@ allowed. An included file cannot have an `#inc` directive.
|
|||||||
and output its binary content as is the code has been in the includer
|
and output its binary content as is the code has been in the includer
|
||||||
file.
|
file.
|
||||||
|
|
||||||
|
## Compatibility with scas
|
||||||
|
|
||||||
|
This project was initially assembled with [scas][scas], but now that zasm self-
|
||||||
|
assembles, it isn't used any more. However, the kernel and zasm code are still
|
||||||
|
written to be compatible with scas because scas is still used as a comparison
|
||||||
|
tool in tests.
|
||||||
|
|
||||||
|
There are, however, features I want to implement in zasm that will break
|
||||||
|
compatibility with scas, so in the near future, scas will be left behind.
|
||||||
|
|
||||||
[libz80]: https://github.com/ggambetta/libz80
|
[libz80]: https://github.com/ggambetta/libz80
|
||||||
|
[scas]: https://github.com/KnightOS/scas
|
||||||
|
@ -6,8 +6,7 @@ machine.
|
|||||||
These parts are made to be glued together in a single `glue.asm` file you write
|
These parts are made to be glued together in a single `glue.asm` file you write
|
||||||
yourself.
|
yourself.
|
||||||
|
|
||||||
As of now, the z80 assembler code is written to be assembled with [scas][scas],
|
This code is designed to be assembled by Collapse OS' own [zasm][zasm].
|
||||||
but this is going to change in the future as a new hosted assembler is written.
|
|
||||||
|
|
||||||
## Defines
|
## Defines
|
||||||
|
|
||||||
@ -29,18 +28,11 @@ This is why each part that has variable expect a `<PARTNAME>_RAMSTART`
|
|||||||
constant to be defined and, in turn, defines a `<PARTNAME>_RAMEND` constant to
|
constant to be defined and, in turn, defines a `<PARTNAME>_RAMEND` constant to
|
||||||
carry to the following part.
|
carry to the following part.
|
||||||
|
|
||||||
Thus, code that glue parts together coould look like:
|
Thus, code that glue parts together could look like:
|
||||||
|
|
||||||
MOD1_RAMSTART .equ RAMSTART
|
MOD1_RAMSTART .equ RAMSTART
|
||||||
#include "mod1.asm"
|
#include "mod1.asm"
|
||||||
MOD2_RAMSTART .equ MOD1_RAMEND
|
MOD2_RAMSTART .equ MOD1_RAMEND
|
||||||
#include "mod2.asm"
|
#include "mod2.asm"
|
||||||
|
|
||||||
## Code style
|
[zasm]: ../apps/zasm/README.md
|
||||||
|
|
||||||
The asm code used in these parts is heavily dependent on what scas offers. I
|
|
||||||
try to be as "low-tech" as possible because the implementation of the assembler
|
|
||||||
to be implemented for the z80 will likely be more limited. For example, we don't
|
|
||||||
use macros.
|
|
||||||
|
|
||||||
[scas]: https://github.com/KnightOS/scas
|
|
||||||
|
Loading…
Reference in New Issue
Block a user