IDENTIFICATION DIVISION. PROGRAM-ID. FIB. DATA DIVISION. WORKING-STORAGE SECTION. 01 STACK-SPACE. 05 STACK PIC 9(18) USAGE IS COMP OCCURS 1000 TIMES INDEXED BY SP. 01 LR PIC 9(2) USAGE IS COMP. 01 I PIC 9(18) USAGE IS COMP. 01 N PIC 9(18) USAGE IS COMP. 01 R PIC 9(18) USAGE IS COMP. 01 DISP-A PIC Z(1)9. 01 DISP-B PIC Z(8)9. PROCEDURE DIVISION. MAIN. SET I TO 1. MAIN-LOOP. SET N TO I. SET LR TO 4. GO TO FIB. L4. MOVE I TO DISP-A. MOVE R TO DISP-B. DISPLAY "FIB("DISP-A") = "DISP-B. ADD 1 TO I. IF I LESS THAN OR EQUAL TO 32 THEN GO TO MAIN-LOOP. STOP RUN. FIB. IF N IS LESS THAN 2 THEN GO TO L3. SET STACK(SP) TO LR. SET SP UP BY 1. SET STACK(SP) TO N. SET SP UP BY 1. SUBTRACT 2 FROM N. SET LR TO 1. GO TO FIB. L1. SET N TO STACK(SP - 1). SET STACK(SP - 1) TO R. SUBTRACT 1 FROM N. SET LR TO 2. GO TO FIB. L2. COMPUTE R = R + STACK(SP - 1). SET LR TO STACK(SP - 2). SET SP DOWN BY 2 GO TO RET. L3. SET R TO N. GO TO RET. RET. GO TO L1 L2 L3 L4 DEPENDING ON LR.