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

📄 krecip.asm

📁 小型游戏引擎
💻 ASM
字号:
; ************************; **  Start Data Block  **; ************************SECTION .dataextern fpuasmextern reciptableglobal _asm_krecipasm; ************************; **  Start Code Block  **; ************************SEGMENT .text; Ignore all the 'offset's in the code AH%idefine offsetALIGN 16;	"mov fpuasm, eax",\;	"fild dword ptr fpuasm",\;	"add eax, eax",\;	"fstp dword ptr fpuasm",\;	"sbb ebx, ebx",\;	"mov eax, fpuasm",\;	"mov ecx, eax",\;	"and eax, 0x007ff000",\;	"shr eax, 10",\;	"sub ecx, 0x3f800000",\;	"shr ecx, 23",\;	"mov eax, dword ptr reciptable[eax]",\;	"sar eax, cl",\;	"xor eax, ebx",\_asm_krecipasm:	mov [fpuasm], eax	; Store parameter to memory	fild dword [fpuasm]     ; Convert the 32-bit int to a fp	add eax, eax            ; Double the int param's value	fstp dword [fpuasm]     ; Put the 32-bit float to memory	sbb ebx, ebx            ; Puts 0 - (carry bit) into ebx AFFECTED BY "add eax eax"!!!	mov eax, dword [fpuasm]	mov ecx, eax	and eax, 007ff000h	shr eax, 10	sub ecx, 03f800000h	shr ecx, 23	mov eax, dword [reciptable + eax]	sar eax, cl	xor eax, ebx	ret

⌨️ 快捷键说明

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