duskos

dusk os fork
git clone git://git.alexwennerberg.com/duskos
Log | Files | Refs | README | LICENSE

commit bf1815b8e5eeec0311935b717d96753244f4aa65
parent d6fdd2977e6803dd7fd95d08d5837b1f0de76679
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Sun,  2 Jul 2023 15:12:03 -0400

hal i386: fix bug with <<, <>) and +)

ar/ungz tests now pass! emul/uxn is the new roadblock...

Diffstat:
Mfs/tests/hal.fs | 4++--
Mfs/xcomp/i386/kernel.fs | 3+--
2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/fs/tests/hal.fs b/fs/tests/hal.fs @@ -289,9 +289,9 @@ code test31 ( a b -- r q ) \ a / b 5 2 test31 2 #eq 1 #eq -\ <<, and <>) +\ <<, <>) and +) code test32 ( a b -- a<<b ) - PSP) <>) <<, drop, exit, + dup, PSP) 4 +) <>) <<, 2drop, exit, $2a 4 test32 $2a0 #eq diff --git a/fs/xcomp/i386/kernel.fs b/fs/xcomp/i386/kernel.fs @@ -487,8 +487,7 @@ pc to L1 ( operand -- ) \ dx=SHL/SHR regid xdup, 3 cx al modrm!, dx push, wcall, !, dx pop, \ mov cx, dst 0 al reg!, al dl or, - $d3 i) cwrite, al cwrite, - xdrop, ret, forward! + $d3 i) cwrite, lblmodrmwr absjmp, forward! xdup, cx al reg!, \ target CX dx push, wcall, @, dx pop, \ mod becomes 3, reg moves to rm and DL is orred into modrm