DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦518fb8bb6⟧

    Length: 1368 (0x558)
    Notes: pts_type(SC)
    Names: »FINDLN.SC«

Derivation

└─⟦35fda6e03⟧ Bits:30009701 Philips computer tape "BARCLAY"
    └─⟦this⟧ »BARCLAY/FINDLN.SC« 
    └─⟦this⟧ »BARCLAY/FINDLN.SC« 
└─⟦e276fd206⟧ Bits:30009696 Philips computer tape "600413"
    └─⟦this⟧ »BARCLAY/FINDLN.SC« 

PTS(SC)

 IDENT FINDLN 80.11.03 NJ 
 DDUM NJDDIV
 PDIV 
 ENTRY FINDLN 
 EXPROC PUSH,PBIN 
 EXPROC PULL,PBIN 
* 
* 
 INCLUDE EQUATE 
* 
* 
 EJECT
FINDLN PROC BUF,PT,LEN
 PSTRG BUF
 PBIN PT,LEN
* 
* THE PROCEDURE FINDS THE LENGTH OF THE ACTUAL FIELD. 
* DELIMITERS ARE ETX AND ESC
* TP1 IS UPDATED WITH THE LENGTH OF THE FIELD.
* 
* PREREQUISITS
*   PT - POINTING AT THE BYTE WHERE TO COUNT FROM 
* 
* TP1 MUST CONTAIN A STARTINGVALUE
* TYPICAL 0 (IF YOU POINT AT THE DATA AND WANT
*           TO KNOW THE LENGTH OF THE FIELD 
*    OR   1 (IF YOU POINT JUST AFTER THE <ESC>
*    OR   4 (IF YOU POINT AT THE DATA AND WANT THE
*           LENGTH OF THE COMPLETE FIELD DESCR. ) 
* 
 PERF PUSH,CBIN2
 MOVE TBIN2,LEN HOW MANY BYTES TO SCAN ?
 MOVE TBIN1,PT
FIN010
 XCOPY TSTR1,CBIN0,CBIN1,BUF,TBIN1
 CBE TSTR1,ETX,FIN090 
 CBE TSTR1,ESC,FIN090 
 ADD TP1,CBIN1 INCREMENT LENGTH 
 ADD TBIN1,CBIN1
 SUB TBIN2,CBIN1
 BP FIN010 CONTINUE UNTIL DELIMITER FOUND 
			OR LENGTH REACHED
FIN090			LENGTH FOUND (TP1) 
 PERF PULL,CBIN2
 RET
 PEND 
 END

HexDump

0x000…022 (0, 0, 400) Head {h00=0x001e, h01=0x0050, text=» IDENT FINDLN 80.11.03 NJ «, t00=0x0000, t01=0x0004}
0x022…036             Head {h00=0x0010, h01=0x0050, text=» DDUM NJDDIV«, t00=0x0000, t01=0x0026}
0x036…044             Head {h00=0x000a, h01=0x0050, text=» PDIV «, t00=0x0000, t01=0x003a}
0x044…05a             Head {h00=0x0012, h01=0x0050, text=» ENTRY FINDLN «, t00=0x0000, t01=0x0048}
0x05a…074             Head {h00=0x0016, h01=0x0050, text=» EXPROC PUSH,PBIN «, t00=0x0000, t01=0x005e}
0x074…08e             Head {h00=0x0016, h01=0x0050, text=» EXPROC PULL,PBIN «, t00=0x0000, t01=0x0078}
0x08e…098             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0092}
0x098…0a2             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x009c}
0x0a2…0ba             Head {h00=0x0014, h01=0x0050, text=» INCLUDE EQUATE «, t00=0x0000, t01=0x00a6}
0x0ba…0c4             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x00be}
0x0c4…0ce             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x00c8}
0x0ce…0dc             Head {h00=0x000a, h01=0x0050, text=» EJECT«, t00=0x0000, t01=0x00d2}
0x0dc…0fa             Head {h00=0x001a, h01=0x0050, text=»FINDLN PROC BUF,PT,LEN«, t00=0x0000, t01=0x00e0}
0x0fa…10c             Head {h00=0x000e, h01=0x0050, text=» PSTRG BUF«, t00=0x0000, t01=0x00fe}
0x10c…120             Head {h00=0x0010, h01=0x0050, text=» PBIN PT,LEN«, t00=0x0000, t01=0x0110}
0x120…12a             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0124}
0x12a…168             Head {h00=0x003a, h01=0x0050, text=»* THE PROCEDURE FINDS THE LENGTH OF THE ACTUAL FIELD. «, t00=0x0000, t01=0x012e}
0x168…18c             Head {h00=0x0020, h01=0x0050, text=»* DELIMITERS ARE ETX AND ESC«, t00=0x0000, t01=0x016c}
0x18c…1c2             Head {h00=0x0032, h01=0x0050, text=»* TP1 IS UPDATED WITH THE LENGTH OF THE FIELD.«, t00=0x0000, t01=0x0190}
0x1c2…1cc             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0036}
0x1cc…1e2             Head {h00=0x0012, h01=0x0050, text=»* PREREQUISITS«, t00=0x0001, t01=0x0040}
0x1e2…21c             Head {h00=0x0036, h01=0x0050, text=»*   PT - POINTING AT THE BYTE WHERE TO COUNT FROM «, t00=0x0001, t01=0x0056}
0x21c…226             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0090}
0x226…250             Head {h00=0x0026, h01=0x0050, text=»* TP1 MUST CONTAIN A STARTINGVALUE«, t00=0x0001, t01=0x009a}
0x250…286             Head {h00=0x0032, h01=0x0050, text=»* TYPICAL 0 (IF YOU POINT AT THE DATA AND WANT«, t00=0x0001, t01=0x00c4}
0x286…2ba             Head {h00=0x0030, h01=0x0050, text=»*           TO KNOW THE LENGTH OF THE FIELD «, t00=0x0001, t01=0x00fa}
0x2ba…2f0             Head {h00=0x0032, h01=0x0050, text=»*    OR   1 (IF YOU POINT JUST AFTER THE <ESC>«, t00=0x0001, t01=0x012e}
0x2f0…32a             Head {h00=0x0036, h01=0x0050, text=»*    OR   4 (IF YOU POINT AT THE DATA AND WANT THE«, t00=0x0001, t01=0x0164}
0x32a…364             Head {h00=0x0036, h01=0x0050, text=»*           LENGTH OF THE COMPLETE FIELD DESCR. ) «, t00=0x0002, t01=0x000e}
0x364…36e             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0048}
0x36e…386             Head {h00=0x0014, h01=0x0050, text=» PERF PUSH,CBIN2«, t00=0x0002, t01=0x0052}
0x386…3b6             Head {h00=0x002c, h01=0x0050, text=» MOVE TBIN2,LEN HOW MANY BYTES TO SCAN ?«, t00=0x0002, t01=0x006a}
0x3b6…3cc             Head {h00=0x0012, h01=0x0050, text=» MOVE TBIN1,PT«, t00=0x0002, t01=0x009a}
0x3cc…3da             Head {h00=0x000a, h01=0x0050, text=»FIN010«, t00=0x0002, t01=0x00b0}
0x3da…404             Head {h00=0x0026, h01=0x0050, text=» XCOPY TSTR1,CBIN0,CBIN1,BUF,TBIN1«, t00=0x0002, t01=0x00be}
0x404…422             Head {h00=0x001a, h01=0x0050, text=» CBE TSTR1,ETX,FIN090 «, t00=0x0002, t01=0x00e8}
0x422…440             Head {h00=0x001a, h01=0x0050, text=» CBE TSTR1,ESC,FIN090 «, t00=0x0002, t01=0x0106}
0x440…468             Head {h00=0x0024, h01=0x0050, text=» ADD TP1,CBIN1 INCREMENT LENGTH «, t00=0x0002, t01=0x0124}
0x468…480             Head {h00=0x0014, h01=0x0050, text=» ADD TBIN1,CBIN1«, t00=0x0002, t01=0x014c}
0x480…498             Head {h00=0x0014, h01=0x0050, text=» SUB TBIN2,CBIN1«, t00=0x0002, t01=0x0164}
0x498…4ca             Head {h00=0x002e, h01=0x0050, text=» BP FIN010 CONTINUE UNTIL DELIMITER FOUND «, t00=0x0002, t01=0x017c}
0x4ca…4e6             Head {h00=0x0018, h01=0x0050, text=»   OR LENGTH REACHED«, t00=0x0003, t01=0x001e}
0x4e6…50a             Head {h00=0x0020, h01=0x0050, text=»FIN090   LENGTH FOUND (TP1) «, t00=0x0003, t01=0x003a}
0x50a…522             Head {h00=0x0014, h01=0x0050, text=» PERF PULL,CBIN2«, t00=0x0003, t01=0x005e}
0x522…52e             Head {h00=0x0008, h01=0x0050, text=» RET«, t00=0x0003, t01=0x0076}
0x52e…53c             Head {h00=0x000a, h01=0x0050, text=» PEND «, t00=0x0003, t01=0x0082}
0x53c…548             Head {h00=0x0008, h01=0x0050, text=» END«, t00=0x0003, t01=0x0090}
0x548…54c             Head {h00=0x4004, h01=0x0000}
0x54c…550             00 03 00 9c                                                                                                                                                                                                                                       ┆    ┆
0x550…558 (4, 1, 8)   20 04 00 00 00 04 00 04                                                                                                                                                                                                                           ┆        ┆

Reduced view