Przeglądaj źródła

z80: add missing chkPS, calls

chkPS, used to be only for words that pushed back to PS, but I've
recently removed underflow checks from next and I forgot to add
missing chkPS, calls that go with this change.
master
Virgil Dupras 3 lat temu
rodzic
commit
7359717000
8 zmienionych plików z 23 dodań i 31 usunięć
  1. +7
    -7
      blk/290
  2. +1
    -1
      blk/308
  3. +1
    -1
      blk/312
  4. +2
    -4
      blk/322
  5. +2
    -4
      blk/323
  6. +2
    -4
      blk/324
  7. +7
    -6
      blk/325
  8. +1
    -4
      blk/326

+ 7
- 7
blk/290 Wyświetl plik

@@ -1,10 +1,7 @@
lbluflw BSET ( abortUnderflow )
DE BIN( @ 0x06 ( uflw ) + LDd(i),
JR, lblexec BWR
lblchkPS BSET ( chkPS ) lblchkPS BSET ( chkPS )
( Note that you only need to call this in words that push
back to PSP. If they don't, calling chkPS is redundant with
check in next )
( thread carefully in there: sometimes, we're in the
middle of a EXX to protect BC. BC must never be touched
here. )
EXX, EXX,
( We have the return address for this very call on the stack ( We have the return address for this very call on the stack
and protected registers. 2- is to compensate that. ) and protected registers. 2- is to compensate that. )
@@ -12,4 +9,7 @@ lblchkPS BSET ( chkPS )
SP SUBHLd, SP SUBHLd,
EXX, EXX,
CNC RETc, ( PS_ADDR >= SP? good ) CNC RETc, ( PS_ADDR >= SP? good )
JR, lbluflw BWR
( continue to uflw )
lbluflw BSET ( abortUnderflow )
DE BIN( @ 0x06 ( uflw ) + LDd(i),
JR, lblexec BWR

+ 1
- 1
blk/308 Wyświetl plik

@@ -12,5 +12,5 @@ CODE ?DUP
HLZ, IFNZ, HL PUSH, THEN, HLZ, IFNZ, HL PUSH, THEN,
;CODE ;CODE
CODE DROP ( a -- ) CODE DROP ( a -- )
HL POP,
HL POP, chkPS,
;CODE ;CODE

+ 1
- 1
blk/312 Wyświetl plik

@@ -1,5 +1,5 @@
CODE 2DROP ( a b -- ) CODE 2DROP ( a b -- )
HL POP, HL POP,
HL POP, HL POP, chkPS,
;CODE ;CODE


CODE 2DUP ( a b -- a b a b ) CODE 2DUP ( a b -- a b a b )


+ 2
- 4
blk/322 Wyświetl plik

@@ -1,13 +1,11 @@
CODE ! CODE !
HL POP,
DE POP,
HL POP, DE POP, chkPS,
(HL) E LDrr, (HL) E LDrr,
HL INCd, HL INCd,
(HL) D LDrr, (HL) D LDrr,
;CODE ;CODE
CODE @ CODE @
HL POP,
chkPS,
HL POP, chkPS,
E (HL) LDrr, E (HL) LDrr,
HL INCd, HL INCd,
D (HL) LDrr, D (HL) LDrr,


+ 2
- 4
blk/323 Wyświetl plik

@@ -1,12 +1,10 @@
CODE C! CODE C!
HL POP,
DE POP,
HL POP, DE POP, chkPS,
(HL) E LDrr, (HL) E LDrr,
;CODE ;CODE


CODE C@ CODE C@
HL POP,
chkPS,
HL POP, chkPS,
L (HL) LDrr, L (HL) LDrr,
H 0 LDri, H 0 LDri,
HL PUSH, HL PUSH,


+ 2
- 4
blk/324 Wyświetl plik

@@ -1,12 +1,10 @@
CODE PC! EXX, ( protect BC ) CODE PC! EXX, ( protect BC )
BC POP,
HL POP,
BC POP, HL POP, chkPS,
L OUT(C)r, L OUT(C)r,
EXX, ( unprotect BC ) ;CODE EXX, ( unprotect BC ) ;CODE


CODE PC@ EXX, ( protect BC ) CODE PC@ EXX, ( protect BC )
BC POP,
chkPS,
BC POP, chkPS,
H 0 LDri, H 0 LDri,
L INr(C), L INr(C),
HL PUSH, HL PUSH,


+ 7
- 6
blk/325 Wyświetl plik

@@ -1,15 +1,16 @@
CODE I CODE I
L 0 IX+ LDrIXY,
H 1 IX+ LDrIXY,
L 0 IX+ LDrIXY, H 1 IX+ LDrIXY,
HL PUSH, HL PUSH,
;CODE ;CODE
CODE I' CODE I'
L 2 IX- LDrIXY,
H 1 IX- LDrIXY,
L 2 IX- LDrIXY, H 1 IX- LDrIXY,
HL PUSH, HL PUSH,
;CODE ;CODE
CODE J CODE J
L 4 IX- LDrIXY,
H 3 IX- LDrIXY,
L 4 IX- LDrIXY, H 3 IX- LDrIXY,
HL PUSH, HL PUSH,
;CODE ;CODE
CODE >R
HL POP, chkPS,
IX INCd, IX INCd, 0 IX+ L LDIXYr, 1 IX+ H LDIXYr,
;CODE

+ 1
- 4
blk/326 Wyświetl plik

@@ -1,11 +1,8 @@
CODE >R
HL POP, IX INCd, IX INCd, 0 IX+ L LDIXYr, 1 IX+ H LDIXYr,
;CODE
CODE R> CODE R>
L 0 IX+ LDrIXY, H 1 IX+ LDrIXY, IX DECd, IX DECd, HL PUSH, L 0 IX+ LDrIXY, H 1 IX+ LDrIXY, IX DECd, IX DECd, HL PUSH,
;CODE ;CODE
CODE 2>R PC ORG @ 0x35 + ! ( stable ABI JP ) CODE 2>R PC ORG @ 0x35 + ! ( stable ABI JP )
DE POP, HL POP,
DE POP, HL POP, chkPS,
IX INCd, IX INCd, 0 IX+ L LDIXYr, 1 IX+ H LDIXYr, IX INCd, IX INCd, 0 IX+ L LDIXYr, 1 IX+ H LDIXYr,
IX INCd, IX INCd, 0 IX+ E LDIXYr, 1 IX+ D LDIXYr, IX INCd, IX INCd, 0 IX+ E LDIXYr, 1 IX+ D LDIXYr,
;CODE ;CODE


Ładowanie…
Anuluj
Zapisz