DEV Community

Gealber Morales
Gealber Morales

Posted on • Originally published at gealber.com

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 
Enter fullscreen mode Exit fullscreen mode

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

mnemonic source, destination 
Enter fullscreen mode Exit fullscreen mode

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 
Enter fullscreen mode Exit fullscreen mode

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.

Top comments (0)