|
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 - 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»