다음 코드를 동등한 C 코드로 변환하는 데 도움을주십시오. 미리 감사드립니다. 이 모듈은 uint 값을 반환합니다. 코드는 아래와 같습니다.어셈블리를 동등한 코드로 변환
inline uint jpeg_decoder::huff_extend(uint i, int c)
{
_asm
{
mov ecx, c
mov eax, i
cmp eax, [ecx*4+extend_mask]
sbb edx, edx
shl edx, cl
adc eax, edx
}
}
감사합니다. 내가 조립 코드에 익숙하지 않아서 아무 것도 시도하지 않았다. 나는 cx 변수를 ecx 레지스터에 넣을 변수를 이해할 수 있지만 eax 등록 할 수있는 다른 레지스터를 왜 내가 알아낼 수없는 및이 방법을 값을 반환 할 수 있습니다. 또한 내가 알아낼 수 없습니다. 도와주세요. . –
[Intel Architecture Software Developer 's Manual] (http://download.intel.com/design/intarch/manuals/24319101.pdf)은 x86 어셈블리에 대한 표준 참조 문서입니다. 이를 사용하여이 어셈블리 코드를 이해하고 이해할 수없는 부분에 대한 * 구체적인 * 질문으로 돌아가십시오. –
@ Li-aungYip 자, 그 질문은 매우 구체적입니다. 그리고 실제로 그것은 어렵지 않고 5 분 안에 답할 수 있습니다 (아마도 당신을 위해서가 아니라, 그래서 영리한 사람들이 많이 있습니다). 따라서 전혀 도움이되지 않는 기술 참조에 대한 링크를 게시 할 필요가 없습니다 – hirschhornsalz