;==============================================================
; Intel Asm
;==============================================================
         .486
         .model flat, stdcall
         option casemap :none
         include \masm32\include\windows.inc
         include \masm32\include\masm32.inc
         include \masm32\include\kernel32.inc
         include \masm32\macros\macros.asm

         includelib \masm32\lib\masm32.lib
         includelib \masm32\lib\kernel32.lib

;==============================================================
         .data
Txt db ?, 0

;==============================================================
; Entry point:
         .code
start:
         FINIT
         PUSH  EBP
         MOV   EBP,  ESP
         SUB   ESP,  24
         ; Let Ti6_26 = 
         ; Integer 1
         MOV   EAX,  1
         MOV   [EBP-4],  EAX
         ; Let Ti7_27 = 
         ; Integer 2
         MOV   EAX,  2
         MOV   [EBP-8],  EAX
         ; Let Ti8_28 = 
         ; Integer 3
         MOV   EAX,  3
         MOV   [EBP-12],  EAX
         ; Let Ti9_29 = 
         ; Integer 4
         MOV   EAX,  4
         MOV   [EBP-16],  EAX
         ; Let Ti10_30 = 
         ; Integer 5
         MOV   EAX,  5
         MOV   [EBP-20],  EAX
         ; Let Ti11_31 = 
         ; Integer 6
         MOV   EAX,  6
         MOV   [EBP-24],  EAX
         ; Apply direct bar_19
         PUSH  dword ptr [EBP-24]
         PUSH  dword ptr [EBP-20]
         PUSH  dword ptr [EBP-16]
         PUSH  dword ptr [EBP-12]
         PUSH  dword ptr [EBP-8]
         PUSH  dword ptr [EBP-4]
         CALL  bar_19
         ADD   ESP,  24
         MOV   ESP,  EBP
         POP   EBP
         PUSH  0
         CALL  ExitProcess

;==============================================================
; Function foo_12:

foo_12 proc
         PUSH  EBP
         MOV   EBP,  ESP
         SUB   ESP,  0
         ; Let Tu5_32 = 
         ; Apply direct min_caml_print_int
         PUSH  dword ptr [EBP+8]
         CALL  min_caml_print_int
         ADD   ESP,  4
         ; Let Tu4_33 = 
         ; Apply direct min_caml_print_int
         PUSH  dword ptr [EBP+12]
         CALL  min_caml_print_int
         ADD   ESP,  4
         ; Let Tu3_34 = 
         ; Apply direct min_caml_print_int
         PUSH  dword ptr [EBP+16]
         CALL  min_caml_print_int
         ADD   ESP,  4
         ; Let Tu2_35 = 
         ; Apply direct min_caml_print_int
         PUSH  dword ptr [EBP+20]
         CALL  min_caml_print_int
         ADD   ESP,  4
         ; Let Tu1_36 = 
         ; Apply direct min_caml_print_int
         PUSH  dword ptr [EBP+24]
         CALL  min_caml_print_int
         ADD   ESP,  4
         ; Apply direct min_caml_print_int
         PUSH  dword ptr [EBP+28]
         CALL  min_caml_print_int
         ADD   ESP,  4
         MOV   ESP,  EBP
         POP   EBP
         RET
foo_12 endp

;==============================================================
; Function bar_19:

bar_19 proc
         PUSH  EBP
         MOV   EBP,  ESP
         SUB   ESP,  0
         ; Apply direct foo_12
         PUSH  dword ptr [EBP+16]
         PUSH  dword ptr [EBP+28]
         PUSH  dword ptr [EBP+24]
         PUSH  dword ptr [EBP+20]
         PUSH  dword ptr [EBP+8]
         PUSH  dword ptr [EBP+12]
         CALL  foo_12
         ADD   ESP,  24
         MOV   ESP,  EBP
         POP   EBP
         RET
bar_19 endp

;==============================================================
; need to copy min_caml_intel.asm from min-caml directory to output directoty
include min_caml_intel.asm

END start

;==============================================================

