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

⟦bb278c870⟧

    Length: 2838 (0xb16)
    Notes: pts_type(UF)
    Names: »UPDSET.UF«

Derivation

└─⟦71472ef1e⟧ Bits:30009661 Philips computer tape "600103"
    └─⟦this⟧ »BDKAPP/UPDSET.UF« 

PTS(SC)

LED C:SET,/S!!
!!DL 1
			UPDATE #2 77.03.08 JES 
!!IL 26 
*	K:ID	78.03.07 
!!IL 43 
	ENTRY	K:ID	INCREMENT DATE
!!DL 96,97
!!DL 400,410
!!DL 502
	RF	SDRET	RETURN
!!DL 510
SDRET	EQU	* 
!!IL 516
	EJECT		IDENT C:SET 
******************* K : I D **********************************
* 
* 
* 
*SUBROUTINE  K : I D
*INCREMENTS DATE
* 
* 
* 
* CALL SEQUENCE:	CF A14,K:ID
* 
* 
*   ENTRY PARAM:	A7 = NUMBER OF DAYS TO INCREMENT 
* 
*   SUBROUTINES:
* 
*  RETURN PARAM:	NONE 
* 
*  RETURN METOD:	VIA A14
* 
*  CHANGED REGS:	A1-A6
* 
*  STACKER NEED:	6
* 
*   LIMITATIONS:
* 
*  CALLING TASK:	ANY
* 
* 
************************************************************* 
	EJECT		IDENT C:SET 
************************************************************* 
* 
* 
*	K : I D 
* 
* 
K:ID	EQU	*

* 
*   GET DATE FROM WORK BLOCK
*   AND CONVERT TO HEXADECIMAL
* 
	LDKL	A3,K:WBD	GET DATE WB ADDRESS
	SUK	A3,2 
	CF	A14,SUB2	CONVERT YEAR TO HEXADECIMAL
	LDR	A1,A6	SAVE YEAR VALUE
	CF	A14,SUB2	CONVERT MONTH TO HEXADECIMAL 
	LDR	A2,A6	SAVE MONTH VALUE 
	CF	A14,SUB2	CONVERT DAY TO HEXADECIMAL 
	LDR	A3,A6	SAVE DAY VALUE 
* 
*	INCREMENT DATE
* 
	ADR	A3,A7	ADD CARRY VALUE TO DAY 
	CF	A14,DATCHK	CHECK IF VALID DATE
	RF(NN)	ID100	VALID DATE
	ADR	A6,A3	RECALL MAX DAY OF MONTH
	SUR	A3,A6	NEW DAY VALUE
	ADK	A2,1	INCREMENT MONTH 
	CWK	A2,12
	RF(NG)	ID100	NOT NEW YEAR
	LDK	A2,1	SET JANUARY 
	ADK	A1,1	INCREMENT YEAR
* 
*   CONVERT NEW DATE TO ASCII AND 
*   MOVE DATE TO WORK BLOCK 
* 
ID100	EQU	* 
	LDKL	A4,K:WBD	DATE WB ADDRESS
	LDR	A6,A1	GET YEAR 
	CF	A14,SUBA	CONVERT TO ASCII AND STORE 
	LDR	A6,A2	GET MONTH
	CF	A14,SUBA	CONVERT AND STORE
	LDR	A6,A3	GET DAY
	CF	A14,SUBA	CONVERT AND STORE
	RTN	A14
* 

	EJECT		IDENT C:SET 
!!IL 520
	RF	SUB9
SUB2	ADK	A3,2 
SUB9	EQU	*
!!IL 531
* 
*   CREATE ASCII AND STORE
* 
SUBA	EQU	*
	LDK	A5,0 
SUBA05	SUK	A6,10
	RF(N)	SUBA10 
	ADK	A5,1 
	RB	SUBA05
SUBA10	ADK	A6,10
	SLL	A5,8 
	ADR	A5,A6
	ADKL	A5,/3030
	STR	A5,A4
	ADK	A4,2 
	RTN	A14
