mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 16:24:03 -05:00
368 lines
5.7 KiB
ArmAsm
Generated
368 lines
5.7 KiB
ArmAsm
Generated
.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
|
|
|