Identification division.
*>=======================
 Program-id. EXAMPLE is initial.

*>**************************************************************
*> An example COBOL program that displays a list of squares.
*> @author Bernard Pinon
*>**************************************************************

 Environment division.
*>====================

 Data division.
*>=============

 Working-storage section.
*>-----------------------
 01 banner.
     02 filler pic X(20) value "Hello world version ".
     02 version-major pic 9 value 1.
     02 filler pic X value ".".
     02 version-minor pic 9 value zero.

 01 bye-bye.
      02 filler pic X(7) value "Bye-bye".

 77 i pic S9(4) comp value zero.
 77 j pic S9(4) comp value zero.

 77 end-of-treatment-flag pic 9 value zero.
      88 end-of-treatment value 1.

 Procedure division.
*>==================

 Main section.
*>------------
     perform init
     perform treatment until end-of-treatment
     perform wrapup
     exit program.

 Init section.
*>-------------
*>   open files, take coffee, shower...
     display banner.

 Treatment section.
*>------------------
*>    ... do something useful here, then ...
     add 1 to i
     if i < 10 then
         call "MySquare" using by content i, by reference j
         display "Value of i is ", i, " square is ", j
     else
         set end-of-treatment to true
     end-if.

 Wrapup section.
*>--------------
*>   close files, clean up, brush teeth...
     display bye-bye.
*>   and eventually ...
     stop run.

*>**************************************************************
*> SUBPROGRAM
*>**************************************************************

 Identification division.
*>=======================
 Program-id. MySquare.

 Data division.
*>=============

 Linkage section.
*>---------------
 77 n pic S9(4) comp.
 77 result pic S9(4) comp.

 Procedure division using n, result.
*>==================================
     compute 
       result = n * n 
     end-compute
     exit program.

 End program MySquare.
 End program EXAMPLE.