📄 opcodes.cpp
字号:
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 190h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 1A0h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 1B0h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 1C0h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 1D0h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 1E0h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
// 1F0h
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode, // filler
&IllegalOpCode // filler
// No more allowed
};
const OPCODEFUNC FuncOpCode::FuncOpCodeTable[] =
{
&Addr,
&Asc,
&IllegalFuncOpCode,
&Count,
&Day,
&Dow,
&Eof,
&Err,
&Exist,
&Find,
&Get,
&Ioa,
&Iow,
&IoOpen,
&IoWrite,
&IoRead,
// 10h
&IoClose,
&IoWait,
&Hour,
&Key,
&Len,
&Loc,
&Minute,
&Month,
&PeekB,
&PeekW,
&Pos,
&IllegalFuncOpCode, // was RecSize
&Second,
&IllegalFuncOpCode,
&Year,
&SAddr,
// 20h
&Week,
&IoSeek,
&Kmod,
&KeyA,
&KeyC,
&IoOpenUnique,
&gCreate,
&gCreateBit,
&gLoadBit,
&gLoadFont,
&gRank,
&gIdentity,
&gX,
&gY,
&gWidth,
&gHeight,
// 30h
&gOriginX,
&gOriginY,
&gTWidth,
&gPrintClip,
&TestEvent,
&IllegalFuncOpCode,
&Menu,
&Dialog,
&Alert,
&gCreateEnhanced,
&MenuWithMemory,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// 40h
&Days,
&IAbs,
&IntLong,
&PeekL,
&Space,
&DateToSecs,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&Alloc,
&ReAlloc,
&AdjustAlloc,
&LenAlloc,
&Ioc,
// 50h
&Uadd,
&Usub,
&IoCancel,
&IllegalFuncOpCode,
&FindField,
&Bookmark,
&GetEventC,
&InTrans,
&mPopup,
&IllegalFuncOpCode, // was going to be ModInt32
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// 60h
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// 70h
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// 80h
&Abs,
&ACos,
&ASin,
&ATan,
&Cos,
&Deg,
&Exp,
&Flt,
&Intf,
&Ln,
&Log,
&PeekF,
&Pi,
&Rad,
&Rnd,
&Sin,
// 90h
&Sqr,
&Tan,
&Val,
&Max,
&Mean,
&Min,
&Std,
&Sum,
&Var,
&Eval,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// a0h
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// b0h
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
// c0h
&ChrStr,
&DatimStr,
&DayNameStr,
&DirStr,
&ErrStr,
&FixStr,
&GenStr,
&GetStr,
&HexStr,
&KeyStr,
&LeftStr,
&LowerStr,
&MidStr,
&MonthStr,
&NumStr,
&PeekStr,
// d0h
&ReptStr,
&RightStr,
&SciStr,
&UpperStr,
&IllegalFuncOpCode,
&WCmd,
&CmdStr,
&ParseStr,
&ErrxStr,
&GetDocStr,
&Size,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
&IllegalFuncOpCode,
};
void OpCode::CallFunction(CStack& aStack, COplRuntime& aRuntime, CFrame* aFramePtr)
{
TUint funcCode=aRuntime.IP8();
FuncOpCode::FuncOpCodeTable[funcCode](aStack,aRuntime,aFramePtr);
}
void OpCode::IllegalOpCode(CStack&, COplRuntime&, CFrame*)
{
User::Leave(KOplErrIllegal);
}
void FuncOpCode::IllegalFuncOpCode(CStack&, COplRuntime&, CFrame* )
{
// Worth keeping this separate from IllegalOpcode() for debugging?
User::Leave(KOplErrIllegal);
}
#if defined(INTERNAL_RELEASE)
void OpCode::__Dummy(CStack& aStack, COplRuntime& aRuntime, CFrame*)
// Called by DiamPos i% in internal releases
{
TInt16 val=aStack.PopInt16();
#ifdef _HISTORY
if (val==KSwitchHistoryOn)
{
aRuntime.SetStateFlags(KHistoryEnabled);
return;
}
else if (val==KSwitchHistoryOff)
{
aRuntime.ClearStateFlags(KHistoryEnabled);
return;
}
#endif
TBuf<16> buf;
_LIT(KDummy,"__Dummy: %d");
buf.Format(KDummy,val);
((CEikonEnv*)aRuntime.ConEnv())->AlertWin(buf);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -