DWORD単位でコピー 何人かから指摘が入ったので前回のmemsetを4バイト単位でコピーするようにしました。 #include <stdio.h> #include <string.h> #include <assert.h> __declspec( naked ) void *_memset( void *s, int c, size_t n ) { __asm { PUSH EDI ; cdeclではEDIは潰しちゃダメらしいので退避 MOV EDI, [ESP+08h] ; void *s MOV EAX, [ESP+0Ch] ; int c MOV ECX, [ESP+10h] ; size_t n ;PUSHFD ; DFフラグをいじるため保存 ;CLD ; EDIをインクリメントする MOV EDX, EAX ; DWORDのデータを作成 AND EDX, 0FFh ; 1バ