Да, вы можете: см. Ниже.Все, что осталось от вашего кода, это movl $7, %eax
(7 - это представление OCaml для 3, что является результатом 1 + 2).
$ cat > t.ml
1 + 2 ;;
$ ocamlopt -S t.ml
$ cat t.s
.data
.globl _camlT__data_begin
_camlT__data_begin:
.text
.globl _camlT__code_begin
_camlT__code_begin:
nop
.data
.long 0
.globl _camlT
_camlT:
.text
.align 4
.globl _camlT__entry
_camlT__entry:
subl $12, %esp
L100:
movl $7, %eax
movl $1, %eax
addl $12, %esp
ret
.data
.text
nop
.globl _camlT__code_end
_camlT__code_end:
.data
.globl _camlT__data_end
_camlT__data_end:
.long 0
.globl _camlT__frametable
_camlT__frametable:
.long 0
.section __IMPORT,__pointers,non_lazy_symbol_pointers
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5