#include <perms.h>
// Edinburgh IMP77 Compiler - Version 8.4
//
// 1 %own %integer ATOM1=17
static int ATOM1 = 17;
// 2
// 3 %routine CODEATOM
static void CODEATOM(void) {
// 4
// 5 %if ATOM1#0 %then ->i77L231
if (ATOM1 == 0) goto L_0001;
goto U_1000;
L_0001:;
// 6 ATOM1=19
ATOM1 = 19;
// 7 %return
return;
// 8 i77L231:
U_1000:;
// 9
// 10 !Atom1 = \Atom1; Atom1 = \Atom1
// 11 %return
return;
// 12
// 13 Print String("Error!");
_imp_PRINTSTRING(_imp_str_literal("Error!"));
_imp_NEWLINE();
_imp_stop(0);
// ?access
// 14 ; Newline; %stop
} /* end of CODEATOM */
// 14 %end
// 15
// 16 %begin
int main(int argc, char **argv) { /*%begin*/
_imp_initialise(argc, argv);
// 17 Print String("About to call Code Atom"); Newline
_imp_PRINTSTRING(_imp_str_literal("About to call Code Atom"));
_imp_NEWLINE();
// 18 Code Atom
CODEATOM();
// 19 Print String("atom1="); Write(Atom1, 0)
_imp_PRINTSTRING(_imp_str_literal("atom1="));
_imp_WRITE(ATOM1, 0);
// 20 Newline
_imp_NEWLINE();
// 21 %endofprogram
_imp_stop(0);
return 0;
end_0:;
}