Acc.#1998.0191 Danko page 8 AC#667

Danko 1998.0191  ARCHIVES CENTER # 667; FOLDER 48;

1030  DIM MO $ (12):  FNI= 1 TO 12: READ MO $ ( I ): NEXT
1040  INPUT "-----------(1900-1999)"; Y: Y=Y-1900
1050  D=1; M=1; GO SUB 2000:
1060  PRINT= P, TAB (20); 19N+Y:, PRINT #P, TAB (21) "-----"
1070  FN I=C to C+36Y - Y= INT (Y/4) * 4)
1080  C=I: GO SUB 3000
1090  D= 1 THEN PRINT #P: PRINT #P: PRINT #P, TAB (20): MO$
1100  W=I-INT (1/7) * 7-7 ( I= INT (I/7) *7)
1110  PRINT#P, TAB ((W+1)*4); D; IF W=7 THEN PRINT #P
1120  NEXT I
1130  END
2010  J=INT(30.42*(M-1))-(M=2)+(M>2 and M<8)-(m>2A and INT (Y/4)*4=Y)+D
2020  C= J+365*Y + INT (Y-1)/4)+1
2030  RETURN
3010  L= INT (C/1461.1)
3020  Y= L*4- (C>(L*1461)+366)* (INT(C-L*1461-366/365.1+1)
3030  J= C-Y*365-INT (Y/4)+(Y>0)-(INT (Y/4)*4=Y)
3040  M=J+(J>59 AND INT (Y/4)*4=Y)
3050  M=INT (M/30.42)+1-(M=60)+(M=31)-(M=9 or M=12 or M=152 or M=182)
3060  D=1: I=C; JI=J; GO SUB 2000; J=J1
3070  D= I-C+1
3080  RETURN
Literal transcription from S.F. Danko.

Danko 1998.0191  This document is an assembly language program [probably] written for a main frame computer.

The program is designed to calculate a date from 1900 to 1999.

The program listed that begins at 1030 is a sub-routine for a larger program.

The program steps are incremented by 10's.

LOCATION: The code in 1050 in reference to 2000
is a sub-routine location which does not appear in Danko's paper.

The sub-routine ends at 2030. The code in 3010 is a sub-routine that begins in 3000 (not listed in document) and ends in 3080. Code in 1030 to 1130 is an input to the printer and defines page layout and printing perameters.

The program ends at location 1130. Probably written in the late 1950's or early 1960's.

Defined by: Sherman L. Naidorf, 1999 Smithsonian Volunteer

COMMENTS: April 2, 2001:

May I provide some information about one specific entry to the "Danko collection", namely [this page]

This is not an assembly program, it is written in (an early version of) BASIC.

And it is very likely not a subroutine, because in that case the statement in line 1130 would read "RETURN" and not "END". Main programs are terminated with END, subroutines are terminated with RETURN.

The numbers that are incremented in 10s have little to do with "program steps", they are just line numbers that are used for the text editor with which you write the program. For example, if you forgot to write a statement, say "A = B + C", between the third and fourth line, then you would enter "1055 A = B + C" (in fact, any number between 1051 and 1059 will do). The BASIC interpreter does not receive the line numbers, they are just for the editor to keep track of the correct order of program lines.

The subroutine location 2000 that your author of the comments is missing, was probably only a comment (because the following statements up to 2030 constitue a valid program), or maybe that version of the BASIC interpreter simply jumps to the next available statement which would be 2010 then. Or, the program is simply erronous.

Same for 3000/3010.

Hope I could clarify a few things.

Greetings from Austria,

Danko 1998.0191  Your contacts for requesting information and/or appointments to research the Chip Collection are:

NMAH Archives Center
Manuscript Technology Collections

Hal Wallace, Curator - CHIPS
Information Technology & Society - Electricity Collections

Introduction  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17 

National Museum of American History

HomeSearchChip TalkChip FunPatentsPeoplePicturesCreditsCopyrightComments