This commit is contained in:
[GGSuchao]
2017-07-06 12:00:54 +08:00
committed by GGSuchao
parent 6a598cbdb8
commit faf32796f4

View File

@@ -9,49 +9,49 @@
int muldiv(a,b,c,m,rp) int muldiv(a,b,c,m,rp)
int a,b,c,m,*rp; int a,b,c,m,*rp;
{ {
ASM ("mov eax,DWORD PTR a"); ASM ("mov %eax,DWORD PTR a");
ASM ("mul DWORD PTR b"); ASM ("mul DWORD PTR b");
ASM ("add eax,DWORD PTR c"); ASM ("add %eax,DWORD PTR c");
ASM ("adc edx,0h"); ASM ("adc %edx,0h");
ASM ("div DWORD PTR m"); ASM ("div DWORD PTR m");
ASM ("mov ebx,DWORD PTR rp"); ASM ("mov %ebx,DWORD PTR rp");
ASM ("mov [ebx],edx"); ASM ("mov [%ebx],%edx");
} }
int muldvm(a,c,m,rp) int muldvm(a,c,m,rp)
int a,c,m,*rp; int a,c,m,*rp;
{ {
ASM ("mov edx,DWORD PTR a"); ASM ("mov %edx,DWORD PTR a");
ASM ("mov eax,DWORD PTR c"); ASM ("mov %eax,DWORD PTR c");
ASM ("div DWORD PTR m"); ASM ("div DWORD PTR m");
ASM ("mov ebx,DWORD PTR rp"); ASM ("mov %ebx,DWORD PTR rp");
ASM ("mov [ebx],edx"); ASM ("mov [%ebx],%edx");
} }
int muldvd(a,b,c,rp) int muldvd(a,b,c,rp)
int a,b,c,*rp; int a,b,c,*rp;
{ {
ASM ("mov eax,DWORD PTR a"); ASM ("mov %eax,DWORD PTR a");
ASM ("mul DWORD PTR b"); ASM ("mul DWORD PTR b");
ASM ("add eax,DWORD PTR c"); ASM ("add %eax,DWORD PTR c");
ASM ("adc edx,0h"); ASM ("adc %edx,0h");
ASM ("mov ebx,DWORD PTR rp"); ASM ("mov %ebx,DWORD PTR rp");
ASM ("mov [ebx],eax"); ASM ("mov [%ebx],%eax");
ASM ("mov eax,edx"); ASM ("mov %eax,%edx");
} }
void muldvd2(a,b,c,rp) void muldvd2(a,b,c,rp)
int a,b,*c,*rp; int a,b,*c,*rp;
{ {
ASM ("mov eax,DWORD PTR a"); ASM ("mov %eax,DWORD PTR a");
ASM ("mul DWORD PTR b"); ASM ("mul DWORD PTR b");
ASM ("mov ebx,DWORD PTR c"); ASM ("mov %ebx,DWORD PTR c");
ASM ("add eax,[ebx]"); ASM ("add %eax,[%ebx]");
ASM ("adc edx,0h"); ASM ("adc %edx,0h");
ASM ("mov esi,DWORD PTR rp"); ASM ("mov %esi,DWORD PTR rp");
ASM ("add eax,[esi]"); ASM ("add %eax,[esi]");
ASM ("adc edx,0h"); ASM ("adc %edx,0h");
ASM ("mov [esi],eax"); ASM ("mov [%esi],%eax");
ASM ("mov [ebx],edx"); ASM ("mov [%ebx],%edx");
} }