idigitveccsubto.c

来自「Arithmetic for integers of almost unlimi」· C语言 代码 · 共 54 行

C
54
字号
/* idigitveccsubto.c - inline assembler code for MSVC++6.0 on Intel586 *//* TPf, Sep 1999 */#include <iint.h>#include <idigit.h>#if !defined(USE_C_DIGITVECCSUBTO)void DigitVecCsubto(a, b, l)    DigitType *a, *b;    int l; /* a[]-=b[l]; */{__asm    {/*	.text	.align 4	.globl USCORE(DigitVecCsubto)USCORE(DigitVecCsubto): */				; push ebx				; push edi				; push esi	mov eax, a		; DWORD PTR 16[esp]	mov ebx, b		; DWORD PTR 20[esp]	mov ecx, l		; DWORD PTR 24[esp]	xor edi,edi	xor esi,esi	test ecx,ecx	jz L3L1:	shr esi, 1	mov edx, DWORD PTR [eax+edi*4]	sbb edx, DWORD PTR [ebx+edi*4]	mov DWORD PTR [eax+edi*4], edx	adc esi, 0	inc edi	dec ecx	jnz L1	test esi,esi	jz L3L2:	sub DWORD PTR [eax+edi*4], 1	inc edi	jb L2L3: 				; pop esi				; pop edi				; pop ebx    }}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?