mirror of
https://github.com/dschmenk/PLASMA.git
synced 2025-03-30 23:31:27 +00:00
divmod returning values in right order
This commit is contained in:
parent
c3feb152ba
commit
3651cb6373
@ -515,28 +515,29 @@ asm uword_islt(a,b)#1
|
||||
RTS
|
||||
end
|
||||
asm divmod(a,b)#2
|
||||
LDA #>(_divmod-1)
|
||||
PHA
|
||||
LDA #<(_divmod-1)
|
||||
PHA
|
||||
JSR $03D0 ; CALL DINTERP
|
||||
!BYTE $0A, $5C ; MOD, RET
|
||||
_divmod DEX
|
||||
LDA DSTL ; DVDNDL
|
||||
JSR _divmod
|
||||
DEX
|
||||
LDA ESTKL+1,X
|
||||
STA ESTKL,X
|
||||
LDA DSTH ; DVDNDH
|
||||
LDA ESTKH+1,X
|
||||
STA ESTKH,X
|
||||
LDA DSTL ; DVDNDL
|
||||
STA ESTKL+1,X
|
||||
LDA DSTH ; DVDNDH
|
||||
STA ESTKH+1,X
|
||||
LSR DVSIGN ; SIGN(RESULT) = (SIGN(DIVIDEND) + SIGN(DIVISOR)) & 1
|
||||
BCS +
|
||||
RTS
|
||||
+ LDA #$00
|
||||
; SEC
|
||||
SBC ESTKL,X
|
||||
STA ESTKL,X
|
||||
SBC ESTKL+1,X
|
||||
STA ESTKL+1,X
|
||||
LDA #$00
|
||||
SBC ESTKH,X
|
||||
STA ESTKH,X
|
||||
SBC ESTKH+1,X
|
||||
STA ESTKH+1,X
|
||||
RTS
|
||||
_divmod JSR $03D0 ; CALL DINTERP
|
||||
!BYTE $0A, $5C ; MOD, RET
|
||||
end
|
||||
asm sext(a)#1
|
||||
LDY #$00
|
||||
|
Loading…
x
Reference in New Issue
Block a user