저는 MASM32를 사용하여 SHA-256 구현 작업을 해왔으며 일부 소스를 완성했습니다. 그러나 제대로 작동하지 못하고이를 살펴본 후 다시 작성하고 일부 소스를 인라인 델파이 ASM에 복사하여 완벽하게 실행 시켰지만 원래의 ASM 소스에는 문제가 있습니다. 내가 그걸 믿을 수 없을 정도로 경험이 없다는 것을 감안할 때, 누군가가 소스를보고, 내가 놓친 것을 볼 수 있는지 말해 줄 수 있습니까? 델파이 구현을 이미 완료하고 완벽하게 작동하도록했습니다. 따라서 알고리즘 자체가 잘못이 아니라 ASM 코드 자체임을 알 수 있습니다.SHA-256 구현 디버깅
작업을 최적화 한 후에 작업을 최적화 할 계획이었습니다. 그러나 나는 아직도 배우고있다 (독학). 그래서 내가하는 일을이 원천의 어리석은쪽에있는 것으로 보는다면, 나는 배울 수 있기를 바랍니다. 하지만 내 주요 관심사는 오류가 어디 있는지 보지 않아서 작동하고 있습니다.
는편집을 (지금은 문제를 알고 있기 때문에, 공간 문제에 대한 ASM 코드를 제거) : 나는 문제가 무엇인지 알아 냈어. 이 코드는 왜 문제를 일으켰습니까?
변경하여 SHA256Loop 매크로의 끝에 다음 여기에
ADD h, ECX
ADD h, EBX ; h := t1 + t2;
:
ADD ECX, EBX ; h := t1 + t2;
MOV h, ECX
가 수정되었습니다. 왜 메모리에 두 개의 ADD 명령어를 수행하고 등록 할 ADD와 MOV를 메모리에 동일한 결과를 얻을 수 없습니까?
이제 염두에두고 코드를 살펴 보았습니다. 감사! 나는 그것이 간과 한 무언가 간단하다는 것을 알고 있었다! – Glenn1234