1
0
mirror of https://github.com/dschmenk/PLASMA.git synced 2025-04-09 01:37:17 +00:00

Fix mod sign

This commit is contained in:
David Schmenk 2018-03-12 20:47:07 -07:00
parent e77aceb4ea
commit 6bbc5b6381
6 changed files with 42 additions and 41 deletions

View File

@ -127,6 +127,10 @@ export def main(range)#0
drop, b, drop = vals123
drop, drop, c = vals123
puts("a, b, c = "); puti(a); puts(", "); puti(b); puts(", "); puti(c); putln
puts(" 8 % 3 = "); puti(8%3); putln
puts(" 8 % -3 = "); puti(8%-3); putln
puts("-8 % 3 = "); puti(-8%3); putln
puts("-8 % -3 = "); puti(-8%-3); putln
end
def dummy(zz)#2

View File

@ -171,21 +171,20 @@ _DIV STY IPY
LDA #$00
STA TMPL ; REMNDRL
STA TMPH ; REMNDRH
LDA ESTKH,X
AND #$80
STA DVSIGN
BPL +
JSR _NEG
INC DVSIGN
+ LDA ESTKH+1,X
LDA ESTKH+1,X
BPL +
INX
JSR _NEG
DEX
INC DVSIGN
BNE _DIV1
+ ORA ESTKL+1,X ; DVDNDL
LDA #$81
STA DVSIGN
+ ORA ESTKL+1,X ; DVDNDL
BEQ _DIVEX
LDA ESTKH,X
BPL _DIV1
JSR _NEG
INC DVSIGN
_DIV1 ASL ESTKL+1,X ; DVDNDL
ROL ESTKH+1,X ; DVDNDH
DEY

View File

@ -489,21 +489,20 @@ _DIV STY IPY
LDA #$00
STA TMPL ; REMNDRL
STA TMPH ; REMNDRH
LDA ESTKH,X
AND #$80
STA DVSIGN
BPL +
JSR _NEG
INC DVSIGN
+ LDA ESTKH+1,X
LDA ESTKH+1,X
BPL +
INX
JSR _NEG
DEX
INC DVSIGN
BNE _DIV1
+ ORA ESTKL+1,X ; DVDNDL
LDA #$81
STA DVSIGN
+ ORA ESTKL+1,X ; DVDNDL
BEQ _DIVEX
LDA ESTKH,X
BPL _DIV1
JSR _NEG
INC DVSIGN
_DIV1 ASL ESTKL+1,X ; DVDNDL
ROL ESTKH+1,X ; DVDNDH
DEY

View File

@ -193,21 +193,20 @@ _DIV STY IPY
LDA #$00
STA TMPL ; REMNDRL
STA TMPH ; REMNDRH
LDA ESTKH,X
AND #$80
STA DVSIGN
BPL +
JSR _NEG
INC DVSIGN
+ LDA ESTKH+1,X
LDA ESTKH+1,X
BPL +
INX
JSR _NEG
DEX
INC DVSIGN
BNE _DIV1
+ ORA ESTKL+1,X ; DVDNDL
LDA #$81
STA DVSIGN
+ ORA ESTKL+1,X ; DVDNDL
BEQ _DIVEX
LDA ESTKH,X
BPL _DIV1
JSR _NEG
INC DVSIGN
_DIV1 ASL ESTKL+1,X ; DVDNDL
ROL ESTKH+1,X ; DVDNDH
DEY

View File

@ -543,19 +543,20 @@ _MULLP ASL
_DIV STY IPY
LDY #$11 ; #BITS+1
LDX #$00
LDA TOS+2,S ; WE JSR'ED HERE SO OFFSET ACCORDINGLY
LDA NOS+2,S ; WE JSR'ED HERE SO OFFSET ACCORDINGLY
BPL +
LDX #$81
EOR #$FFFF
INC
STA TOS+2,S
+ LDA NOS+2,S
+ STA TMP ; NOS,S
BEQ _DIVEX
LDA TOS+2,S
BPL +
INX
EOR #$FFFF
INC
+ STA TMP ; NOS,S
BEQ _DIVEX
STA TOS+2,S
+ LDA TMP
_DIV1 ASL ; DVDND
DEY
BCC _DIV1

View File

@ -171,21 +171,20 @@ _DIV STY IPY
LDA #$00
STA TMPL ; REMNDRL
STA TMPH ; REMNDRH
LDA ESTKH,X
AND #$80
STA DVSIGN
BPL +
JSR _NEG
INC DVSIGN
+ LDA ESTKH+1,X
LDA ESTKH+1,X
BPL +
INX
JSR _NEG
DEX
INC DVSIGN
BNE _DIV1
+ ORA ESTKL+1,X ; DVDNDL
LDA #$81
STA DVSIGN
+ ORA ESTKL+1,X ; DVDNDL
BEQ _DIVEX
LDA ESTKH,X
BPL _DIV1
JSR _NEG
INC DVSIGN
_DIV1 ASL ESTKL+1,X ; DVDNDL
ROL ESTKH+1,X ; DVDNDH
DEY