📄 flbase.c
字号:
/***********************************************************************************/
/* M-Systems Confidential */
/* Copyright (C) M-Systems Flash Disk Pioneers Ltd. 1995-2003 */
/* All Rights Reserved */
/***********************************************************************************/
/* NOTICE OF M-SYSTEMS OEM */
/* SOFTWARE LICENSE AGREEMENT */
/* */
/* THE USE OF THIS SOFTWARE IS GOVERNED BY A SEPARATE LICENSE */
/* AGREEMENT BETWEEN THE OEM AND M-SYSTEMS. REFER TO THAT AGREEMENT */
/* FOR THE SPECIFIC TERMS AND CONDITIONS OF USE, */
/* OR CONTACT M-SYSTEMS FOR LICENSE ASSISTANCE: */
/* E-MAIL = info@m-sys.com */
/***********************************************************************************/
/*
* $Log: V:/PVCSDB/DiskOnChip/archives/general storage/TrueFFS/src/core/flbase.c-arc $
*
* Rev 1.0 Apr 09 2003 12:16:04 OriS
* Initial revision.
*
*/
#include "flbase.h"
#ifdef FL_BIG_ENDIAN
/*----------------------------------------------------------------------*/
/* Little / Big - Endian Conversion Routines */
/*----------------------------------------------------------------------*/
void toLEushort(FLByte FAR0 *le, FLWord n)
{
le[1] = (FLByte)(n >> 8);
le[0] = (FLByte)n;
}
FLWord fromLEushort(FLByte const FAR0 *le)
{
return ((FLWord)le[1] << 8) + le[0];
}
void toLEulong(FLByte FAR0 *le, FLDword n)
{
le[3] = (FLByte)(n >> 24);
le[2] = (FLByte)(n >> 16);
le[1] = (FLByte)(n >> 8);
le[0] = (FLByte)n;
}
FLDword fromLEulong(FLByte const FAR0 *le)
{
return ((FLDword)le[3] << 24) +
((FLDword)le[2] << 16) +
((FLDword)le[1] << 8) +
le[0];
}
extern void copyShort(FLByte FAR0 *to, FLByte const FAR0 *from)
{
to[0] = from[0];
to[1] = from[1];
}
extern void copyLong(FLByte FAR0 *to, FLByte const FAR0 *from)
{
to[0] = from[0];
to[1] = from[1];
to[2] = from[2];
to[3] = from[3];
}
#else
void toUNAL(FLByte FAR0 *unal, FLWord n)
{
unal[1] = (FLByte)(n >> 8);
unal[0] = (FLByte)n;
}
FLWord fromUNAL(FLByte const FAR0 *unal)
{
return ((FLWord)unal[1] << 8) + unal[0];
}
void toUNALLONG(Unaligned FAR0 *unal, FLDword n)
{
toUNAL(unal[0],(FLWord)n);
toUNAL(unal[1],(FLWord)(n >> 16));
}
FLDword fromUNALLONG(Unaligned const FAR0 *unal)
{
return fromUNAL(unal[0]) +
((FLDword)fromUNAL(unal[1]) << 16);
}
#endif /* FL_BIG_ENDIAN */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -