#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:;
}