|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 6656 (0x1a00)
Types: TextFile
Names: »LST«, »PI.LST«
└─⟦e265ead8b⟧ Bits:30005730 Add serial numbers to several RC700 & RC850 software packages
└─⟦this⟧ »LST«
└─⟦this⟧ »PI.LST«
\f
** CIS COBOL V4.5 PI.CBL PAGE: 0001
**
IDENTIFICATION DIVISION. 0118
PROGRAM-ID. PI-CALC. 0118
AUTHOR. PF/TR. 0118
*
ENVIRONMENT DIVISION. 0118
CONFIGURATION SECTION. 0118
SOURCE-COMPUTER. 0118
OBJECT-COMPUTER. 0118
SPECIAL-NAMES. CONSOLE IS CRT. 0118
*
DATA DIVISION. 0118
WORKING-STORAGE SECTION. 0184
*
01 SCREEN PIC X(1920). 0184 00
*
01 DI-1 REDEFINES SCREEN. 0184 00
02 FILLER PIC X(160). 0184 00
02 DI-TX1 PIC X(160). 0224 A0
02 DI-TX2 PIC X(13). 02C4
02 DI-TERM PIC X(15). 02D1
02 FILLER PIC X(136). 02E0
02 DI-TX3 PIC X(6). 0368
02 DI-PI PIC X(15). 036E
02 FILLER PIC X(1415). 037D
*
01 DI-2 REDEFINES SCREEN. 0184 00
02 FILLER PIC X(333). 0184 00
02 DI-TERM2 PIC X(15). 02D1
02 FILLER PIC X(142). 02E0
02 DI-PI2 PIC X(15). 036E
02 FILLER PIC X(1415). 037D
*
01 WORK-AREA. 0904
02 PI PIC S9V9(14). 0904
02 TERM PIC S9V9(14). 0913
02 W PIC S9V9(14). 0922
02 N PIC 9999. 0931
02 N1 PIC 9999. 0935
02 N2 PIC 9999. 0939
02 ED PIC -9.9(12). 093D
*
01 CONSTANTS. 094C
02 TX1 PIC X(17) VALUE "CALCULATION OF PI". 094C
02 TX2 PIC X(12) VALUE "NEXT TERM IS". 095D
02 TX3 PIC X(5) VALUE "PI IS". 0969
*
PROCEDURE DIVISION. 0000
LA-START. 000A 00
DISPLAY SPACE. 000B
MOVE SPACE TO SCREEN. 000E
MOVE TX1 TO DI-TX1. 0014
MOVE TX2 TO DI-TX2. 001B
MOVE TX3 TO DI-TX3. 0022
MOVE 0.5 TO ED. 0029
MOVE ED TO DI-TERM. 0035
MOVE 3 TO ED. 003D
MOVE ED TO DI-PI. 0048
DISPLAY DI-1. 0050
\f
** CIS COBOL V4.5 PI.CBL PAGE: 0002
**
MOVE 0.5 TO PI. 006A
MOVE 0.5 TO TERM. 0073
MOVE 3 TO N. 007C
LOOP. 0084 00
MOVE N TO N2. 0085
SUBTRACT 2 FROM N2. 008E
MULTIPLY N2 BY N2. 009E
MULTIPLY N2 BY TERM. 00AF
MOVE N TO N1. 00C0
SUBTRACT 1 FROM N1. 00C9
MULTIPLY N BY N1. 00D9
MULTIPLY 4 BY N1. 00EA
DIVIDE N1 INTO TERM. 00FA
IF TERM < 0.0000000000001 THEN GO TO HALT. 010B
ADD TERM TO PI. 0128
MOVE PI TO W. 0139
MULTIPLY 6 BY W. 0142
MOVE W TO ED. 0152
MOVE ED TO DI-PI2. 015E
MOVE TERM TO ED. 0166
MOVE ED TO DI-TERM2. 0172
DISPLAY DI-2. 017A
ADD 2 TO N. 018B
IF N < 100 GO TO LOOP. 019B
HALT. 01AD 00
STOP RUN. 01AE
** CIS COBOL V4.5 REVISION 5 URN BG/0000/BL
** COMPILER COPYRIGHT (C) 1978,1982 MICRO FOCUS LTD
** ERRORS=00000 DATA=02432 CODE=00512 DICT=00381:14546/14927 GSA FLAGS= OFF
«eof»