From 9fb77054c0d736aa175893486a2689ccbccae211 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Wed, 19 Jun 2019 13:34:06 -0400 Subject: [PATCH] Update docs w.r.t. its relationship with scas --- apps/zasm/README.md | 11 +++++++++++ kernel/README.md | 14 +++----------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/apps/zasm/README.md b/apps/zasm/README.md index c1bf700..9ae8f41 100644 --- a/apps/zasm/README.md +++ b/apps/zasm/README.md @@ -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 diff --git a/kernel/README.md b/kernel/README.md index 015162d..a712445 100644 --- a/kernel/README.md +++ b/kernel/README.md @@ -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 `_RAMSTART` constant to be defined and, in turn, defines a `_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