#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %begin

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //     2    %integer i

  int I;

  //     3
  //     4    %routine dosomething(%integername p)

  void DOSOMETHING(int *P) {
    //     5      p = p - 1

    *P = *P - 1;

    //     6      dosomething(p) %if p>0

    if (*P <= 0) goto L_0001;
    DOSOMETHING(P);
  L_0001:;

  //     7    %end

    return;
  } /* end of DOSOMETHING */

  //     8
  //     9    i = 10

  I = 10;

  //    10    dosomething(i)

  DOSOMETHING(/*?*/ &I);

  //    11
  //    12  %endofprogram

  _imp_stop(0);
  return 0;
end_0:;
}