This commit is contained in:
[GGSuchao]
2017-07-06 12:38:24 +08:00
committed by GGSuchao
parent 576bb64d83
commit 931e9fe169

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 ("movl %eax,a"); ASM ("movl a,%eax");
ASM ("mull b"); ASM ("mull b");
ASM ("addl %eax,c"); ASM ("addl c,%eax");
ASM ("adcl %edx,$0h"); ASM ("adcl $0h,%edx");
ASM ("divl m"); ASM ("divl m");
ASM ("movl %ebx,rp"); ASM ("movl rp,%ebx");
ASM ("movl (%ebx),%edx"); ASM ("movl %edx,(%ebx)");
} }
int muldvm(a,c,m,rp) int muldvm(a,c,m,rp)
int a,c,m,*rp; int a,c,m,*rp;
{ {
ASM ("movl %edx,a"); ASM ("movl a,%edx");
ASM ("movl %eax,c"); ASM ("movl c,%eax");
ASM ("divl m"); ASM ("divl m");
ASM ("movl %ebx,rp"); ASM ("movl rp,%ebx");
ASM ("movl (%ebx),%edx"); ASM ("movl %edx,(%ebx)");
} }
int muldvd(a,b,c,rp) int muldvd(a,b,c,rp)
int a,b,c,*rp; int a,b,c,*rp;
{ {
ASM ("movl %eax,a"); ASM ("movl a,%eax");
ASM ("mull b"); ASM ("mull b");
ASM ("addl %eax,c"); ASM ("addl c,%eax");
ASM ("adcl %edx,$0h"); ASM ("adcl $0h,%edx");
ASM ("movl %ebx,rp"); ASM ("movl rp,%ebx");
ASM ("movl (%ebx),%eax"); ASM ("movl %eax,(%ebx)");
ASM ("movl %eax,%edx"); ASM ("movl %edx,%eax");
} }
void muldvd2(a,b,c,rp) void muldvd2(a,b,c,rp)
int a,b,*c,*rp; int a,b,*c,*rp;
{ {
ASM ("movl %eax,a"); ASM ("movl a,%eax");
ASM ("mull b"); ASM ("mull b");
ASM ("movl %ebx,c"); ASM ("movl c,%ebx");
ASM ("addl %eax,(%ebx)"); ASM ("addl (%ebx),%eax");
ASM ("adcl %edx,$0h"); ASM ("adcl $0h,%edx");
ASM ("movl %esi,rp"); ASM ("movl rp,%esi");
ASM ("addl %eax,(esi)"); ASM ("addl (%esi),%eax");
ASM ("adcl %edx,$0h"); ASM ("adcl $0h,%edx");
ASM ("movl (%esi),%eax"); ASM ("movl %eax,(%esi)");
ASM ("movl (%ebx),%edx"); ASM ("movl %edx,(%ebx)");
} }