0
请帮我将下面的代码转换为等效的C代码。提前致谢。该模块返回一个uint值。代码如下。将程序集转换为等效的c代码
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
}
}
感谢您的回复。我没有尝试任何东西,因为我不习惯安装程序代码。我可以理解变量c被放入到ex寄存器的ecx寄存器变量中,但为什么没有其他寄存器,我不能弄清楚,我怎么能从这个方法返回一个值,我也无法弄清楚。请帮助我。 –
[Intel架构软件开发人员手册](http://download.intel.com/design/intarch/manuals/24319101.pdf)是x86汇编的规范参考。尝试使用它来理解这个汇编代码,然后返回关于你不明白的部分的*特定*问题。 –
@ Li-aungYip来吧,这个问题很具体。其实这并不难,并在5分钟内回复(可能不适合你,但是有很多聪明的人),所以不需要发布一个技术参考链接,根本无法帮助他。 – hirschhornsalz