📄 fpubext.c
字号:
#include "fpubext.h"
VOID SetMode(BYTE* from, REGINT sourcemode, BYTE* to, REGINT targetmode)
{
if(sourcemode == targetmode)
{
memcpy(to, from, 8);
}
else // only think about HL,LH IEEE DOUBLE
{
BYTE b[8];
memcpy((BYTE*)&b, from, 8);
memcpy(to, (BYTE*)(&b)+4, 4);
memcpy(to+4, (BYTE*)&b, 4);
}
}
/* parase double value in system matched format */
DOUBLE ext_ParaseDouble(BYTE* buffer, REGINT mode)
{
DOUBLE result = 0;
if(mode == __SYS_DOUBLE_MODE__)
{
memcpy(&result, buffer, 8);
}
else
{
SetMode(buffer, mode, &result, __SYS_DOUBLE_MODE__);
}
return result;
}
/* parase system double into target mode bytes */
VOID ext_ToBuffer(DOUBLE value, REGINT targetMode, BYTE* buffer)
{
if(targetMode == __SYS_DOUBLE_MODE__)
{
memcpy(buffer, &value, 8);
}
else
{
SetMode(&value, __SYS_DOUBLE_MODE__, buffer, targetMode);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -