⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 poly_mul64.s

📁 LINUX1.0内核源代码,学习LINUX编程的一定要看。
💻 S
字号:
/*---------------------------------------------------------------------------+ |  poly_mul64.S                                                             | |                                                                           | | Multiply two 64 bit integers.                                             | |                                                                           | | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      | |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    | |                                                                           | | Call from C as:                                                           | |   void mul64(long long *a, long long *b, long long *result)               | |                                                                           | +---------------------------------------------------------------------------*/#include "fpu_asm.h".text	.align 2,144.globl _mul64_mul64:	pushl %ebp	movl %esp,%ebp	subl $16,%esp	pushl %esi	pushl %ebx	movl PARAM1,%esi	movl PARAM2,%ecx	movl PARAM3,%ebx	xor %eax,%eax	movl %eax,-4(%ebp)	movl %eax,-8(%ebp)	movl (%esi),%eax	mull (%ecx)	movl %eax,-16(%ebp)	/* Not used */	movl %edx,-12(%ebp)	movl (%esi),%eax	mull 4(%ecx)	addl %eax,-12(%ebp)	adcl %edx,-8(%ebp)	adcl $0,-4(%ebp)	movl 4(%esi),%eax	mull (%ecx)	addl %eax,-12(%ebp)	adcl %edx,-8(%ebp)	adcl $0,-4(%ebp)	movl 4(%esi),%eax	mull 4(%ecx)	addl %eax,-8(%ebp)	adcl %edx,-4(%ebp)	testb $128,-9(%ebp)	je L_no_round	addl $1,-8(%ebp)	adcl $0,-4(%ebp)L_no_round:	movl -8(%ebp),%esi	movl %esi,(%ebx)	movl -4(%ebp),%esi	movl %esi,4(%ebx)	popl %ebx	popl %esi	leave	ret

⌨️ 快捷键说明

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