blob: f26c9beb4b34b992a9e288919f4cddf6e6cfaab6 [file] [log] [blame] [raw]
.file "output.pas"
# Begin asmlist al_begin
.section .debug_line
.type .Ldebug_linesection0,@object
.Ldebug_linesection0:
.type .Ldebug_line0,@object
.Ldebug_line0:
.section .debug_abbrev
.type .Ldebug_abbrevsection0,@object
.Ldebug_abbrevsection0:
.type .Ldebug_abbrev0,@object
.Ldebug_abbrev0:
.section .text.b_DEBUGSTART_$OUTPUT
.globl DEBUGSTART_$OUTPUT
.type DEBUGSTART_$OUTPUT,@object
DEBUGSTART_$OUTPUT:
# End asmlist al_begin
# Begin asmlist al_procedures
.section .text.n_output_$$_square$smallint$$smallint
.balign 16,0x90
.globl OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT
.type OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT,@function
OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT:
.Lc1:
.Ll1:
# [output.pas]
# [12] begin
pushq %rbp
.Lc3:
.Lc4:
movq %rsp,%rbp
.Lc5:
leaq -16(%rsp),%rsp
# Var num located at rbp-8, size=OS_S16
# Var $result located at rbp-12, size=OS_S16
movw %di,-8(%rbp)
.Ll2:
# [13] Square := num * num + 14;
movswl -8(%rbp),%edx
movswl -8(%rbp),%eax
imull %edx,%eax
leal 14(%eax),%eax
movw %ax,-12(%rbp)
.Ll3:
# [14] end;
movswl -12(%rbp),%eax
leave
ret
.Lc2:
.Lt1:
.Le0:
.size OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT, .Le0 - OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT
.Ll4:
# End asmlist al_procedures
# Begin asmlist al_dwarf_frame
.section .debug_frame
.Lc6:
.long .Lc8-.Lc7
.Lc7:
.long -1
.byte 1
.byte 0
.uleb128 1
.sleb128 -4
.byte 16
.byte 12
.uleb128 7
.uleb128 8
.byte 5
.uleb128 16
.uleb128 2
.balign 4,0
.Lc8:
.long .Lc10-.Lc9
.Lc9:
.quad .Lc6
.quad .Lc1
.quad .Lc2-.Lc1
.byte 4
.long .Lc3-.Lc1
.byte 14
.uleb128 16
.byte 4
.long .Lc4-.Lc3
.byte 5
.uleb128 6
.uleb128 4
.byte 4
.long .Lc5-.Lc4
.byte 13
.uleb128 6
.balign 4,0
.Lc10:
# End asmlist al_dwarf_frame
# Begin asmlist al_dwarf_info
.section .debug_info
.type .Ldebug_info0,@object
.Ldebug_info0:
.long .Ledebug_info0-.Lf1
.Lf1:
.short 2
.long .Ldebug_abbrev0
.byte 8
.uleb128 1
# [11] function Square(const num: Integer): Integer;
.ascii "output.pas\000"
.ascii "Free Pascal 3.0.2+dfsg-5ubuntu1 2017/09/14\000"
.ascii "/tmp/compiler-explorer-compiler118020-15958-ivh3sj."
.ascii "7n4td/\000"
.byte 9
.byte 3
.long .Ldebug_line0
.quad DEBUGSTART_$OUTPUT
.quad DEBUGEND_$OUTPUT
# Syms - Begin unit OUTPUT has index 3
# Symbol OUTPUT
# Symbol SYSTEM
# Symbol SQUARE
# Syms - End unit OUTPUT has index 3
# Syms - Begin Staticsymtable
# Symbol OUTPUT_$$_init
# Syms - End Staticsymtable
# Procdef Square(const SmallInt):SmallInt;
.uleb128 2
.ascii "SQUARE\000"
.byte 1
.byte 65
.byte 1
.quad _$OUTPUT$_Ld1
.quad OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT
.quad .Lt1
# Symbol NUM
.uleb128 3
.ascii "NUM\000"
.byte 2
.byte 118
.sleb128 -8
.quad _$OUTPUT$_Ld1
# Symbol result
.uleb128 4
.ascii "result\000"
.byte 2
.byte 118
.sleb128 -12
.quad _$OUTPUT$_Ld1
# Symbol SQUARE
.uleb128 4
.ascii "SQUARE\000"
.byte 2
.byte 118
.sleb128 -12
.quad _$OUTPUT$_Ld1
.byte 0
# Defs - Begin unit SYSTEM has index 1
# Definition SmallInt
.globl _$OUTPUT$_Ld1
.type _$OUTPUT$_Ld1,@object
_$OUTPUT$_Ld1:
.uleb128 5
.ascii "SMALLINT\000"
.quad .La1
.type .La1,@object
.La1:
.uleb128 6
.ascii "SMALLINT\000"
.byte 5
.byte 2
.globl _$OUTPUT$_Ld2
.type _$OUTPUT$_Ld2,@object
_$OUTPUT$_Ld2:
.uleb128 7
.quad _$OUTPUT$_Ld1
# Defs - End unit SYSTEM has index 1
# Defs - Begin unit OUTPUT has index 3
# Defs - End unit OUTPUT has index 3
# Defs - Begin Staticsymtable
# Defs - End Staticsymtable
.byte 0
.type .Ledebug_info0,@object
.Ledebug_info0:
# End asmlist al_dwarf_info
# Begin asmlist al_dwarf_abbrev
.section .debug_abbrev
# Abbrev 1
.uleb128 1
.uleb128 17
.byte 1
.uleb128 3
.uleb128 8
.uleb128 37
.uleb128 8
.uleb128 27
.uleb128 8
.uleb128 19
.uleb128 11
.uleb128 66
.uleb128 11
.uleb128 16
.uleb128 6
.uleb128 17
.uleb128 1
.uleb128 18
.uleb128 1
.byte 0
.byte 0
# Abbrev 2
.uleb128 2
.uleb128 46
.byte 1
.uleb128 3
.uleb128 8
.uleb128 39
.uleb128 12
.uleb128 54
.uleb128 11
.uleb128 63
.uleb128 12
.uleb128 73
.uleb128 16
.uleb128 17
.uleb128 1
.uleb128 18
.uleb128 1
.byte 0
.byte 0
# Abbrev 3
.uleb128 3
.uleb128 5
.byte 0
.uleb128 3
.uleb128 8
.uleb128 2
.uleb128 10
.uleb128 73
.uleb128 16
.byte 0
.byte 0
# Abbrev 4
.uleb128 4
.uleb128 52
.byte 0
.uleb128 3
.uleb128 8
.uleb128 2
.uleb128 10
.uleb128 73
.uleb128 16
.byte 0
.byte 0
# Abbrev 5
.uleb128 5
.uleb128 22
.byte 0
.uleb128 3
.uleb128 8
.uleb128 73
.uleb128 16
.byte 0
.byte 0
# Abbrev 6
.uleb128 6
.uleb128 36
.byte 0
.uleb128 3
.uleb128 8
.uleb128 62
.uleb128 11
.uleb128 11
.uleb128 11
.byte 0
.byte 0
# Abbrev 7
.uleb128 7
.uleb128 16
.byte 0
.uleb128 73
.uleb128 16
.byte 0
.byte 0
.byte 0
# End asmlist al_dwarf_abbrev
# Begin asmlist al_dwarf_line
.section .debug_line
# === header start ===
.long .Ledebug_line0-.Lf2
.Lf2:
.short 2
.long .Lehdebug_line0-.Lf3
.Lf3:
.byte 1
.byte 1
.byte 1
.byte 255
.byte 13
.byte 0
.byte 1
.byte 1
.byte 1
.byte 1
.byte 0
.byte 0
.byte 0
.byte 1
.byte 0
.byte 0
.byte 1
# include_directories
.byte 0
# file_names
# [17]
.ascii "output.pas\000"
.uleb128 0
.uleb128 0
.uleb128 0
.byte 0
.type .Lehdebug_line0,@object
.Lehdebug_line0:
# === header end ===
# function: OUTPUT_$$_SQUARE$SMALLINT$$SMALLINT
# [12:1]
.byte 0
.uleb128 9
.byte 2
.quad .Ll1
.byte 5
.uleb128 1
.byte 23
# [13:13]
.byte 2
.uleb128 .Ll2-.Ll1
.byte 5
.uleb128 13
.byte 13
# [14:1]
.byte 2
.uleb128 .Ll3-.Ll2
.byte 5
.uleb128 1
.byte 13
.byte 0
.uleb128 9
.byte 2
.quad .Ll4
.byte 0
.byte 1
.byte 1
# ###################
.type .Ledebug_line0,@object
.Ledebug_line0:
# End asmlist al_dwarf_line
# Begin asmlist al_end
.section .text.z_DEBUGEND_$OUTPUT
.globl DEBUGEND_$OUTPUT
.type DEBUGEND_$OUTPUT,@object
DEBUGEND_$OUTPUT:
# End asmlist al_end
.section .note.GNU-stack,"",%progbits