.TITLE DMOD REMAINDERING FOR DOUBLE ARGUMENTS ARG1( MOD ARG2) /COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. .GLOBL DMOD,.DA,.AO,.AS,.AT,.AU,.AV,.AW,.AX / CALLING SEQUENCE / JMS* (DMOD) SUBR CALL / JMP .+3 SUBR RETURN / CAL/XCTADDR ADDR OF ARG 1 / CAL/XCTADDR ADDR OF ARG 2 (XCT IF INDIRECT) / DMOD CAL 0 /ENTRY-EXIT JMS* .DA /GET ARGUMENT (.DA) JMP DMOD03 DMOD01 CAL 0 /ARG1 DMOD02 CAL 0 /ARG2 DMOD03 JMS* .AO /LOAD DOUBLE (.AO) .DSA DMOD01+400000 / (ARG1) JMS* .AT /DIVIDE DOUBLE (.AT) .DSA DMOD02+400000 / (ARG1/ARG2) JMS* .AX /FIX TO INTEGER (.AX) JMS* .AW /FLOAT TO ACC (.AW) JMS* .AS .DSA DMOD02+400000 JMS* .AU /REVERSE SUBTRACT DOUBLE .DSA DMOD01+400000 JMP* DMOD /EXIT .END