📄 idigitvecmusub.c
字号:
/* idigitvecmusub.c - inline assembler code for MSVC++6.0 on Intel586 *//* TPf, Sep 1999 */#include <iint.h>#include <idigit.h>#if !defined(USE_C_DIGITVECMULTSUB)DigitType DigitVecMultSub(res, a, m, l) DigitType *res, *a, m; int l; /* res[0..l-1] -= a[0..l-1]*m; return CARRY; */ /* Special function for multiple digit division */{__asm {/* .text .align 4 .globl USCORE(DigitVecMultSub)USCORE(DigitVecMultSub): */ ; push ebx ; push edi ; push esi ; push ebp mov ebx, res ; DWORD PTR 20[esp] mov edi, a ; DWORD PTR 24[esp] mov esi, m ; DWORD PTR 28[esp] mov ecx, l ; DWORD PTR 32[esp] xor ebp,ebp test ecx,ecx jz L2L1: mov eax, DWORD PTR [edi] add edi, 4 mul esi add eax, ebp mov ebp, edx adc ebp, 0 sub DWORD PTR [ebx], eax adc ebp, 0 add ebx, 4 dec ecx jnz L1L2: mov eax, ebp ; pop ebp ; pop esi ; pop edi ; pop ebx }}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -