Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Software pushups

Name: Anonymous 2014-11-24 23:01

Let's exercise together, /prog/!

1) Write a subroutine that accepts an array of unsigned ints and returns 4. It must operate on the array in-place and partition it so that all nonzero values are at the beginning of the array, and all zero values are moved to the end. For example, the input [0, 2, 0, 0, 4, 1, 4, 5] could be changed to [2, 4, 1, 4, 5, 0, 0, 0]. The relative order of the nonzero values is unimportant.

Name: Anonymous 2014-11-26 8:38

; esi=array, ecx=len (assumes > 0)
partition:
mov edi, esi
.L: lodsd
test eax, eax
jz @f
stosd
@@: dec ecx
jnz .L
lea ecx, [esi-edi]
xor eax, eax
rep stosd
ret

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List