diff --git a/src/vmsrc/cmd.pla b/src/vmsrc/cmd.pla index 5315023..e04a223 100755 --- a/src/vmsrc/cmd.pla +++ b/src/vmsrc/cmd.pla @@ -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