Challenge #15

Super simple, the only difference here is that the only assembly syntax provided it’s AT&T syntax, so it forced me too look again. There’s no too much difference, for example in INTEL-syntax it’s in this way

mnemonic	destination, source

whereas, in the case of AT&T, the general format is

mnemonic	source, destination

Analysis

The assembly code it’s quite short as well.

f:                                      # @f
        xorps   %xmm0, %xmm0
        movups  %xmm0, 240(%rdi)
        movups  %xmm0, 224(%rdi)
        movups  %xmm0, 208(%rdi)
        movups  %xmm0, 192(%rdi)
        movups  %xmm0, 176(%rdi)
        movups  %xmm0, 160(%rdi)
        movups  %xmm0, 144(%rdi)
        movups  %xmm0, 128(%rdi)
        movups  %xmm0, 112(%rdi)
        movups  %xmm0, 96(%rdi)
        movups  %xmm0, 80(%rdi)
        movups  %xmm0, 64(%rdi)
        movups  %xmm0, 48(%rdi)
        movups  %xmm0, 32(%rdi)
        movups  %xmm0, 16(%rdi)
        movups  %xmm0, (%rdi)
        ret

In this case the analysis it’s straight forward, we are basically

Formal description

making zero the first 256-bits of rdi register, that it’s a buffer provided to the function f. That’s it.