J
Size: a a a
J
J
J
d
E
d
.global memset
memset:
dest = 4
val = 8
count = 12
cur = edx
end = ecx
mov eax, val[esp]
mov ecx, 0x1010101
mul ecx
mov cur, dest[esp]
mov end, count[esp]
add end, cur
cmp cur, end
jz 1f
test cur, 0x1
jz 0f
mov [cur], al
add cur, 1
0: cmp cur, end
jz 1f
test end, 0x1
jz 0f
sub end, 1
mov [end], al
0: cmp cur, end
jz 1f
test cur, 0x2
jz 0f
mov [cur], ax
add cur, 2
0: cmp cur, end
jz 1f
test end, 0x2
jz 0f
sub end, 2
mov [end], ax
0: cmp cur, end
jz 1f
mov [cur], eax
add cur, 4
jmp 0b
1: ret
E
E
d
d
E
d
d
E
add cur, 1
0:
cmp cur, end
jz 1f
Остановка флагов, и таких моментов куча. Почему ты не используешь LEA? Тебе же флаги не нужныd
E
d
E
d