어셈블리 memset
by St1tchmov eax, data
mov edi, dest
mov ecx, size
rep stos(d)
이런식의 어셈블리어가 함수 프롤로그 다음에 있으면
edi주소에 해당하는 크기*size만큼 eax로 채운다.
b = 1, w = 2, d = 4 byte 이다.
따라서 만약 0x1234에 다가 0을 4바이트씩 100바이트 채우기 위해서는
lea ebx, [0x1234]
mov eax, 0
mov edx, 25
mov edi, ebx
mov ecx, edx
rep stosd
대충 이런식의 명령어로 memset기능을 할 수 있다.
간단하면서도 memset함수보다 빠른 장점이 있다.
블로그의 정보
튜기's blogg(st1tch)
St1tch