Traduzca el siguiente lenguaje C al lenguaje ensamblador.

. __TEXT, __text, regular, sección pure_instructions

. global_main

.align4,0x90

_main:

Leh_func_begin1:

porcentaje de inserción rbp

Ltmp0:

movqrsp, rbp

Ltmp1:

subq$32, rsp

Ltmp2:

movl$1, -12 (Royal Bank of Scotland)

movl$10, -16 (Prácticas comerciales restrictivas)

movl$0, -20 (rbp)

movl$1, -12 (Banco Real de Escocia)

jmpLBB1_2

LBB1_1:

movl-12(rbp), eax

movl-12( rbp ), ecx

I ecx mínimo, eax

movl-20(rbp), ecx

ecx adicional, eax

movleax, -20(rbp)

movl-12(rbp), eax

Dirección $1, eax

movleax, -12(rbp)

LBB1_2:

movl-12(rbp), eax

movl-16(rbp), ecx

cmplecx, eax

jlebb 1_1

movl-20(rbp), eax

xorbcl, cl

leaqL_. Cadena (rip), rdx

movqrdx, rdi

movleax, esi

movbcl, al

callq_printf

movl$0, -8(rbp)

movl-8(rbp), eax

movleax, -4(rbp)

movl-4( rbp ), eax

Agregue $32, porcentaje relativo al precio estándar

popqrbp

Remojado en agua para suavizar

Leh_func_end1:

. Sección __TEXT, _ _ cstring, cstring _ literals

L_. cadena:

. asciz "suma=d\n "

. sección__TEXTO, __eh_frame, fusionar, no_TOC strip_static_syms live_support

EH_frame0:

Lsection_eh_frame:

Leh_frame_common:

p>

lset 0 = Leh_frame_common_end-Leh_frame_common_begin

.longLset0

Leh_frame_common_begin:

.long 0

.byte1

.

asciz "zR"

.byte1

.byte120

.byte16

. /p>

.byte12

.byte7

.byte8

.byte144

.byte1

.align3

Leh_frame_common_end:

. Red principal global

_main.eh:

lset 1 = Leh _ frame _ end 1-Leh _ frame _ start 1

.

Leh_frame_begin1:

lset 2 = Leh_frame_start 1-Leh_frame_common

longLset2

Ltmp3:

<. p>. quad leh_func_begin 1-lt MP3

lset 3 = Leh_func_end 1-Leh_func_begin 1

quadLset3

. byte0

.Byte 4

lset 4 = ltmp 0-Leh_func_start 1

longLset4

. p>

.byte16

.byte134

.byte2

.byte4

Lset5 = Ltmp1- Ltmp0

.longLset5

.byte13

.byte6

.align3

Leh_frame_end1:

p>

. Subsection_via_symbols