forth: Forth-ify "PC!"

Šī revīzija ir iekļauta:
Virgil Dupras 2020-03-25 17:07:15 -04:00
vecāks 04a6784de4
revīzija 7beac94b5a
4 mainīti faili ar 22 papildinājumiem un 20 dzēšanām

Bināro failu nav iespējams attēlot.

Parādīt failu

@ -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 $-PSTORE
.dw $-PRINT
.db 0
PFETCH:
.dw nativeWord

Parādīt failu

@ -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,

Parādīt failu

@ -83,3 +83,10 @@ CODE AND
H A LDrr,
HL PUSHqq,
;CODE
CODE PC!
BC POPqq,
HL POPqq,
chkPS,
L OUT(C)r,
;CODE