mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-25 17:48:06 +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
|
||||
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
|
||||
[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
|
||||
yourself.
|
||||
|
||||
As of now, the z80 assembler code is written to be assembled with [scas][scas],
|
||||
but this is going to change in the future as a new hosted assembler is written.
|
||||
This code is designed to be assembled by Collapse OS' own [zasm][zasm].
|
||||
|
||||
## 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
|
||||
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
|
||||
#include "mod1.asm"
|
||||
MOD2_RAMSTART .equ MOD1_RAMEND
|
||||
#include "mod2.asm"
|
||||
|
||||
## Code style
|
||||
|
||||
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
|
||||
[zasm]: ../apps/zasm/README.md
|
||||
|
Loading…
Reference in New Issue
Block a user