* 
!!EN
ASM /S
KPF /S
ASG /E0,DK,UPDCCH 

HexDump

0x000…016 (0, 0, 398) Head {h00=0x0012, h01=0x0050, text=»LED C:SET,/S!!«, t00=0x0000, t01=0x0004}
0x016…024             Head {h00=0x000a, h01=0x0050, text=»!!DL 1«, t00=0x0000, t01=0x001a}
0x024…046             Head {h00=0x001e, h01=0x0050, text=»   UPDATE #2 77.03.08 JES «, t00=0x0000, t01=0x0028}
0x046…056             Head {h00=0x000c, h01=0x0050, text=»!!IL 26 «, t00=0x0000, t01=0x004a}
0x056…06e             Head {h00=0x0014, h01=0x0050, text=»* K:ID 78.03.07 «, t00=0x0000, t01=0x005a}
0x06e…07e             Head {h00=0x000c, h01=0x0050, text=»!!IL 43 «, t00=0x0000, t01=0x0072}
0x07e…0a0             Head {h00=0x001e, h01=0x0050, text=» ENTRY K:ID INCREMENT DATE«, t00=0x0000, t01=0x0082}
0x0a0…0b2             Head {h00=0x000e, h01=0x0050, text=»!!DL 96,97«, t00=0x0000, t01=0x00a4}
0x0b2…0c6             Head {h00=0x0010, h01=0x0050, text=»!!DL 400,410«, t00=0x0000, t01=0x00b6}
0x0c6…0d6             Head {h00=0x000c, h01=0x0050, text=»!!DL 502«, t00=0x0000, t01=0x00ca}
0x0d6…0ee             Head {h00=0x0014, h01=0x0050, text=» RF SDRET RETURN«, t00=0x0000, t01=0x00da}
0x0ee…0fe             Head {h00=0x000c, h01=0x0050, text=»!!DL 510«, t00=0x0000, t01=0x00f2}
0x0fe…112             Head {h00=0x0010, h01=0x0050, text=»SDRET EQU * «, t00=0x0000, t01=0x0102}
0x112…122             Head {h00=0x000c, h01=0x0050, text=»!!IL 516«, t00=0x0000, t01=0x0116}
0x122…13e             Head {h00=0x0018, h01=0x0050, text=» EJECT  IDENT C:SET «, t00=0x0000, t01=0x0126}
0x13e…184             Head {h00=0x0042, h01=0x0050, text=»******************* K : I D **********************************«, t00=0x0000, t01=0x0142}
0x184…18e             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0000, t01=0x0188}
0x18e…198 (1, 0, 400) Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0004}
0x198…1a2             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x000e}
0x1a2…1be             Head {h00=0x0018, h01=0x0050, text=»*SUBROUTINE  K : I D«, t00=0x0001, t01=0x0018}
0x1be…1d6             Head {h00=0x0014, h01=0x0050, text=»*INCREMENTS DATE«, t00=0x0001, t01=0x0034}
0x1d6…1e0             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x004c}
0x1e0…1ea             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0056}
0x1ea…1f4             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0060}
0x1f4…218             Head {h00=0x0020, h01=0x0050, text=»* CALL SEQUENCE: CF A14,K:ID«, t00=0x0001, t01=0x006a}
0x218…222             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x008e}
0x222…22c             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0098}
0x22c…266             Head {h00=0x0036, h01=0x0050, text=»*   ENTRY PARAM: A7 = NUMBER OF DAYS TO INCREMENT «, t00=0x0001, t01=0x00a2}
0x266…270             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x00dc}
0x270…288             Head {h00=0x0014, h01=0x0050, text=»*   SUBROUTINES:«, t00=0x0001, t01=0x00e6}
0x288…292             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x00fe}
0x292…2b0             Head {h00=0x001a, h01=0x0050, text=»*  RETURN PARAM: NONE «, t00=0x0001, t01=0x0108}
0x2b0…2ba             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0126}
0x2ba…2da             Head {h00=0x001c, h01=0x0050, text=»*  RETURN METOD: VIA A14«, t00=0x0001, t01=0x0130}
0x2da…2e4             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0150}
0x2e4…302             Head {h00=0x001a, h01=0x0050, text=»*  CHANGED REGS: A1-A6«, t00=0x0001, t01=0x015a}
0x302…30c             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0001, t01=0x0178}
0x30c…326             Head {h00=0x0016, h01=0x0050, text=»*  STACKER NEED: 6«, t00=0x0001, t01=0x0182}
0x326…330             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x000c}
0x330…348             Head {h00=0x0014, h01=0x0050, text=»*   LIMITATIONS:«, t00=0x0002, t01=0x0016}
0x348…352             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x002e}
0x352…36e             Head {h00=0x0018, h01=0x0050, text=»*  CALLING TASK: ANY«, t00=0x0002, t01=0x0038}
0x36e…378             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0054}
0x378…382             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x005e}
0x382…3c8             Head {h00=0x0042, h01=0x0050, text=»************************************************************* «, t00=0x0002, t01=0x0068}
0x3c8…3e4             Head {h00=0x0018, h01=0x0050, text=» EJECT  IDENT C:SET «, t00=0x0002, t01=0x00ae}
0x3e4…42a             Head {h00=0x0042, h01=0x0050, text=»************************************************************* «, t00=0x0002, t01=0x00ca}
0x42a…434             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0110}
0x434…43e             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x011a}
0x43e…450             Head {h00=0x000e, h01=0x0050, text=»* K : I D «, t00=0x0002, t01=0x0124}
0x450…45a             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0136}
0x45a…464             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0140}
0x464…476             Head {h00=0x000e, h01=0x0050, text=»K:ID EQU *«, t00=0x0002, t01=0x014a}
0x476…47e             Head {h00=0x0004, h01=0x0050, t00=0x0002, t01=0x015c}
0x47e…488             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0002, t01=0x0164}
0x488…4ac             Head {h00=0x0020, h01=0x0050, text=»*   GET DATE FROM WORK BLOCK«, t00=0x0002, t01=0x016e}
0x4ac…4d2 (3, 0, 398) Head {h00=0x0022, h01=0x0050, text=»*   AND CONVERT TO HEXADECIMAL«, t00=0x0003, t01=0x0004}
0x4d2…4dc             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x002a}
0x4dc…506             Head {h00=0x0026, h01=0x0050, text=» LDKL A3,K:WBD GET DATE WB ADDRESS«, t00=0x0003, t01=0x0034}
0x506…518             Head {h00=0x000e, h01=0x0050, text=» SUK A3,2 «, t00=0x0003, t01=0x005e}
0x518…548             Head {h00=0x002c, h01=0x0050, text=» CF A14,SUB2 CONVERT YEAR TO HEXADECIMAL«, t00=0x0003, t01=0x0070}
0x548…56a             Head {h00=0x001e, h01=0x0050, text=» LDR A1,A6 SAVE YEAR VALUE«, t00=0x0003, t01=0x00a0}
0x56a…59c             Head {h00=0x002e, h01=0x0050, text=» CF A14,SUB2 CONVERT MONTH TO HEXADECIMAL «, t00=0x0003, t01=0x00c2}
0x59c…5c0             Head {h00=0x0020, h01=0x0050, text=» LDR A2,A6 SAVE MONTH VALUE «, t00=0x0003, t01=0x00f4}
0x5c0…5f0             Head {h00=0x002c, h01=0x0050, text=» CF A14,SUB2 CONVERT DAY TO HEXADECIMAL «, t00=0x0003, t01=0x0118}
0x5f0…612             Head {h00=0x001e, h01=0x0050, text=» LDR A3,A6 SAVE DAY VALUE «, t00=0x0003, t01=0x0148}
0x612…61c             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x016a}
0x61c…634             Head {h00=0x0014, h01=0x0050, text=»* INCREMENT DATE«, t00=0x0003, t01=0x0174}
0x634…63e             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0003, t01=0x018c}
0x63e…668             Head {h00=0x0026, h01=0x0050, text=» ADR A3,A7 ADD CARRY VALUE TO DAY «, t00=0x0004, t01=0x0008}
0x668…692             Head {h00=0x0026, h01=0x0050, text=» CF A14,DATCHK CHECK IF VALID DATE«, t00=0x0004, t01=0x0032}
0x692…6b2             Head {h00=0x001c, h01=0x0050, text=» RF(NN) ID100 VALID DATE«, t00=0x0004, t01=0x005c}
0x6b2…6dc             Head {h00=0x0026, h01=0x0050, text=» ADR A6,A3 RECALL MAX DAY OF MONTH«, t00=0x0004, t01=0x007c}
0x6dc…6fc             Head {h00=0x001c, h01=0x0050, text=» SUR A3,A6 NEW DAY VALUE«, t00=0x0004, t01=0x00a6}
0x6fc…71e             Head {h00=0x001e, h01=0x0050, text=» ADK A2,1 INCREMENT MONTH «, t00=0x0004, t01=0x00c6}
0x71e…730             Head {h00=0x000e, h01=0x0050, text=» CWK A2,12«, t00=0x0004, t01=0x00e8}
0x730…752             Head {h00=0x001e, h01=0x0050, text=» RF(NG) ID100 NOT NEW YEAR«, t00=0x0004, t01=0x00fa}
0x752…770             Head {h00=0x001a, h01=0x0050, text=» LDK A2,1 SET JANUARY «, t00=0x0004, t01=0x011c}
0x770…790             Head {h00=0x001c, h01=0x0050, text=» ADK A1,1 INCREMENT YEAR«, t00=0x0004, t01=0x013a}
0x790…79a             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0004, t01=0x015a}
0x79a…7c4             Head {h00=0x0026, h01=0x0050, text=»*   CONVERT NEW DATE TO ASCII AND «, t00=0x0004, t01=0x0164}
0x7c4…7e8             Head {h00=0x0020, h01=0x0050, text=»*   MOVE DATE TO WORK BLOCK «, t00=0x0004, t01=0x018e}
0x7e8…7f2             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0022}
0x7f2…806             Head {h00=0x0010, h01=0x0050, text=»ID100 EQU * «, t00=0x0005, t01=0x002c}
0x806…82c             Head {h00=0x0022, h01=0x0050, text=» LDKL A4,K:WBD DATE WB ADDRESS«, t00=0x0005, t01=0x0040}
0x82c…848             Head {h00=0x0018, h01=0x0050, text=» LDR A6,A1 GET YEAR «, t00=0x0005, t01=0x0066}
0x848…878             Head {h00=0x002c, h01=0x0050, text=» CF A14,SUBA CONVERT TO ASCII AND STORE «, t00=0x0005, t01=0x0082}
0x878…894             Head {h00=0x0018, h01=0x0050, text=» LDR A6,A2 GET MONTH«, t00=0x0005, t01=0x00b2}
0x894…8ba             Head {h00=0x0022, h01=0x0050, text=» CF A14,SUBA CONVERT AND STORE«, t00=0x0005, t01=0x00ce}
0x8ba…8d4             Head {h00=0x0016, h01=0x0050, text=» LDR A6,A3 GET DAY«, t00=0x0005, t01=0x00f4}
0x8d4…8fa             Head {h00=0x0022, h01=0x0050, text=» CF A14,SUBA CONVERT AND STORE«, t00=0x0005, t01=0x010e}
0x8fa…90a             Head {h00=0x000c, h01=0x0050, text=» RTN A14«, t00=0x0005, t01=0x0134}
0x90a…914             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0005, t01=0x0144}
0x914…91c             Head {h00=0x0004, h01=0x0050, t00=0x0005, t01=0x014e}
0x91c…938             Head {h00=0x0018, h01=0x0050, text=» EJECT  IDENT C:SET «, t00=0x0005, t01=0x0156}
0x938…948             Head {h00=0x000c, h01=0x0050, text=»!!IL 520«, t00=0x0005, t01=0x0172}
0x948…958             Head {h00=0x000c, h01=0x0050, text=» RF SUB9«, t00=0x0005, t01=0x0182}
0x958…96e (6, 0, 398) Head {h00=0x0012, h01=0x0050, text=»SUB2 ADK A3,2 «, t00=0x0006, t01=0x0004}
0x96e…980             Head {h00=0x000e, h01=0x0050, text=»SUB9 EQU *«, t00=0x0006, t01=0x001a}
0x980…990             Head {h00=0x000c, h01=0x0050, text=»!!IL 531«, t00=0x0006, t01=0x002c}
0x990…99a             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x003c}
0x99a…9bc             Head {h00=0x001e, h01=0x0050, text=»*   CREATE ASCII AND STORE«, t00=0x0006, t01=0x0046}
0x9bc…9c6             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x0068}
0x9c6…9d8             Head {h00=0x000e, h01=0x0050, text=»SUBA EQU *«, t00=0x0006, t01=0x0072}
0x9d8…9ea             Head {h00=0x000e, h01=0x0050, text=» LDK A5,0 «, t00=0x0006, t01=0x0084}
0x9ea…a02             Head {h00=0x0014, h01=0x0050, text=»SUBA05 SUK A6,10«, t00=0x0006, t01=0x0096}
0xa02…a18             Head {h00=0x0012, h01=0x0050, text=» RF(N) SUBA10 «, t00=0x0006, t01=0x00ae}
0xa18…a2a             Head {h00=0x000e, h01=0x0050, text=» ADK A5,1 «, t00=0x0006, t01=0x00c4}
0xa2a…a3c             Head {h00=0x000e, h01=0x0050, text=» RB SUBA05«, t00=0x0006, t01=0x00d6}
0xa3c…a54             Head {h00=0x0014, h01=0x0050, text=»SUBA10 ADK A6,10«, t00=0x0006, t01=0x00e8}
0xa54…a66             Head {h00=0x000e, h01=0x0050, text=» SLL A5,8 «, t00=0x0006, t01=0x0100}
0xa66…a78             Head {h00=0x000e, h01=0x0050, text=» ADR A5,A6«, t00=0x0006, t01=0x0112}
0xa78…a8e             Head {h00=0x0012, h01=0x0050, text=» ADKL A5,/3030«, t00=0x0006, t01=0x0124}
0xa8e…aa0             Head {h00=0x000e, h01=0x0050, text=» STR A5,A4«, t00=0x0006, t01=0x013a}
0xaa0…ab2             Head {h00=0x000e, h01=0x0050, text=» ADK A4,2 «, t00=0x0006, t01=0x014c}
0xab2…ac2             Head {h00=0x000c, h01=0x0050, text=» RTN A14«, t00=0x0006, t01=0x015e}
0xac2…acc             Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x0006, t01=0x016e}
0xacc…ad8             Head {h00=0x0008, h01=0x0050, text=»!!EN«, t00=0x0006, t01=0x0178}
0xad8…ae6             Head {h00=0x000a, h01=0x0050, text=»ASM /S«, t00=0x0006, t01=0x0184}
0xae6…af4 (7, 0, 40)  Head {h00=0x000a, h01=0x0050, text=»KPF /S«, t00=0x0007, t01=0x0004}
0xaf4…b0e             Head {h00=0x0016, h01=0x0050, text=»ASG /E0,DK,UPDCCH «, t00=0x0007, t01=0x0012}
0xb0e…b16 (8, 1, 8)   20 04 00 00 00 08 00 04                                                                                                                                                                                                                           ┆        ┆

Reduced view