잠시 동안 REP STOS DWORD PTR ES:[EDI]
디버깅되었습니다 지금어셈블리 REP STOS를 C 코드로 변환하는 방법
내 결론에서 항상
ECX
카운터로 사용합니다. 그래서 EDI
다음 EDI
을 통해 복사됩니다 값으로 의 EAX
는 ECX
번 추가 EDI를 4 바이트 씩 변경하면서 카운터. 는 카운터가
0 그래서 코드
while(regs.d.ecx != 0)
{
*(unsigned int *)(regs.d.edi) = regs.d.eax;
regs.d.edi += 4;
regs.d.ecx--;
}
의이 종류를 내놓았다 명중 작동하는 것 같다 때 작동을 멈 춥니 다 ..하지만 난 그냥 운에 의해 이런 짓을하고 일을 생각하기 때문에 나는 걱정. 견고한가요? 항상 그것 ECX
카운터로, EAX
데이터로, 그리고 항상 4 바이트 절대 복사하지?
중복 된 발견 http://stackoverflow.com/questions/3818856/what-does-this-assembly-do 조금 늦었습니다. 모든 것이 유효하다고 보입니다. – SSpoke
필자는 AMD의 프로그래머 매뉴얼 (intro 용 1 권, 범용 지침 용 3 권)과 Intel의 것을 권장합니다. 어쨌든 나는 AMD의 구조와 테이블에 대해 더 좋아한다. Intel이 좀 더 자세하게 나타납니다. –