Pārlūkot izejas kodu

Add words RSHIFT and LSHIFT

pull/102/head
Virgil Dupras pirms 4 gadiem
vecāks
revīzija
24e588019b
9 mainītis faili ar 35 papildinājumiem un 10 dzēšanām
  1. +2
    -2
      blk/054
  2. +1
    -1
      blk/215
  3. +1
    -1
      blk/282
  4. +12
    -0
      blk/334
  5. +13
    -0
      blk/335
  6. +2
    -2
      blk/379
  7. +1
    -1
      blk/383
  8. +3
    -3
      blk/499
  9. Binārs
      emul/forth.bin

+ 2
- 2
blk/054 Parādīt failu

@@ -10,7 +10,7 @@ MOD a b -- c a % b -> c
AND a b -- c a & b -> c
OR a b -- c a | b -> c
XOR a b -- c a ^ b -> c
LSHIFT a u -- c a << u -> c
RSHIFT a u -- c a >> u -> c

Shortcuts: 1+ 2+ 1- 2-



+ 1
- 1
blk/215 Parādīt failu

@@ -6,7 +6,7 @@
( 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, ;
: <<3 8 * ; : <<4 16 * ;
: <<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 )
: IX 0xdd A, HL ; : IY 0xfd A, HL ;


+ 1
- 1
blk/282 Parādīt failu

@@ -1 +1 @@
1 51 LOADR+
1 53 LOADR+

+ 12
- 0
blk/334 Parādīt failu

@@ -0,0 +1,12 @@
CODE RSHIFT ( n u -- n )
BC POPqq, ( u )
HL POPqq, ( n )
chkPS,
B C LDrr,
B INCr, B DECr, IFNZ,
BEGIN,
H SRLr, L RRr,
DJNZ, AGAIN,
THEN,
HL PUSHqq,
;CODE

+ 13
- 0
blk/335 Parādīt failu

@@ -0,0 +1,13 @@
CODE LSHIFT ( n u -- n )
BC POPqq, ( u )
HL POPqq, ( n )
chkPS,
B C LDrr,
B INCr, B DECr, IFNZ,
BEGIN,
L SLAr, H RLr,
DJNZ, AGAIN,
THEN,
HL PUSHqq,
;CODE


+ 2
- 2
blk/379 Parādīt failu

@@ -9,8 +9,8 @@
: SDCMDR7
_sdcSel
_cmd ( r )
_idle 256 * _idle + ( r arg1 )
_idle 256 * _idle + ( r arg1 arg2 )
_idle 8 LSHIFT _idle + ( r arg1 )
_idle 8 LSHIFT _idle + ( r arg1 arg2 )
_sdcDesel
;


+ 1
- 1
blk/383 Parādīt failu

@@ -10,6 +10,6 @@
SWAP 1+ ( crc a+1 )
LOOP
DROP ( crc1 )
_idle 256 * _idle + ( crc2 )
_idle 8 LSHIFT _idle + ( crc2 )
_wait DROP _sdcDesel
= NOT IF _err THEN ;

+ 3
- 3
blk/499 Parādīt failu

@@ -3,14 +3,14 @@
( 4 256b sectors per block, 10 sec per cyl, 40 cyl max )
10 /MOD ( sec cyl )
DUP 39 > IF _err THEN
256 * + ( cylsec )
8 LSHIFT + ( cylsec )
;
: FD@! ( wref blk -- )
1 @DCSTAT NOT IF _err THEN
4 * ( wr sec )
2 LSHIFT ( 4 * -- wr sec )
4 0 DO ( wr sec )
DUP I + _cylsec ( wr sec cs )
I 256 * BLK( + ( wr sec cs addr )
I 8 LSHIFT BLK( + ( wr sec cs addr )
1 ROT ROT ( wr sec drv cs addr )
4 PICK EXECUTE NOT IF _err THEN
LOOP 2DROP ;

Binārs
emul/forth.bin Parādīt failu


Notiek ielāde…
Atcelt
Saglabāt