|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4768 (0x12a0)
Notes: pts_type(SC)
Names: »MPYMOD.SC«
└─⟦245262b9f⟧ Bits:30009679 Philips computer tape "600220"
└─⟦this⟧ »M:92NA/MPYMOD.SC«
└─⟦this⟧ »M:92SP/MPYMOD.SC«
└─⟦38a30a456⟧ Bits:30009662 Philips computer tape "600104"
└─⟦this⟧ »M:92OD/MPYMOD.SC«
└─⟦3a2bec7de⟧ Bits:30009687 Philips computer tape "600313"
└─⟦this⟧ »M:821/MPYMOD.SC«
└─⟦470bcbfc6⟧ Bits:30009709 Philips computer tape "M_92LP"
└─⟦this⟧ »M:92LP/MPYMOD.SC«
└─⟦6349b94c6⟧ Bits:30009684 Philips computer tape "600308"
└─⟦this⟧ »M:92D1/MPYMOD.SC«
└─⟦726a6c4ca⟧ Bits:30009685 Philips computer tape "600309"
└─⟦this⟧ »M:92D2/MPYMOD.SC«
└─⟦9ad21746d⟧ Bits:30009682 Philips computer tape "600304"
└─⟦this⟧ »M:92NA/MPYMOD.SC«
└─⟦9af60a727⟧ Bits:30009707 Philips computer tape "M_173"
└─⟦this⟧ »M:173/MPYMOD.SC«
└─⟦this⟧ »M:173/MPYMOD.SC«
└─⟦a25d6defe⟧ Bits:30009676 Philips computer tape "600210"
└─⟦this⟧ »M:92NA/MPYMOD.SC«
└─⟦this⟧ »M:92SP/MPYMOD.SC«
└─⟦dab19bdd7⟧ Bits:30009677 Philips computer tape "600218"
└─⟦this⟧ »M:261/MPYMOD.SC«
IDENT MPYMOD REL 9.2 79-11-16 870105040920
* =1 RETURN CONDITIONS
*
****************************************************
*
* PHILIPS TERMINAL SYSTEM PTS
*
* TOSS DATA MANAGEMENT
*
*
*
****************************************************
* THIS ROUTINE EXECUTES THE MULTIPLY INSTRUCTION ON THE ALPLA COMPUTER
* CALLING SEQUENCE:
* LD A6,ARG1
* LD A7,ARG1
* CF A14,MPYMOD
* RETURN : RESULT IN A1,A2
* REGISTERS A3,A4,A6,A7, ARE CRUSHED
ENTRY MPYMOD
*
*
*****************************************
*
* CONDITIONAL ASSEMBLY
*
*****************************************
*
* A PROGRAM VERSION USING THE EXTENDED INSTRUCTION
* SET IS OBTAINED BY SETTING CPU852 EQU 0.
*
CPU852 EQU 0
*
EJECT
MPYMOD EQU *
IFF CPU852=1
LDK A3,0 =1
LDR A2,A7
MUR A6
XIF
IFT CPU852=1
LDK.L A3,/8000 IF A6=A7=/8000 RETURN IN ERROR EXIT
CWR A3,A6
RF(4) SUITE
CWR A3,A7
RF(0) END3
LDR A6,A7 * A6= X'8000' A7# X'8000'
LDR A7,A3 * EXCHANGE A6-A7
SUITE LDK A1,0 *INITIALISE
LDK A2,0
LDK A3,0
LDK A4,15
ADK A6,0
RF(0) END0
RF(6) ARG1PS
ADK A3,1 *ARG1 NEGATIVE
C1R A6,A6
ADK A6,1
ARG1PS ADK A7,0
RF(0) END0
RF(6) ARG2PS
SUK A3,1 *ARG2 NEGATIVE
C1R A7,A7
ADK A7,1
RF(3) CASSPE
ARG2PS SRC A7,1
RF(6) NOVER1
ADR A1,A6
NOVER1 SRA A2,1
SRC A1,1
RF(6) NOVER2
ORK.L A2,/4000
ANK.L A1,/7FFF
NOVER2 SUK A4,1
RB(4) ARG2PS
NOVER3 ADK A3,0 *END* RESTORE SI=N
RF(0) END1
C1R A1,A1
C1R A2,A2
ADK A2,1
*CAUTION THE NEXT INSTRUCTION IS ABSOLUTELY NECESSARY TO SET CR
* WHEN THE ADK A2,1 SET AN OVERFLOW CR EX (RESULT=8000)
ADK A2,0
RF(2) NOVER4
ADK A1,1
NOVER4 ANK.L A2,/7FFF
RF(7) END2
XIF =1
IFT CPU852=0 6813 =1
RF(0) END0 =1
RF(1) END1 =1
RF(2) END2 =1
XIF =1
END3 ADK A3,/81
END2 ADK A3,/81
END1 ADK A3,/81
END0 SLL A3,1
ANK.L A3,/0300
LDK.L A4,/FCFF
AN.S A4,2,A14
OR.S A3,2,A14 UPDATE CR IN PSW CALLING PROGRAM
* =1
RTN A14
IFT CPU852=1
CASSPE LDR A1,A6 *A7=X'8000' THEN A4= 1
* *AND A1= A6
RB(7) NOVER3
XIF
END