📄 iflib.c
字号:
#include "iflib.h"#define USEMOVQvoidwrite64(int64 twrite, char *addr){#ifdef USEMOVQ __asm__ __volatile__( " movl %1,%%ecx\n movq %0,%%mm0\n movq %%mm0,(%%ecx)\n " : : "m" (twrite), "g" (addr) );#else *((int *)(addr + 4)) = twrite.w[1]; *((int *)addr) = twrite.w[0];#endif}voidread64(int64 *data, char *addr){#ifdef USEMOVQ int64 tread; __asm__ __volatile__( " movl %1,%%ecx\n movq (%%ecx),%%mm1\n movq %%mm1,%0\n " : "=m" (tread) : "g" (addr) ); data->w[0] = tread.w[0]; data->w[1] = tread.w[1];#else data->w[0] = *((int *)addr); data->w[1] = *((int *)(addr + 4));#endif}voidwrite32(int twrite, char *addr){ *((int *)addr) = twrite;}voidread32(int *data, char *addr){ *data = *((int *)addr);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -