         Edinburgh IMP77 Compiler - Version 8.4-2024.12.18

     1  %begin
 0000 C8 00 00 01                           ENTER 0000,1
     2    %integer int var
     3    int var = 1
 0004 C7 45 F8 01 00 00 00                  MOV DWORD PTR [%EBP-8],#1
     4    %if int var <= 2 %then %start
 000B 8B 45 F8                              MOV %EAX,[%EBP-8]
 000E 3D 02 00 00 00                        CMP %EAX,#2
 0013 7F 00                                 JG L1001
     5      int var = 3
 0015 C7 45 F8 03 00 00 00                  MOV DWORD PTR [%EBP-8],#3
     6    %finish
 001C                      L1001  EQU $
     7    %if int var < 2 %then %start
 001C 8B 45 F8                              MOV %EAX,[%EBP-8]
 001F 3D 02 00 00 00                        CMP %EAX,#2
 0024 7D 00                                 JGE L1002
     8      int var = 3
 0026 C7 45 F8 03 00 00 00                  MOV DWORD PTR [%EBP-8],#3
     9    %finish
 002D                      L1002  EQU $
    10    %if int var = 2 %then %start
 002D 8B 45 F8                              MOV %EAX,[%EBP-8]
 0030 3D 02 00 00 00                        CMP %EAX,#2
 0035 75 00                                 JNE L1003
    11      int var = 3
 0037 C7 45 F8 03 00 00 00                  MOV DWORD PTR [%EBP-8],#3
    12    %finish
 003E                      L1003  EQU $
    13    %if int var > 2 %then %start
 003E 8B 45 F8                              MOV %EAX,[%EBP-8]
 0041 3D 02 00 00 00                        CMP %EAX,#2
 0046 7E 00                                 JLE L1004
    14      int var = 3
 0048 C7 45 F8 03 00 00 00                  MOV DWORD PTR [%EBP-8],#3
    15    %finish
 004F                      L1004  EQU $
    16    %if int var >= 2 %then %start
 004F 8B 45 F8                              MOV %EAX,[%EBP-8]
 0052 3D 02 00 00 00                        CMP %EAX,#2
 0057 7C 00                                 JL L1005
    17      int var = 3
 0059 C7 45 F8 03 00 00 00                  MOV DWORD PTR [%EBP-8],#3
    18    %finish
 0060                      L1005  EQU $
    19    %if int var # 2 %then %start
 0060 8B 45 F8                              MOV %EAX,[%EBP-8]
 0063 3D 02 00 00 00                        CMP %EAX,#2
 0068 74 00                                 JE L1006
    20      int var = 3
 006A C7 45 F8 03 00 00 00                  MOV DWORD PTR [%EBP-8],#3
    21    %finish
 0071                      L1006  EQU $
    22  %endofprogram
 0071 C9                                    LEAVE
 0072 C3                                    RET
