|
|
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: 4424 (0x1148)
Notes: pts_type(SC)
Names: »STROUT.SC«
└─⟦173d42e04⟧ Bits:30009663 Philips computer tape "600105"
└─⟦this⟧ »SCREEN/STROUT.SC«
IDENT STROUT REL=10.0,800314,870138041000 ******************************************************************** * * DISPLAY MANAGEMENT IN CREDIT * * RUNNING UNDER CREDIT 10.0 * TOSS 10.0 * ******************************************************************** * * STANDARD ROUTINE 'S T R O U T' * * OUTPUT TO A STRING FROM THE VARIABLE FIELDS OF A COMPLETE OR * A PART OF A DISPLAY FORMAT * * PARAMETERS: * <TYPE> BINARY ITEM HOLDING FIELD TYPE 0=FKI 1=FINP 2=F * <OUTPUT STRING> THE OUTPUT STRING * <OUTPUT START> BINARY ITEM HOLDING START POSITION IN OUTPUT ST * FIRST POSITION COUNT 0 * AT RETURN <OUTPUT START> POINTS WHERE MOVE WAS * <UNIT SEPARATOR> STRING THAT HOLDS A CHARACTER WHICH SEPARATES E * FIELD IN THE OUTPUT STRING * <INDEX1> BINARY ITEM HOLDING THE FIRST VARIABLE FIELD IN * MUST NOT BE 0 * AT RETURN <INDEX1> HOLDS THE FIELD INDEX TO * THE LAST MOVED FIELD * <INDEX2> BINARY ITEM HOLDING THE LAST VARIABLE FIELD IND * MUST NOT BE 0 * <RETURN CODE> BINARY ITEM HOLDING RETURN CODE FROM STROUT * 0=OK 3=ERROR ***************************************************************** DDUM SPDDIV PDIV ENTRY STROUT OUTPUT FROM FORMAT TO STRING * EXT STROU1 MOVE TO OUTPUT STRING * * DESCRIPTION OF ROUTINE STROU1* ************************************************************ * * ROUTINE FOR TRANSFER OF DATA FROM THE CURRENT FIELD INDICATED IN * FCB TO A OUTPUT STRING * * CALLED FORM CREDIT STANDARD MODULE 'S T R O U T' * * A CHECK THAT OUTPUT STRING IS LARGE ENOUGH IS PERFORMED FIRST. * MOVE ROUTINE T:DUPX USED BY T:DUPL FUNCTION IS USED, NOT NEEDED * BYTES IN OUTPUT STRING ARE FILLED WITH X'00' * THE UNIT SEPARATOR IS PLACED IN THE FIRST POSITION AFTER CURRENT * FIELD IN OUTPUT STRING. * * CALL STROU1,<OUTPUT STRING>,<OUTPUT START>,<UNIT SEPARATOR> * WHERE * <OUTPUT STRING> STRING TO HOLD OUTPUT * <OUTPUT START> BINARY ITEM WITH START POSITION WITHIN * <OUTPUT STRING> FIRST POSITION COUNT 0 * AT RETURN OUTPUT START POINTS WHERE MOVE ENDED * <UNIT SEPARATOR> STRING TO HOLD A CHARACTER THAT SEPARATES * THE FIELDS IN <OUTPUT STRING> * ************************************************************ EJECT * STROUT PROC TYPE,OUTSTR,OUTSTA,OUTUS,INDEX1,INDEX2,RETCOD PBIN TYPE,OUTSTA,INDEX1,INDEX2,RETCOD PSTRG OUTSTR,OUTUS * CBL INDEX2,INDEX1,SOUERR SOU010 IB TYPE,SOU100,SOU200 GETFLD 0,INDEX1,RETCOD ONLY FKI FIELDS B SOU300 SOU100 GETFLD 1,INDEX1,RETCOD ONLY FINP FIELDS B SOU300 SOU200 GETFLD 2,INDEX1,RETCOD BOTH FKI AND FINP FIELDS SOU300 BZ SOU350 FIELD FOUND BOFL SOU350 FIELD FOUND BUT EMPTY COMPULSORY FIELD EARLIER SOUERR MOVE RETCOD,=W'3' RETURN ERROR CODE 3 B SOURET EJECT * * PERFORM MOVE TO OUTPUT STRING FROM CURRENT VARIABLE FIELD * SOU350 CALL STROU1,OUTSTR,OUTSTA,OUTUS BNZ SOUERR MOVE NOT OK CBNL INDEX1,INDEX2,SOU400 ADD INDEX1,=W'1' SWITCH B SOU010 SOU400 MOVE RETCOD,=W'0' SOURET RET PEND END
0x0000…0032 (0, 0, 400) Head {h00=0x002e, h01=0x0050, text=» IDENT STROUT REL=10.0,800314,870138041000«, t00=0x0000, t01=0x0004}
0x0032…007e Head {h00=0x0048, h01=0x0050, text=»********************************************************************«, t00=0x0000, t01=0x0036}
0x007e…0088 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0082}
0x0088…00b2 Head {h00=0x0026, h01=0x0050, text=»* DISPLAY MANAGEMENT IN CREDIT «, t00=0x0000, t01=0x008c}
0x00b2…00bc Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x00b6}
0x00bc…00e2 Head {h00=0x0022, h01=0x0050, text=»* RUNNING UNDER CREDIT 10.0«, t00=0x0000, t01=0x00c0}
0x00e2…0106 Head {h00=0x0020, h01=0x0050, text=»* TOSS 10.0«, t00=0x0000, t01=0x00e6}
0x0106…0110 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x010a}
0x0110…015c Head {h00=0x0048, h01=0x0050, text=»********************************************************************«, t00=0x0000, t01=0x0114}
0x015c…0166 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0160}
0x0166…0190 Head {h00=0x0026, h01=0x0050, text=»* STANDARD ROUTINE 'S T R O U T'«, t00=0x0000, t01=0x016a}
0x0190…019a (1, 0, 400) Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0004}
0x019a…01e2 Head {h00=0x0044, h01=0x0050, text=»* OUTPUT TO A STRING FROM THE VARIABLE FIELDS OF A COMPLETE OR«, t00=0x0001, t01=0x000e}
0x01e2…0208 Head {h00=0x0022, h01=0x0050, text=»* A PART OF A DISPLAY FORMAT«, t00=0x0001, t01=0x0056}
0x0208…0212 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x007c}
0x0212…022a Head {h00=0x0014, h01=0x0050, text=»* PARAMETERS: «, t00=0x0001, t01=0x0086}
0x022a…027a Head {h00=0x004c, h01=0x0050, text=»* <TYPE> BINARY ITEM HOLDING FIELD TYPE 0=FKI 1=FINP 2=F«, t00=0x0001, t01=0x009e}
0x027a…02ac Head {h00=0x002e, h01=0x0050, text=»* <OUTPUT STRING> THE OUTPUT STRING«, t00=0x0001, t01=0x00ee}
0x02ac…02fc Head {h00=0x004c, h01=0x0050, text=»* <OUTPUT START> BINARY ITEM HOLDING START POSITION IN OUTPUT ST«, t00=0x0001, t01=0x0120}
0x02fc…0334 Head {h00=0x0034, h01=0x0050, text=»* FIRST POSITION COUNT 0 «, t00=0x0001, t01=0x0170}
0x0334…0384 Head {h00=0x004c, h01=0x0050, text=»* AT RETURN <OUTPUT START> POINTS WHERE MOVE WAS «, t00=0x0002, t01=0x0018}
0x0384…03d4 Head {h00=0x004c, h01=0x0050, text=»* <UNIT SEPARATOR> STRING THAT HOLDS A CHARACTER WHICH SEPARATES E«, t00=0x0002, t01=0x0068}
0x03d4…0410 Head {h00=0x0038, h01=0x0050, text=»* FIELD IN THE OUTPUT STRING «, t00=0x0002, t01=0x00b8}
0x0410…0460 Head {h00=0x004c, h01=0x0050, text=»* <INDEX1> BINARY ITEM HOLDING THE FIRST VARIABLE FIELD IN«, t00=0x0002, t01=0x00f4}
0x0460…048e Head {h00=0x002a, h01=0x0050, text=»* MUST NOT BE 0«, t00=0x0002, t01=0x0144}
0x048e…04da Head {h00=0x0048, h01=0x0050, text=»* AT RETURN <INDEX1> HOLDS THE FIELD INDEX TO«, t00=0x0002, t01=0x0172}
0x04da…0510 Head {h00=0x0032, h01=0x0050, text=»* THE LAST MOVED FIELD «, t00=0x0003, t01=0x002e}
0x0510…0560 Head {h00=0x004c, h01=0x0050, text=»* <INDEX2> BINARY ITEM HOLDING THE LAST VARIABLE FIELD IND«, t00=0x0003, t01=0x0064}
0x0560…058e Head {h00=0x002a, h01=0x0050, text=»* MUST NOT BE 0«, t00=0x0003, t01=0x00b4}
0x058e…05da Head {h00=0x0048, h01=0x0050, text=»* <RETURN CODE> BINARY ITEM HOLDING RETURN CODE FROM STROUT«, t00=0x0003, t01=0x00e2}
0x05da…0608 Head {h00=0x002a, h01=0x0050, text=»* 0=OK 3=ERROR «, t00=0x0003, t01=0x012e}
0x0608…0652 Head {h00=0x0046, h01=0x0050, text=»***************************************************************** «, t00=0x0003, t01=0x015c}
0x0652…0666 Head {h00=0x0010, h01=0x0050, text=» DDUM SPDDIV«, t00=0x0004, t01=0x0016}
0x0666…0674 Head {h00=0x000a, h01=0x0050, text=» PDIV «, t00=0x0004, t01=0x002a}
0x0674…06a6 Head {h00=0x002e, h01=0x0050, text=» ENTRY STROUT OUTPUT FROM FORMAT TO STRING«, t00=0x0004, t01=0x0038}
0x06a6…06b0 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x006a}
0x06b0…06da Head {h00=0x0026, h01=0x0050, text=» EXT STROU1 MOVE TO OUTPUT STRING «, t00=0x0004, t01=0x0074}
0x06da…06e4 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x009e}
0x06e4…070e Head {h00=0x0026, h01=0x0050, text=»* DESCRIPTION OF ROUTINE STROU1*«, t00=0x0004, t01=0x00a8}
0x070e…0752 Head {h00=0x0040, h01=0x0050, text=»************************************************************«, t00=0x0004, t01=0x00d2}
0x0752…075c Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x0116}
0x075c…07a8 Head {h00=0x0048, h01=0x0050, text=»* ROUTINE FOR TRANSFER OF DATA FROM THE CURRENT FIELD INDICATED IN«, t00=0x0004, t01=0x0120}
0x07a8…07ca Head {h00=0x001e, h01=0x0050, text=»* FCB TO A OUTPUT STRING«, t00=0x0004, t01=0x016c}
0x07ca…07d4 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x018e}
0x07d4…0810 Head {h00=0x0038, h01=0x0050, text=»* CALLED FORM CREDIT STANDARD MODULE 'S T R O U T'«, t00=0x0005, t01=0x0008}
0x0810…081a Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0044}
0x081a…0864 Head {h00=0x0046, h01=0x0050, text=»* A CHECK THAT OUTPUT STRING IS LARGE ENOUGH IS PERFORMED FIRST.«, t00=0x0005, t01=0x004e}
0x0864…08b0 Head {h00=0x0048, h01=0x0050, text=»* MOVE ROUTINE T:DUPX USED BY T:DUPL FUNCTION IS USED, NOT NEEDED «, t00=0x0005, t01=0x0098}
0x08b0…08e8 Head {h00=0x0034, h01=0x0050, text=»* BYTES IN OUTPUT STRING ARE FILLED WITH X'00'«, t00=0x0005, t01=0x00e4}
0x08e8…0934 Head {h00=0x0048, h01=0x0050, text=»* THE UNIT SEPARATOR IS PLACED IN THE FIRST POSITION AFTER CURRENT«, t00=0x0005, t01=0x011c}
0x0934…0958 Head {h00=0x0020, h01=0x0050, text=»* FIELD IN OUTPUT STRING. «, t00=0x0005, t01=0x0168}
0x0958…0962 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x018c}
0x0962…09aa Head {h00=0x0044, h01=0x0050, text=»* CALL STROU1,<OUTPUT STRING>,<OUTPUT START>,<UNIT SEPARATOR> «, t00=0x0006, t01=0x0008}
0x09aa…09bc Head {h00=0x000e, h01=0x0050, text=»* WHERE «, t00=0x0006, t01=0x0050}
0x09bc…09f0 Head {h00=0x0030, h01=0x0050, text=»* <OUTPUT STRING> STRING TO HOLD OUTPUT«, t00=0x0006, t01=0x0062}
0x09f0…0a36 Head {h00=0x0042, h01=0x0050, text=»* <OUTPUT START> BINARY ITEM WITH START POSITION WITHIN «, t00=0x0006, t01=0x0096}
0x0a36…0a7c Head {h00=0x0042, h01=0x0050, text=»* <OUTPUT STRING> FIRST POSITION COUNT 0 «, t00=0x0006, t01=0x00dc}
0x0a7c…0aca Head {h00=0x004a, h01=0x0050, text=»* AT RETURN OUTPUT START POINTS WHERE MOVE ENDED «, t00=0x0006, t01=0x0122}
0x0aca…0b12 Head {h00=0x0044, h01=0x0050, text=»* <UNIT SEPARATOR> STRING TO HOLD A CHARACTER THAT SEPARATES«, t00=0x0006, t01=0x0170}
0x0b12…0b4e Head {h00=0x0038, h01=0x0050, text=»* THE FIELDS IN <OUTPUT STRING>«, t00=0x0007, t01=0x0028}
0x0b4e…0b58 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0007, t01=0x0064}
0x0b58…0b9c Head {h00=0x0040, h01=0x0050, text=»************************************************************«, t00=0x0007, t01=0x006e}
0x0b9c…0baa Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0007, t01=0x00b2}
0x0baa…0bb4 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0007, t01=0x00c0}
0x0bb4…0bf6 Head {h00=0x003e, h01=0x0050, text=»STROUT PROC TYPE,OUTSTR,OUTSTA,OUTUS,INDEX1,INDEX2,RETCOD «, t00=0x0007, t01=0x00ca}
0x0bf6…0c24 Head {h00=0x002a, h01=0x0050, text=» PBIN TYPE,OUTSTA,INDEX1,INDEX2,RETCOD«, t00=0x0007, t01=0x010c}
0x0c24…0c40 Head {h00=0x0018, h01=0x0050, text=» PSTRG OUTSTR,OUTUS «, t00=0x0007, t01=0x013a}
0x0c40…0c4a Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0007, t01=0x0156}
0x0c4a…0c6c Head {h00=0x001e, h01=0x0050, text=» CBL INDEX2,INDEX1,SOUERR «, t00=0x0007, t01=0x0160}
0x0c6c…0c7a Head {h00=0x000a, h01=0x0050, text=»SOU010«, t00=0x0007, t01=0x0182}
0x0c7a…0c98 Head {h00=0x001a, h01=0x0050, text=» IB TYPE,SOU100,SOU200«, t00=0x0007, t01=0x0190}
0x0c98…0cc8 Head {h00=0x002c, h01=0x0050, text=» GETFLD 0,INDEX1,RETCOD ONLY FKI FIELDS «, t00=0x0008, t01=0x001e}
0x0cc8…0cda Head {h00=0x000e, h01=0x0050, text=» B SOU300 «, t00=0x0008, t01=0x004e}
0x0cda…0ce8 Head {h00=0x000a, h01=0x0050, text=»SOU100«, t00=0x0008, t01=0x0060}
0x0ce8…0d18 Head {h00=0x002c, h01=0x0050, text=» GETFLD 1,INDEX1,RETCOD ONLY FINP FIELDS«, t00=0x0008, t01=0x006e}
0x0d18…0d2a Head {h00=0x000e, h01=0x0050, text=» B SOU300 «, t00=0x0008, t01=0x009e}
0x0d2a…0d38 Head {h00=0x000a, h01=0x0050, text=»SOU200«, t00=0x0008, t01=0x00b0}
0x0d38…0d70 Head {h00=0x0034, h01=0x0050, text=» GETFLD 2,INDEX1,RETCOD BOTH FKI AND FINP FIELDS«, t00=0x0008, t01=0x00be}
0x0d70…0d7e Head {h00=0x000a, h01=0x0050, text=»SOU300«, t00=0x0008, t01=0x00f6}
0x0d7e…0d9c Head {h00=0x001a, h01=0x0050, text=» BZ SOU350 FIELD FOUND«, t00=0x0008, t01=0x0104}
0x0d9c…0dc6 Head {h00=0x0026, h01=0x0050, text=» BOFL SOU350 FIELD FOUND BUT EMPTY«, t00=0x0008, t01=0x0122}
0x0dc6…0dea Head {h00=0x0020, h01=0x0050, text=» COMPULSORY FIELD EARLIER «, t00=0x0008, t01=0x014c}
0x0dea…0df8 Head {h00=0x000a, h01=0x0050, text=»SOUERR«, t00=0x0008, t01=0x0170}
0x0df8…0e26 Head {h00=0x002a, h01=0x0050, text=» MOVE RETCOD,=W'3' RETURN ERROR CODE 3«, t00=0x0008, t01=0x017e}
0x0e26…0e38 Head {h00=0x000e, h01=0x0050, text=» B SOURET «, t00=0x0009, t01=0x001c}
0x0e38…0e46 Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0009, t01=0x002e}
0x0e46…0e50 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x003c}
0x0e50…0e96 Head {h00=0x0042, h01=0x0050, text=»* PERFORM MOVE TO OUTPUT STRING FROM CURRENT VARIABLE FIELD «, t00=0x0009, t01=0x0046}
0x0e96…0ea0 Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0009, t01=0x008c}
0x0ea0…0eae Head {h00=0x000a, h01=0x0050, text=»SOU350«, t00=0x0009, t01=0x0096}
0x0eae…0ed6 Head {h00=0x0024, h01=0x0050, text=» CALL STROU1,OUTSTR,OUTSTA,OUTUS«, t00=0x0009, t01=0x00a4}
0x0ed6…0ef6 Head {h00=0x001c, h01=0x0050, text=» BNZ SOUERR MOVE NOT OK «, t00=0x0009, t01=0x00cc}
0x0ef6…0f18 Head {h00=0x001e, h01=0x0050, text=» CBNL INDEX1,INDEX2,SOU400«, t00=0x0009, t01=0x00ec}
0x0f18…0f32 Head {h00=0x0016, h01=0x0050, text=» ADD INDEX1,=W'1' «, t00=0x0009, t01=0x010e}
0x0f32…0f42 Head {h00=0x000c, h01=0x0050, text=» SWITCH «, t00=0x0009, t01=0x0128}
0x0f42…0f54 Head {h00=0x000e, h01=0x0050, text=» B SOU010 «, t00=0x0009, t01=0x0138}
0x0f54…0f62 Head {h00=0x000a, h01=0x0050, text=»SOU400«, t00=0x0009, t01=0x014a}
0x0f62…0f7c Head {h00=0x0016, h01=0x0050, text=» MOVE RETCOD,=W'0'«, t00=0x0009, t01=0x0158}
0x0f7c…0f8e Head {h00=0x000e, h01=0x0050, text=»SOURET RET«, t00=0x0009, t01=0x0172}
0x0f8e…0f9c Head {h00=0x000a, h01=0x0050, text=» PEND «, t00=0x0009, t01=0x0184}
0x0f9c…0fa8 (10, 2, 20) Head {h00=0x0008, h01=0x0050, text=» END«, t00=0x000a, t01=0x0004}
0x0fa8…0fac Head {h00=0x4004, h01=0x0000}
0x0fac…0fb0 00 0a 00 10 ┆ ┆
0x0fb0…0fb8 (11, 1, 8) 20 04 00 00 00 0b 00 04 ┆ ┆
0x0fb8…1008 (12, 0, 400) 00 26 00 50 2a 5c 44 49 53 50 4c 41 59 20 42 55 46 46 45 52 2e 20 4d 4f 56 49 4e 47 20 49 53 20 45 4e 44 45 44 20 00 1c 00 04 00 1c 00 50 2a 5c 57 48 45 4e 20 58 27 30 30 27 20 49 53 20 44 45 54 45 43 54 45 44 00 1c 00 2e 00 2c 00 50 2a 5c ┆ & P* DISPLAY BUFFER. MOVING IS ENDED P* WHEN X'00' IS DETECTED . , P* ┆
0x1008…1058 4f 55 54 50 55 54 3a 20 41 31 3d 4e 55 4d 42 45 52 20 4f 46 20 4d 4f 56 45 44 20 43 48 41 52 41 43 54 45 52 53 20 00 1c 00 4e 00 06 00 50 2a 20 00 1c 00 7e 00 10 00 50 4d 4f 56 4f 55 54 5c 45 51 55 5c 2a 00 1c 00 88 00 1c 00 50 5c 4c 44 4b ┆OUTPUT: A1=NUMBER OF MOVED CHARACTERS N P* ~ PMOVOUT EQU * P LDK┆
0x1058…10a8 5c 41 31 2c 30 5c 43 4c 45 41 52 20 43 4f 55 4e 54 45 52 20 00 1c 00 9c 00 16 00 50 5c 4c 44 5c 41 32 2c 46 43 42 44 59 2c 42 46 43 42 20 00 1c 00 bc 00 14 00 50 5c 4c 44 5c 41 32 2c 45 43 42 42 41 2c 41 32 20 00 1c 00 d6 00 26 00 50 5c 41 ┆ A1,0 CLEAR COUNTER P LD A2,FCBDY,BFCB P LD A2,ECBBA,A2 & P A┆
0x10a8…10f8 44 4b 5c 41 32 2c 32 5c 47 45 54 20 44 49 53 50 4c 41 59 20 42 55 46 46 45 52 20 53 54 41 52 54 00 1c 00 ee 00 2c 00 50 5c 4c 44 5c 41 33 2c 42 55 46 46 53 54 2c 42 46 43 42 5c 47 45 54 20 55 53 45 52 20 42 55 46 46 45 52 20 53 54 41 52 54 ┆DK A2,2 GET DISPLAY BUFFER START , P LD A3,BUFFST,BFCB GET USER BUFFER START┆
0x10f8…1148 00 1c 01 18 00 2c 00 50 5c 41 44 5c 41 33 2c 52 45 4c 50 4f 53 2c 42 46 43 42 5c 47 45 54 20 43 55 52 52 45 4e 54 20 50 4f 53 49 54 49 4f 4e 20 00 1c 01 48 00 10 00 50 4d 4f 56 31 30 30 5c 45 51 55 5c 2a 00 1c 01 78 00 28 00 50 5c 4c 43 52 ┆ , P AD A3,RELPOS,BFCB GET CURRENT POSITION H PMOV100 EQU * x ( P LCR┆