diff --git a/blk/310 b/blk/310 index c4005bd..2997436 100644 --- a/blk/310 +++ b/blk/310 @@ -1,4 +1,4 @@ -CODE PICK +CODE PICK EXX, ( protect BC ) HL POP, ( x2 ) L SLA, H RL, @@ -10,6 +10,6 @@ CODE PICK EXDEHL, HL PS_ADDR LDdn, DE SUBHLd, - CC lblofl @ JPc, ( abortUnderflow-B298 ) + IFC, EXX, lblofl @ JP, THEN, BC PUSH, -;CODE +EXX, ( unprotect BC ) ;CODE diff --git a/blk/319 b/blk/319 index d4f9af6..695cccb 100644 --- a/blk/319 +++ b/blk/319 @@ -1,16 +1,16 @@ -CODE * ( DE * BC -> DE (high) and HL (low) ) +CODE * EXX, ( protect BC ) + ( DE * BC -> DE (high) and HL (low) ) DE POP, BC POP, chkPS, HL 0 LDdn, A 0x10 LDri, -( loop ) - HL ADDHLd, - E RL, D RL, - JRNC, 4 A, ( noinc ) - BC ADDHLd, - JRNC, 1 A, ( noinc ) - DE INCd, -( noinc ) - A DECr, - JRNZ, -14 A, ( loop ) + BEGIN, + HL ADDHLd, + E RL, D RL, + IFC, + BC ADDHLd, + IFC, DE INCd, THEN, + THEN, + A DECr, + JRNZ, AGAIN, HL PUSH, -;CODE +EXX, ( unprotect BC ) ;CODE diff --git a/blk/320 b/blk/320 index ff943b0..dd68dd3 100644 --- a/blk/320 +++ b/blk/320 @@ -1,16 +1,15 @@ ( Borrowed from http://wikiti.brandonw.net/ ) ( Divides AC by DE and places the quotient in AC and the remainder in HL ) -CODE /MOD - DE POP, - BC POP, - chkPS, - A B LDrr, - B 16 LDri, +CODE /MOD EXX, ( protect BC ) + DE POP, BC POP, chkPS, + A B LDrr, B 16 LDri, HL 0 LDdn, - - - - - - ( cont. ) + BEGIN, + SCF, C RL, RLA, + HL ADCHLd, DE SBCHLd, + IFC, DE ADDHLd, C DECr, THEN, + DJNZ, AGAIN, + B A LDrr, + HL PUSH, BC PUSH, +EXX, ( unprotect BC ) ;CODE diff --git a/blk/321 b/blk/321 deleted file mode 100644 index f9bd559..0000000 --- a/blk/321 +++ /dev/null @@ -1,15 +0,0 @@ - BEGIN, ( loop ) - SCF, - C RL, - RLA, - HL ADCHLd, - DE SBCHLd, - IFC, - DE ADDHLd, - C DECr, - THEN, - DJNZ, AGAIN, ( loop ) - B A LDrr, - HL PUSH, - BC PUSH, -;CODE diff --git a/blk/324 b/blk/324 index 61eebc7..5c0eb54 100644 --- a/blk/324 +++ b/blk/324 @@ -1,13 +1,13 @@ -CODE PC! +CODE PC! EXX, ( protect BC ) BC POP, HL POP, L OUT(C)r, -;CODE +EXX, ( unprotect BC ) ;CODE -CODE PC@ +CODE PC@ EXX, ( protect BC ) BC POP, chkPS, H 0 LDri, L INr(C), HL PUSH, -;CODE +EXX, ( unprotect BC ) ;CODE diff --git a/blk/329 b/blk/329 index 18ee047..933318a 100644 --- a/blk/329 +++ b/blk/329 @@ -3,13 +3,13 @@ CODE CMP DE POP, chkPS, DE SUBHLd, - BC 0 LDdn, + DE 0 LDdn, IFNZ, ( < or > ) - BC INCd, + DE INCd, IFNC, ( < ) - BC DECd, - BC DECd, + DE DECd, + DE DECd, THEN, THEN, - BC PUSH, + DE PUSH, ;CODE diff --git a/blk/334 b/blk/334 index 1169e5d..f3dbd67 100644 --- a/blk/334 +++ b/blk/334 @@ -1,12 +1,13 @@ CODE RSHIFT ( n u -- n ) - BC POP, ( u ) + DE POP, ( u ) HL POP, ( n ) chkPS, - B C LDrr, - B INCr, B DECr, IFNZ, + A E LDrr, + A ORr, IFNZ, BEGIN, H SRL, L RR, - DJNZ, AGAIN, + A DECr, + JRNZ, AGAIN, THEN, HL PUSH, ;CODE diff --git a/blk/335 b/blk/335 index 55ba01a..4db4520 100644 --- a/blk/335 +++ b/blk/335 @@ -1,12 +1,13 @@ CODE LSHIFT ( n u -- n ) - BC POP, ( u ) + DE POP, ( u ) HL POP, ( n ) chkPS, - B C LDrr, - B INCr, B DECr, IFNZ, + A E LDrr, + A ORr, IFNZ, BEGIN, L SLA, H RL, - DJNZ, AGAIN, + A DECr, + JRNZ, AGAIN, THEN, HL PUSH, ;CODE diff --git a/blk/493 b/blk/493 index 0e780ca..9d81501 100644 --- a/blk/493 +++ b/blk/493 @@ -3,14 +3,14 @@ CODE (key) 0x28 RST, PUSHA, ;CODE -CODE (emit) +CODE (emit) EXX, ( protect BC ) BC POP, ( c == @DSP arg ) chkPS, A 0x02 LDri, ( @DSP ) 0x28 RST, -;CODE -CODE AT-XY +EXX, ( unprotect BC ) ;CODE +CODE AT-XY EXX, ( protect BC ) DE POP, H E LDrr, ( Y ) DE POP, L E LDrr, ( X ) chkPS, A 0x0f LDri, ( @VDCTL ) B 3 LDri, ( setcur ) 0x28 RST, -;CODE +EXX, ( unprotect BC ) ;CODE diff --git a/blk/494 b/blk/494 index a85bce8..358d232 100644 --- a/blk/494 +++ b/blk/494 @@ -3,10 +3,10 @@ CODE BYE HL 0 LDdn, A 0x16 LDri, ( @EXIT ) 0x28 RST, -CODE @DCSTAT ( drv -- f ) +CODE @DCSTAT ( drv -- f ) EXX, ( protect BC ) BC POP, chkPS, A 0x28 LDri, ( @DCSTAT ) 0x28 RST, PUSHZ, -;CODE +EXX, ( unprotect BC ) ;CODE diff --git a/blk/495 b/blk/495 index 7f429dd..09905da 100644 --- a/blk/495 +++ b/blk/495 @@ -1,4 +1,4 @@ -CODE @RDSEC ( drv cylsec addr -- f ) +CODE @RDSEC ( drv cylsec addr -- f ) EXX, ( protect BC ) HL POP, DE POP, BC POP, @@ -6,4 +6,4 @@ CODE @RDSEC ( drv cylsec addr -- f ) A 0x31 LDri, ( @RDSEC ) 0x28 RST, PUSHZ, -;CODE +EXX, ( unprotect BC ) ;CODE diff --git a/blk/496 b/blk/496 index 3f3ba4f..aae8484 100644 --- a/blk/496 +++ b/blk/496 @@ -1,4 +1,4 @@ -CODE @WRSEC ( drv cylsec addr -- f ) +CODE @WRSEC ( drv cylsec addr -- f ) EXX, ( protect BC ) HL POP, DE POP, BC POP, @@ -6,7 +6,7 @@ CODE @WRSEC ( drv cylsec addr -- f ) A 0x35 LDri, ( @WRSEC ) 0x28 RST, PUSHZ, -;CODE +EXX, ( unprotect BC ) ;CODE CODE @GET ( a -- c f ) DE POP, chkPS, diff --git a/blk/497 b/blk/497 index c10f7ba..93996d7 100644 --- a/blk/497 +++ b/blk/497 @@ -1,8 +1,8 @@ -CODE @PUT ( c a -- f ) +CODE @PUT ( c a -- f ) EXX, ( protect BC ) DE POP, BC POP, chkPS, A 0x04 LDri, ( @PUT ) 0x28 RST, PUSHZ, -;CODE +EXX, ( unprotect BC ) ;CODE