一个汇编程序作业,实在搞不定了求各路大佬解答
三个32-bit的整数,要求得出的结果是最小的加最大的和乘以2017,但是不能用mul或者imul指令。voidminMax(inta,intb,intc,int*res...
三个 32-bit 的整数,要求得出的结果是最小的加最大的和乘以2017,但是不能用mul或者imul指令。
void minMax(int a, int b, int c, int *result)
{
__asm
{
mov eax, -1
mov esi, result
mov ebx, a
mov ecx, b
mov edx, c
// STAR
// END
mov [esi][0], eax
}
}
有没有大佬帮助一下orz 展开
void minMax(int a, int b, int c, int *result)
{
__asm
{
mov eax, -1
mov esi, result
mov ebx, a
mov ecx, b
mov edx, c
// STAR
// END
mov [esi][0], eax
}
}
有没有大佬帮助一下orz 展开
展开全部
void minMax(int a, int b, int c, int *result)
{
_asm
{
mov eax, a
cmp eax, b
cmovs eax, b
cmp eax, c
cmovs eax, c
mov edx, a
cmp edx, b
cmovns edx, b
cmp edx, c
cmovns edx, c
add eax, edx
mov edx, eax
mov ecx, 2017-1
_1:
add eax, edx
loop _1
mov ecx, result
mov [ecx], eax
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询