mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-26 17:28:05 +11:00
Compare commits
No commits in common. "1536434666638262327af0548ce659b07e42fdfe" and "9d2afd200cc6b5548a486e1ee43696616bccbe70" have entirely different histories.
1536434666
...
9d2afd200c
4
blk/754
4
blk/754
@ -4,7 +4,7 @@
|
|||||||
1 0xd0 OPr0 RORr1, 1 0xd1 OPr0 RORx1, 4 0xf7 OPr0 MULx,
|
1 0xd0 OPr0 RORr1, 1 0xd1 OPr0 RORx1, 4 0xf7 OPr0 MULx,
|
||||||
4 0xd0 OPr0 SHLr1, 4 0xd1 OPr0 SHLx1, 6 0xf6 OPr0 DIVr,
|
4 0xd0 OPr0 SHLr1, 4 0xd1 OPr0 SHLx1, 6 0xf6 OPr0 DIVr,
|
||||||
5 0xd0 OPr0 SHRr1, 5 0xd1 OPr0 SHRx1, 6 0xf7 OPr0 DIVx,
|
5 0xd0 OPr0 SHRr1, 5 0xd1 OPr0 SHRx1, 6 0xf7 OPr0 DIVx,
|
||||||
0 0xd2 OPr0 ROLrCL, 0 0xd3 OPr0 ROLxCL, 1 0xfe OPr0 DECr,
|
0 0xd2 OPr0 ROLrCL, 0 0xd3 OPr0 ROLxCL,
|
||||||
1 0xd2 OPr0 RORrCL, 1 0xd3 OPr0 RORxCL, 0 0xfe OPr0 INCr,
|
1 0xd2 OPr0 RORrCL, 1 0xd3 OPr0 RORxCL,
|
||||||
4 0xd2 OPr0 SHLrCL, 4 0xd3 OPr0 SHLxCL,
|
4 0xd2 OPr0 SHLrCL, 4 0xd3 OPr0 SHLxCL,
|
||||||
5 0xd2 OPr0 SHRrCL, 5 0xd3 OPr0 SHRxCL,
|
5 0xd2 OPr0 SHRrCL, 5 0xd3 OPr0 SHRxCL,
|
||||||
|
3
blk/760
3
blk/760
@ -4,8 +4,7 @@
|
|||||||
: BREAK?, DUP 0x8000 AND IF
|
: BREAK?, DUP 0x8000 AND IF
|
||||||
0x7fff AND 1 ALLOT THEN, -1 ALLOT
|
0x7fff AND 1 ALLOT THEN, -1 ALLOT
|
||||||
THEN ; )
|
THEN ; )
|
||||||
: RPCs, PC - 1- DUP 128 + 0xff > IF ABORT" PC ovfl" THEN A, ;
|
: RPCs, PC - 1- A, ; : RPCn, PC - 2- A,, ;
|
||||||
: RPCn, PC - 2- A,, ;
|
|
||||||
: AGAIN, ( BREAK?, ) RPCs, ;
|
: AGAIN, ( BREAK?, ) RPCs, ;
|
||||||
( Use RPCx with appropriate JMP/CALL op. Example:
|
( Use RPCx with appropriate JMP/CALL op. Example:
|
||||||
JMPs, 0x42 RPCs, or CALLn, 0x1234 RPCn, )
|
JMPs, 0x42 RPCs, or CALLn, 0x1234 RPCn, )
|
||||||
|
7
blk/816
7
blk/816
@ -5,10 +5,9 @@ lblnext BSET PC 0x1d - ORG @ 0x1b + ! ( next )
|
|||||||
lblexec BSET PC 0x36 - ORG @ 0x34 + ! ( DI -> wordref )
|
lblexec BSET PC 0x36 - ORG @ 0x34 + ! ( DI -> wordref )
|
||||||
AL [DI] MOVr[], DI INCx, ( PFA )
|
AL [DI] MOVr[], DI INCx, ( PFA )
|
||||||
AL AL ORrr, IFZ, DI JMPr, THEN, ( native )
|
AL AL ORrr, IFZ, DI JMPr, THEN, ( native )
|
||||||
AL DECr, IFNZ, ( cell or does )
|
( continue to compiled )
|
||||||
DI PUSHx, ( push PFA ) JMPs, lblnext @ RPCs,
|
|
||||||
( TODO: implement does )
|
PC 0x11 - ORG @ 0x0f + ! ( compiled -- DI -> PFA )
|
||||||
THEN, ( compiled )
|
|
||||||
BP INCx, BP INCx, [BP] 0 DX MOV[]+x, ( pushRS )
|
BP INCx, BP INCx, [BP] 0 DX MOV[]+x, ( pushRS )
|
||||||
DX DI MOVxx, DX INCx, DX INCx, ( --> IP )
|
DX DI MOVxx, DX INCx, DX INCx, ( --> IP )
|
||||||
DI [DI] MOVx[],
|
DI [DI] MOVx[],
|
||||||
|
2
blk/820
2
blk/820
@ -1,6 +1,6 @@
|
|||||||
( native words )
|
( native words )
|
||||||
CODE EXECUTE
|
CODE EXECUTE
|
||||||
DI POPx, JMPn, lblexec @ RPCn,
|
DI POPx, JMPs, lblexec @ RPCs,
|
||||||
CODE >R
|
CODE >R
|
||||||
BP INCx, BP INCx, [BP] 0 POP[w]+,
|
BP INCx, BP INCx, [BP] 0 POP[w]+,
|
||||||
;CODE NOP, NOP, NOP,
|
;CODE NOP, NOP, NOP,
|
||||||
|
6
blk/821
6
blk/821
@ -1,10 +1,10 @@
|
|||||||
CODE DUP AX POPx, AX PUSHx, AX PUSHx, ;CODE
|
CODE DUP AX POPx, AX PUSHx, AX PUSHx, ;CODE
|
||||||
CODE ?DUP AX POPx, AX AX ORxx, AX PUSHx,
|
CODE ?DUP AX POPx, AX AX ORxx, IFNZ, AX PUSHx, THEN, ;CODE
|
||||||
IFNZ, AX PUSHx, THEN, ;CODE
|
|
||||||
CODE DROP AX POPx, ;CODE
|
CODE DROP AX POPx, ;CODE
|
||||||
CODE SWAP AX POPx, BX POPx, AX PUSHx, BX PUSHx, ;CODE
|
CODE SWAP AX POPx, BX POPx, AX PUSHx, BX PUSHx, ;CODE
|
||||||
CODE OVER ( a b -- a b a )
|
CODE OVER ( a b -- a b a )
|
||||||
DI SP MOVxx, AX [DI] 2 MOVx[]+, AX PUSHx, ;CODE
|
DI SP MOVxx, AX [DI] 2 MOVx[]+, AX PUSHx,
|
||||||
|
;CODE
|
||||||
CODE PICK
|
CODE PICK
|
||||||
DI POPx, DI SHLx1, ( x2 )
|
DI POPx, DI SHLx1, ( x2 )
|
||||||
DI SP ADDxx, DI [DI] MOVx[], DI PUSHx,
|
DI SP ADDxx, DI [DI] MOVx[], DI PUSHx,
|
||||||
|
5
blk/828
Normal file
5
blk/828
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
CODE EMIT
|
||||||
|
AX POPx, AH 0x0e MOVri, ( print char ) 0x10 INT,
|
||||||
|
;CODE
|
||||||
|
: FOO '0' 1 3 LSHIFT + EMIT ;
|
||||||
|
: BOOT 0x08 @ LIT< FOO _find DROP EXECUTE BYE ;
|
@ -42,8 +42,8 @@ static uint8_t iord_stdio()
|
|||||||
|
|
||||||
static void iowr_stdio(uint8_t val)
|
static void iowr_stdio(uint8_t val)
|
||||||
{
|
{
|
||||||
// comment if you don't like verbose staging output
|
// uncomment when you need to debug staging
|
||||||
putc(val, stderr);
|
// putc(val, stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void iowr_here(uint8_t val)
|
static void iowr_here(uint8_t val)
|
||||||
|
@ -4,14 +4,7 @@ RS_ADDR 0x80 - CONSTANT RAMSTART
|
|||||||
750 LOAD ( 8086 asm )
|
750 LOAD ( 8086 asm )
|
||||||
262 LOAD ( xcomp )
|
262 LOAD ( xcomp )
|
||||||
270 LOAD ( xcomp overrides )
|
270 LOAD ( xcomp overrides )
|
||||||
812 827 LOADR
|
812 828 LOADR
|
||||||
353 LOAD ( xcomp core low )
|
|
||||||
CODE (emit)
|
|
||||||
AX POPx, AH 0x0e MOVri, ( print char ) 0x10 INT,
|
|
||||||
;CODE
|
|
||||||
CODE (key) AH AH XORrr, 0x16 INT, AX PUSHx, ;CODE
|
|
||||||
: FOO (key) (emit) ;
|
|
||||||
: BOOT 0x08 @ LIT< FOO _find DROP EXECUTE BYE ;
|
|
||||||
(entry) _
|
(entry) _
|
||||||
( Update LATEST )
|
( Update LATEST )
|
||||||
PC ORG @ 8 + !
|
PC ORG @ 8 + !
|
||||||
|
Loading…
Reference in New Issue
Block a user