Kaynağa Gözat

De-stabilize (n)

master
Virgil Dupras 3 yıl önce
ebeveyn
işleme
53239c8f84
12 değiştirilmiş dosya ile 14 ekleme ve 17 silme
  1. +3
    -6
      blk/263
  2. +4
    -0
      blk/264
  3. +1
    -1
      blk/265
  4. +1
    -1
      blk/270
  5. +1
    -1
      blk/283
  6. +0
    -1
      blk/306
  7. +1
    -1
      blk/397
  8. +1
    -2
      blk/805
  9. +0
    -1
      blk/812
  10. BIN
      cvm/forth.bin
  11. +1
    -2
      cvm/xcomp.fs
  12. +1
    -1
      doc/impl.txt

+ 3
- 6
blk/263 Dosyayı Görüntüle

@@ -5,11 +5,8 @@ CREATE XCURRENT 0 ,
: _xapply ( a -- a-off )
DUP ORG @ > IF ORG @ - BIN( @ + THEN ;
: XFIND XCURRENT @ SWAP _find DROP _xapply ;
: X' XCON ' XCOFF ; : X['] XCON ' _xapply LITN XCOFF ;
: XCOMPILE XCON ' _xapply LITN
: XLITN LIT" (n)" XFIND , , ;
: X' XCON ' XCOFF ; : X['] XCON ' _xapply XLITN XCOFF ;
: XCOMPILE XCON ' _xapply XLITN
LIT" ," FIND DROP _xapply , XCOFF ;
: X[COMPILE] XCON ' _xapply , XCOFF ;
: XDO LIT" 2>R" XFIND , H@ ;
: XLOOP LIT" (loop)" XFIND , H@ - C, ;
: XIF LIT" (?br)" XFIND , H@ 1 ALLOT ;
: XELSE LIT" (br)" XFIND , 1 ALLOT [COMPILE] THEN H@ 1- ;

+ 4
- 0
blk/264 Dosyayı Görüntüle

@@ -1,3 +1,7 @@
: XDO LIT" 2>R" XFIND , H@ ;
: XLOOP LIT" (loop)" XFIND , H@ - C, ;
: XIF LIT" (?br)" XFIND , H@ 1 ALLOT ;
: XELSE LIT" (br)" XFIND , 1 ALLOT [COMPILE] THEN H@ 1- ;
: XAGAIN LIT" (br)" XFIND , H@ - C, ;
: XUNTIL LIT" (?br)" XFIND , H@ - C, ;
: XLIT"


+ 1
- 1
blk/265 Dosyayı Görüntüle

@@ -8,7 +8,7 @@
ELSE ( w )
0x02 RAM+ @ SWAP ( cur w ) _find ( a f )
IF DUP IMMED? NOT IF ABORT THEN EXECUTE
ELSE (parse) LITN THEN
ELSE (parse) XLITN THEN
THEN
AGAIN
;

+ 1
- 1
blk/270 Dosyayı Görüntüle

@@ -5,7 +5,7 @@
: DO XDO ; IMMEDIATE : LOOP XLOOP ; IMMEDIATE
: IF XIF ; IMMEDIATE : ELSE XELSE ; IMMEDIATE
: AGAIN XAGAIN ; IMMEDIATE : UNTIL XUNTIL ; IMMEDIATE
: LIT" XLIT" ; IMMEDIATE
: LIT" XLIT" ; IMMEDIATE : LITN XLITN ;
: IMMEDIATE XIMM ;
: (entry) (xentry) ;
: CREATE XCREATE ;


+ 1
- 1
blk/283 Dosyayı Görüntüle

@@ -5,7 +5,7 @@ NOP, NOP, ( 06, uflw ) NOP, NOP, ( 08, LATEST ) NOP, ( unused )
0 JP, ( RST 10 ) NOP, NOP, ( 13, oflw )
NOP, NOP, NOP, NOP, NOP, ( unused )
0 JP, ( 1a, next ) NOP, NOP, NOP, ( unused )
0 JP, ( RST 20 ) 0 A, 0 JP, ( 23, (n) ) NOP, ( unused )
0 JP, ( RST 20 ) 0 A, 0 A, 0 A, 0 A, 0 A, ( unused )
0 JP, ( RST 28 ) 0 A, 0 A, 0 A, 0 A, 0 A, ( unused )
0 JP, ( RST 30 ) 0 A, 0 A, 0 A, 0 A, 0 A, ( unused )
0 JP, ( RST 38 )

+ 0
- 1
blk/306 Dosyayı Görüntüle

@@ -1,5 +1,4 @@
CODE (n) ( number literal )
PC ORG @ 0x25 + ! ( stable ABI JP )
( Literal value to push to stack is next to (n) reference
in the atom list. That is where IP is currently pointing.
Read, push, then advance IP. )


+ 1
- 1
blk/397 Dosyayı Görüntüle

@@ -3,7 +3,7 @@
: DO COMPILE 2>R H@ ; IMMEDIATE
: LOOP COMPILE (loop) H@ - _bchk C, ; IMMEDIATE
( LEAVE is implemented in low xcomp )
: LITN 0x23 ( n ) , , ;
: LITN COMPILE (n) , ;
( gets its name at the very end. can't comment afterwards )
: _ BEGIN LIT" )" WORD S= UNTIL ; IMMEDIATE
: _ ( : will get its name almost at the very end )


+ 1
- 2
blk/805 Dosyayı Görüntüle

@@ -6,5 +6,4 @@ JMPn, 0 A,, ( 00, main ) 0 A, ( 03, boot driveno )
JMPn, 0 A,, ( 0b, EXIT )
0 A,, 0 A,, ( unused ) 0 A,, ( 13, oflw )
0 A,, 0 A,, 0 A, ( unused )
JMPn, 0 A,, ( 1a, next ) 0 A,, 0 A,, 0 A,, ( unused )
0 A, JMPn, 0 A,, ( 23, (n) )
JMPn, 0 A,, ( 1a, next )

+ 0
- 1
blk/812 Dosyayı Görüntüle

@@ -1,5 +1,4 @@
CODE (n) ( number literal )
PC 0x27 - ORG @ 0x25 + ! ( stable abi )
DI DX MOVxx, DI [DI] MOVx[], DI PUSHx,
DX INCx, DX INCx,
;CODE


BIN
cvm/forth.bin Dosyayı Görüntüle


+ 1
- 2
cvm/xcomp.fs Dosyayı Görüntüle

@@ -13,8 +13,7 @@ CREATE BIN( 0 ,
H@ ORG !
0x0b ALLOT0
0 C, 0 C, ( EXIT )
0x16 ALLOT0
0 C, 0x05 C, ( (n) )
0x08 ALLOT0
( END OF STABLE ABI )
H@ 4 + XCURRENT ! ( make next CODE have 0 prev field )
0x00 CODE EXIT


+ 1
- 1
doc/impl.txt Dosyayı Görüntüle

@@ -195,7 +195,7 @@ otherwise be difficult to access. Here's the complete list of
these references:

04 BOOT addr 06 (uflw) addr 08 LATEST
0b EXIT wordref 13 (oflw) addr 23 (n) wordref
0b EXIT wordref 13 (oflw) addr 1a next addr

BOOT, (uflw) and (oflw) exist because they are referred to
before those words are defined (in core words). LATEST is a


Yükleniyor…
İptal
Kaydet