diff --git a/blk/007 b/blk/007 index 90c5817..e58362d 100644 --- a/blk/007 +++ b/blk/007 @@ -4,8 +4,8 @@ ; : PC H@ ORG @ - BIN( @ + ; ( A, spits an assembled byte, A,, spits an assembled word - Both increase PC. To debug, change C, to .X ) -: A, C, ; : A,, SPLITB A, A, ; + Both increase PC. ) +: A,, SPLITB A, A, ; : <<3 3 LSHIFT ; : <<4 4 LSHIFT ; ( As a general rule, IX and IY are equivalent to spitting an extra 0xdd / 0xfd and then spit the equivalent of HL ) diff --git a/blk/032 b/blk/032 index 0b7e1ae..f92d7c0 100644 --- a/blk/032 +++ b/blk/032 @@ -3,5 +3,4 @@ 256 /MOD SWAP ; : PC H@ ORG @ - BIN( @ + ; -: A, C, ; : A,, SPLITB A, A, ; diff --git a/blk/051 b/blk/051 index 448b789..be5ac92 100644 --- a/blk/051 +++ b/blk/051 @@ -6,5 +6,5 @@ VARIABLE L1 VARIABLE L2 VARIABLE L3 VARIABLE L4 ( We divide by 2 because each PC represents a word. ) : PC H@ ORG @ - 1 RSHIFT ; ( A, spits an assembled byte, A,, spits an assembled word - Both increase PC. To debug, change C, to .X ) -: A, C, ; : A,, SPLITB A, A, ; + Both increase PC. ) +: A,, SPLITB A, A, ; diff --git a/blk/363 b/blk/363 index 7369907..256bee0 100644 --- a/blk/363 +++ b/blk/363 @@ -4,7 +4,7 @@ SYSVARS 0x0c + :** C<* 0x08 RAM+ ( C<* override ) @ ?DUP NOT IF C<* ELSE EXECUTE THEN ; : , H@ ! H@ 2+ HERE ! ; -: C, H@ C! H@ 1+ HERE ! ; +: C, H@ C!+ HERE ! ; : ," BEGIN C< DUP 34 ( ASCII " ) = IF DROP EXIT THEN C, diff --git a/blk/385 b/blk/385 index 2bc6057..60dd886 100644 --- a/blk/385 +++ b/blk/385 @@ -5,6 +5,7 @@ ( Now, adev stuff ) SYSVARS 0x3e + :** A@ SYSVARS 0x40 + :** A! +SYSVARS 0x42 + :** A, ( src dst u -- ) : AMOVE diff --git a/blk/390 b/blk/390 index e6a29d7..fd1b233 100644 --- a/blk/390 +++ b/blk/390 @@ -7,7 +7,7 @@ ['] (emit) ['] EMIT **! ['] (key) ['] KEY **! ['] CRLF ['] NL **! ['] (boot<) ['] C<* **! - ['] C@ ['] A@ **! ['] C! ['] A! **! + ['] C@ ['] A@ **! ['] C! ['] A! **! ['] C, ['] A, **! ( boot< always has a char waiting. 06 == C +32 IN(* +70 DRIVERS +34 BLK@* +80 RAMEND diff --git a/doc/usage.txt b/doc/usage.txt index f3d5eaa..923e266 100644 --- a/doc/usage.txt +++ b/doc/usage.txt @@ -84,9 +84,9 @@ need switches in regular code. # Addressed devices -A@ and A! are the indirect versions of C@ and C!. They are -aliases and initially point to C@ and C!. There is also a AMOVE -word that is the same as MOVE but using A@ and A!. +A@, A! and A, are the indirect versions of C@, C! and C,. They +are switch words and initially point to C@, C! and C,. There is +also a AMOVE word that is the same as MOVE but using A@ and A!. Addressed device words can be useful to "pipe" processing to places outside of regular memory.