This website works better with JavaScript.
Home
Explore
lain.church
Help
Register
Sign In
izaya
/
collapseos
mirror of
https://github.com/hsoft/collapseos.git
Watch
1
Star
1
Fork
0
Code
Issues
0
Releases
0
Wiki
Activity
Browse Source
forth: Forth-ify "PC!"
pull/95/head
Virgil Dupras
4 years ago
parent
04a6784de4
commit
7beac94b5a
4 changed files
with
22 additions
and
20 deletions
Split View
Diff Options
Show Stats
Download Patch File
Download Diff File
BIN
emul/forth/z80c.bin
+1
-19
forth/forth.asm
+14
-1
forth/z80a.fs
+7
-0
forth/z80c.fs
BIN
emul/forth/z80c.bin
View File
+ 1
- 19
forth/forth.asm
View File
@@ -21,11 +21,6 @@
;
; PutC: Write character specified in A onto the device.
;
; *** ASCII ***
.equ BS 0x08
.equ CR 0x0d
.equ LF 0x0a
.equ DEL 0x7f
; *** Const ***
; Base of the Return Stack
.equ RS_ADDR 0xf000
@@ -738,23 +733,10 @@ PRINT:
inc hl
jr .loop
; ( c port -- )
.db "PC!"
.fill 4
.dw $-PRINT
.db 0
PSTORE:
.dw nativeWord
pop bc
pop hl
call chkPS
out (c), l
jp next
; ( port -- c )
.db "PC@"
.fill 4
.dw $-P
STORE
.dw $-PRINT
.db 0
PFETCH:
.dw nativeWord
+ 14
- 1
forth/z80a.fs
View File
@@ -107,12 +107,25 @@
C@ ( b r op )
ROT ( r op b )
8 * ( r op b<<3 )
OR OR
Z
,
OR OR
A
,
;
0xc0 OP2br SETbr,
0x80 OP2br RESbr,
0x40 OP2br BITbr,
( cell contains both bytes. MSB is spit as-is, LSB is ORed with r )
( r -- )
: OP2r
CREATE ,
DOES>
@ 256 /MOD ( r lsb msb )
A, ( r lsb )
SWAP 8 * ( lsb r<<3 )
OR A,
;
0xed41 OP2r OUT(C)r,
0xeb40 OP2r INr(C),
( dd nn -- )
: OP3ddnn
CREATE C,
+ 7
- 0
forth/z80c.fs
View File
@@ -83,3 +83,10 @@ CODE AND
H A LDrr,
HL PUSHqq,
;CODE
CODE PC!
BC POPqq,
HL POPqq,
chkPS,
L OUT(C)r,
;CODE
Write
Preview
Loading…
Cancel
Save