* 道のり [#s3b4b6c0] 近々のやることリスト - return 文 - function call - const 対応 - float 対応 - ref 対応 * 途中経過 [#l611ad77] #code(c,){{ module App.EntryPoint; utility EntryPoint { static void Arithmetic(const int aA , const int aB) { int add = aA + aB; int sub = aA - aB; int mul = aA * aB; int div = aA / aB; int mod = aA % aB; } static void BitOp(const int aA , const int aB) { int and = aA & aB; int or = aA | aB; int xor = aA ^ aB; } static void ShiftOp(const int aA , const int aB) { int shiftL = aA << aB; int shiftR = aA >> aB; } static void AssignExpr(const int aA) { int val = aA; val += aA; val -= aA; val *= aA; val /= aA; val %= aA; val &= aA; val |= aA; val ^= aA; val <<= aA; val >>= aA; } static void PostfixIncDec() { int a = 1; int inc = a++; int dec = a--; } static void UnaryOp() { int a = 1; int inc = ++a; int dec = --a; int positive = +a; int negative = -a; int bitWiseNot = ~a; bool logicalNot = !(a == 0); } static void DeclBoolVar() { bool boolValue; bool boolValueTrue = true; bool boolValueTrue = false; } static void RelationalOp() { bool lessTest = 1 < 2; bool lessEqualTest = 3 <= 4; bool greaterTest = 5 > 6; bool greaterEqualTest = 7 >= 8; } static void EqualityOp() { bool intEqual = 1 == 2; bool intNotEqual = 2 != 3; bool boolEqual = intEqual == intNotEqual; bool boolNotEqual = intNotEqual != intEqual; } static void LogicalOp( const int aArg ) { bool logicalAnd = 0 <= aArg && aArg < 10; bool logicalOr = 0 < aArg || 10 <= aArg; } static void While() { int i = 0; // normal while ( i < 10 ) { ++i; } // continue test while ( i < 10 ) { i += 1; continue; } // break test while ( i < 10 ) { break; } } static void If( const int aA , const int aB ) { int result; if ( aA == aB ) { result = 0; } else if ( aA < aB ) { result = -1; } else if ( aB < aA ) { result = 1; } } static void DoWhile( const int aLoopCount ) { int i = 1; do { i += i; if ( i == 5 ) {// break test break; } if ( i == 6 ) {// continue test continue; } } while( i < aLoopCount ); } static void For() { for ( int i = 0; i < 10; i++ ) { for ( int k = 0; k < 10; ++k ) {// break test break; } // continue test continue; } } static void ReturnNoType() { return; } static bool ReturnBool( const int aArg ) { if ( ( aArg % 2 ) == 0 ) { return true; } return false; } static void FuncVoidNoArg() { } static void CallFuncVoidNoArg() { FuncVoidNoArg(); } static int FuncIntNoArg() { return 1; } static void CallFuncIntNoArg() { int result = FuncIntNoArg(); } static int FuncIntWithArg( const int aArg ) { return aArg + 1; } static void CallFuncIntWithArg() { int result = FuncIntWithArg( 1 ); } } }} #code(xml,){{ <?xml version="1.0" encoding="utf-8"?> <xdata_root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" major_version="1" minor_version="2" > <!--BCModule--> <!--version (0.1.0.0)--><uint8 value="0"/><uint8 value="1"/><uint8 value="0"/><uint8 value="0"/> <!--path--><string_ref value="App.EntryPoint"/> <!--constantTable--><reference label_name="LabelConstantTable"/> <!--symbolTable--><reference label_name="LabelSymbolTable"/> <!--objectTypeList--><reference label_name="LabelObjectTypeList"/> <!--BCConstantValueTable--> <align value="8"/> <label name="LabelConstantTable"/> <!--size--><uint32 value="40"/> <!--0x0000:--><sint32 value="1"/> <!--0x0004:--><sint32 value="0"/> <!--0x0008:--><sint32 value="2"/> <!--0x000C:--><sint32 value="3"/> <!--0x0010:--><sint32 value="4"/> <!--0x0014:--><sint32 value="5"/> <!--0x0018:--><sint32 value="6"/> <!--0x001C:--><sint32 value="7"/> <!--0x0020:--><sint32 value="8"/> <!--0x0024:--><sint32 value="10"/> <!--BCSymbolTable--> <align value="8"/> <label name="LabelSymbolTable"/> <!--count--><uint32 value="3"/> <string_ref value="App.EntryPoint.FuncVoidNoArg()"/> <string_ref value="App.EntryPoint.FuncIntNoArg()"/> <string_ref value="App.EntryPoint.FuncIntWithArg()"/> <!--BCObjectTypeList--> <align value="4"/> <label name="LabelObjectTypeList"/> <!--count--><uint32 value="1"/> <reference label_name="LabelObjectType:App.EntryPoint"/> <!--BCObjectType(App.EntryPoint)--> <align value="4"/> <label name="LabelObjectType:App.EntryPoint"/> <!--path--><string_ref value="App.EntryPoint"/> <!--FunctionList--><reference label_name="LabelFunctionList:App.EntryPoint"/> <!--BCFunctionList(App.EntryPoint)--> <align value="4"/> <label name="LabelFunctionList:App.EntryPoint"/> <!--count--><uint32 value="22"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.Arithmetic"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.BitOp"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.ShiftOp"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.AssignExpr"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.PostfixIncDec"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.UnaryOp"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.DeclBoolVar"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.RelationalOp"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.EqualityOp"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.LogicalOp"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.While"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.If"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.DoWhile"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.For"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.ReturnNoType"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.ReturnBool"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.FuncVoidNoArg"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.CallFuncVoidNoArg"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.FuncIntNoArg"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.CallFuncIntNoArg"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.FuncIntWithArg"/> <!--Function--><reference label_name="LabelFunction:App.EntryPoint.CallFuncIntWithArg"/> <!--BCFunction(App.EntryPoint.Arithmetic())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.Arithmetic()"/> <!--name--><string_ref value="Arithmetic"/> <reference label_name="LabelOpCode:App.EntryPoint.Arithmetic()"/> <!--BCOpCode(App.EntryPoint.Arithmetic())-28bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.Arithmetic()"/> <!--[0000]FENTER 0x07 0x02--><uint8 value="31"/><uint8 value="7"/><uint8 value="2"/><uint8 value="255"/> <!--[0001]ADDI32 SR02 SR00 SR01--><uint8 value="7"/><uint8 value="2"/><uint8 value="0"/><uint8 value="1"/> <!--[0002]SUBI32 SR03 SR00 SR01--><uint8 value="8"/><uint8 value="3"/><uint8 value="0"/><uint8 value="1"/> <!--[0003]MULS32 SR04 SR00 SR01--><uint8 value="9"/><uint8 value="4"/><uint8 value="0"/><uint8 value="1"/> <!--[0004]DIVS32 SR05 SR00 SR01--><uint8 value="10"/><uint8 value="5"/><uint8 value="0"/><uint8 value="1"/> <!--[0005]MODS32 SR06 SR00 SR01--><uint8 value="11"/><uint8 value="6"/><uint8 value="0"/><uint8 value="1"/> <!--[0006]FLEAVE 0x07--><uint8 value="32"/><uint8 value="7"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.BitOp())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.BitOp()"/> <!--name--><string_ref value="BitOp"/> <reference label_name="LabelOpCode:App.EntryPoint.BitOp()"/> <!--BCOpCode(App.EntryPoint.BitOp())-20bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.BitOp()"/> <!--[0000]FENTER 0x05 0x02--><uint8 value="31"/><uint8 value="5"/><uint8 value="2"/><uint8 value="255"/> <!--[0001]ANDI32 SR02 SR00 SR01--><uint8 value="21"/><uint8 value="2"/><uint8 value="0"/><uint8 value="1"/> <!--[0002]ORI32 SR03 SR00 SR01--><uint8 value="22"/><uint8 value="3"/><uint8 value="0"/><uint8 value="1"/> <!--[0003]XORI32 SR04 SR00 SR01--><uint8 value="23"/><uint8 value="4"/><uint8 value="0"/><uint8 value="1"/> <!--[0004]FLEAVE 0x05--><uint8 value="32"/><uint8 value="5"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.ShiftOp())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.ShiftOp()"/> <!--name--><string_ref value="ShiftOp"/> <reference label_name="LabelOpCode:App.EntryPoint.ShiftOp()"/> <!--BCOpCode(App.EntryPoint.ShiftOp())-16bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.ShiftOp()"/> <!--[0000]FENTER 0x04 0x02--><uint8 value="31"/><uint8 value="4"/><uint8 value="2"/><uint8 value="255"/> <!--[0001]SLLI32 SR02 SR00 SR01--><uint8 value="26"/><uint8 value="2"/><uint8 value="0"/><uint8 value="1"/> <!--[0002]SLRI32 SR03 SR00 SR01--><uint8 value="27"/><uint8 value="3"/><uint8 value="0"/><uint8 value="1"/> <!--[0003]FLEAVE 0x04--><uint8 value="32"/><uint8 value="4"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.AssignExpr())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.AssignExpr()"/> <!--name--><string_ref value="AssignExpr"/> <reference label_name="LabelOpCode:App.EntryPoint.AssignExpr()"/> <!--BCOpCode(App.EntryPoint.AssignExpr())-52bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.AssignExpr()"/> <!--[0000]FENTER 0x02 0x01--><uint8 value="31"/><uint8 value="2"/><uint8 value="1"/><uint8 value="255"/> <!--[0001]LDSRSR SR01 SR00--><uint8 value="4"/><uint8 value="1"/><uint8 value="0"/><uint8 value="255"/> <!--[0002]ADDI32 SR01 SR01 SR00--><uint8 value="7"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0003]SUBI32 SR01 SR01 SR00--><uint8 value="8"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0004]MULS32 SR01 SR01 SR00--><uint8 value="9"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0005]DIVS32 SR01 SR01 SR00--><uint8 value="10"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0006]MODS32 SR01 SR01 SR00--><uint8 value="11"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0007]ANDI32 SR01 SR01 SR00--><uint8 value="21"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0008]ORI32 SR01 SR01 SR00--><uint8 value="22"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0009]XORI32 SR01 SR01 SR00--><uint8 value="23"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[000A]SLLI32 SR01 SR01 SR00--><uint8 value="26"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[000B]SLRI32 SR01 SR01 SR00--><uint8 value="27"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[000C]FLEAVE 0x02--><uint8 value="32"/><uint8 value="2"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.PostfixIncDec())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.PostfixIncDec()"/> <!--name--><string_ref value="PostfixIncDec"/> <reference label_name="LabelOpCode:App.EntryPoint.PostfixIncDec()"/> <!--BCOpCode(App.EntryPoint.PostfixIncDec())-28bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.PostfixIncDec()"/> <!--[0000]FENTER 0x03 0x00--><uint8 value="31"/><uint8 value="3"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0000--><uint8 value="3"/><uint8 value="0"/><uint16 value="0"/> <!--[0002]LDSRSR SR01 SR00--><uint8 value="4"/><uint8 value="1"/><uint8 value="0"/><uint8 value="255"/> <!--[0003]INCI32 SR00--><uint8 value="12"/><uint8 value="0"/><uint16 value="65535"/> <!--[0004]LDSRSR SR02 SR00--><uint8 value="4"/><uint8 value="2"/><uint8 value="0"/><uint8 value="255"/> <!--[0005]DECI32 SR00--><uint8 value="13"/><uint8 value="0"/><uint16 value="65535"/> <!--[0006]FLEAVE 0x03--><uint8 value="32"/><uint8 value="3"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.UnaryOp())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.UnaryOp()"/> <!--name--><string_ref value="UnaryOp"/> <reference label_name="LabelOpCode:App.EntryPoint.UnaryOp()"/> <!--BCOpCode(App.EntryPoint.UnaryOp())-52bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.UnaryOp()"/> <!--[0000]FENTER 0x07 0x00--><uint8 value="31"/><uint8 value="7"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0000--><uint8 value="3"/><uint8 value="0"/><uint16 value="0"/> <!--[0002]INCI32 SR00--><uint8 value="12"/><uint8 value="0"/><uint16 value="65535"/> <!--[0003]LDSRSR SR01 SR00--><uint8 value="4"/><uint8 value="1"/><uint8 value="0"/><uint8 value="255"/> <!--[0004]DECI32 SR00--><uint8 value="13"/><uint8 value="0"/><uint16 value="65535"/> <!--[0005]LDSRSR SR02 SR00--><uint8 value="4"/><uint8 value="2"/><uint8 value="0"/><uint8 value="255"/> <!--[0006]LDSRSR SR03 SR00--><uint8 value="4"/><uint8 value="3"/><uint8 value="0"/><uint8 value="255"/> <!--[0007]NEGS32 SR04 SR00--><uint8 value="14"/><uint8 value="4"/><uint8 value="0"/><uint8 value="255"/> <!--[0008]NTI32 SR05 SR00--><uint8 value="24"/><uint8 value="5"/><uint8 value="0"/><uint8 value="255"/> <!--[0009]LDSRC4 SR06 0x0004--><uint8 value="3"/><uint8 value="6"/><uint16 value="4"/> <!--[000A]EQI32 SR06 SR00 SR06--><uint8 value="17"/><uint8 value="6"/><uint8 value="0"/><uint8 value="6"/> <!--[000B]NTBOOL SR06 SR06--><uint8 value="25"/><uint8 value="6"/><uint8 value="6"/><uint8 value="255"/> <!--[000C]FLEAVE 0x07--><uint8 value="32"/><uint8 value="7"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.DeclBoolVar())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.DeclBoolVar()"/> <!--name--><string_ref value="DeclBoolVar"/> <reference label_name="LabelOpCode:App.EntryPoint.DeclBoolVar()"/> <!--BCOpCode(App.EntryPoint.DeclBoolVar())-20bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.DeclBoolVar()"/> <!--[0000]FENTER 0x03 0x00--><uint8 value="31"/><uint8 value="3"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRZR SR00--><uint8 value="1"/><uint8 value="0"/><uint16 value="65535"/> <!--[0002]LDSRBT SR01--><uint8 value="2"/><uint8 value="1"/><uint16 value="65535"/> <!--[0003]LDSRZR SR02--><uint8 value="1"/><uint8 value="2"/><uint16 value="65535"/> <!--[0004]FLEAVE 0x03--><uint8 value="32"/><uint8 value="3"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.RelationalOp())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.RelationalOp()"/> <!--name--><string_ref value="RelationalOp"/> <reference label_name="LabelOpCode:App.EntryPoint.RelationalOp()"/> <!--BCOpCode(App.EntryPoint.RelationalOp())-56bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.RelationalOp()"/> <!--[0000]FENTER 0x05 0x00--><uint8 value="31"/><uint8 value="5"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0000--><uint8 value="3"/><uint8 value="0"/><uint16 value="0"/> <!--[0002]LDSRC4 SR01 0x0008--><uint8 value="3"/><uint8 value="1"/><uint16 value="8"/> <!--[0003]LTS32 SR00 SR00 SR01--><uint8 value="15"/><uint8 value="0"/><uint8 value="0"/><uint8 value="1"/> <!--[0004]LDSRC4 SR01 0x000C--><uint8 value="3"/><uint8 value="1"/><uint16 value="12"/> <!--[0005]LDSRC4 SR02 0x0010--><uint8 value="3"/><uint8 value="2"/><uint16 value="16"/> <!--[0006]LES32 SR01 SR01 SR02--><uint8 value="16"/><uint8 value="1"/><uint8 value="1"/><uint8 value="2"/> <!--[0007]LDSRC4 SR02 0x0014--><uint8 value="3"/><uint8 value="2"/><uint16 value="20"/> <!--[0008]LDSRC4 SR03 0x0018--><uint8 value="3"/><uint8 value="3"/><uint16 value="24"/> <!--[0009]LTS32 SR02 SR03 SR02--><uint8 value="15"/><uint8 value="2"/><uint8 value="3"/><uint8 value="2"/> <!--[000A]LDSRC4 SR03 0x001C--><uint8 value="3"/><uint8 value="3"/><uint16 value="28"/> <!--[000B]LDSRC4 SR04 0x0020--><uint8 value="3"/><uint8 value="4"/><uint16 value="32"/> <!--[000C]LES32 SR03 SR04 SR03--><uint8 value="16"/><uint8 value="3"/><uint8 value="4"/><uint8 value="3"/> <!--[000D]FLEAVE 0x05--><uint8 value="32"/><uint8 value="5"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.EqualityOp())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.EqualityOp()"/> <!--name--><string_ref value="EqualityOp"/> <reference label_name="LabelOpCode:App.EntryPoint.EqualityOp()"/> <!--BCOpCode(App.EntryPoint.EqualityOp())-40bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.EqualityOp()"/> <!--[0000]FENTER 0x04 0x00--><uint8 value="31"/><uint8 value="4"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0000--><uint8 value="3"/><uint8 value="0"/><uint16 value="0"/> <!--[0002]LDSRC4 SR01 0x0008--><uint8 value="3"/><uint8 value="1"/><uint16 value="8"/> <!--[0003]EQI32 SR00 SR00 SR01--><uint8 value="17"/><uint8 value="0"/><uint8 value="0"/><uint8 value="1"/> <!--[0004]LDSRC4 SR01 0x0008--><uint8 value="3"/><uint8 value="1"/><uint16 value="8"/> <!--[0005]LDSRC4 SR02 0x000C--><uint8 value="3"/><uint8 value="2"/><uint16 value="12"/> <!--[0006]NEI32 SR01 SR01 SR02--><uint8 value="18"/><uint8 value="1"/><uint8 value="1"/><uint8 value="2"/> <!--[0007]EQBOOL SR02 SR00 SR01--><uint8 value="19"/><uint8 value="2"/><uint8 value="0"/><uint8 value="1"/> <!--[0008]NEBOOL SR03 SR01 SR00--><uint8 value="20"/><uint8 value="3"/><uint8 value="1"/><uint8 value="0"/> <!--[0009]FLEAVE 0x04--><uint8 value="32"/><uint8 value="4"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.LogicalOp())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.LogicalOp()"/> <!--name--><string_ref value="LogicalOp"/> <reference label_name="LabelOpCode:App.EntryPoint.LogicalOp()"/> <!--BCOpCode(App.EntryPoint.LogicalOp())-48bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.LogicalOp()"/> <!--[0000]FENTER 0x03 0x01--><uint8 value="31"/><uint8 value="3"/><uint8 value="1"/><uint8 value="255"/> <!--[0001]LDSRC4 SR01 0x0004--><uint8 value="3"/><uint8 value="1"/><uint16 value="4"/> <!--[0002]LES32 SR01 SR01 SR00--><uint8 value="16"/><uint8 value="1"/><uint8 value="1"/><uint8 value="0"/> <!--[0003]JMPNEG SR01 +00003--><uint8 value="30"/><uint8 value="1"/><sint16 value="3"/> <!--[0004]LDSRC4 SR01 0x0024--><uint8 value="3"/><uint8 value="1"/><uint16 value="36"/> <!--[0005]LTS32 SR01 SR00 SR01--><uint8 value="15"/><uint8 value="1"/><uint8 value="0"/><uint8 value="1"/> <!--[0006]LDSRC4 SR02 0x0004--><uint8 value="3"/><uint8 value="2"/><uint16 value="4"/> <!--[0007]LTS32 SR02 SR02 SR00--><uint8 value="15"/><uint8 value="2"/><uint8 value="2"/><uint8 value="0"/> <!--[0008]JMPPOS SR02 +00003--><uint8 value="29"/><uint8 value="2"/><sint16 value="3"/> <!--[0009]LDSRC4 SR02 0x0024--><uint8 value="3"/><uint8 value="2"/><uint16 value="36"/> <!--[000A]LES32 SR02 SR02 SR00--><uint8 value="16"/><uint8 value="2"/><uint8 value="2"/><uint8 value="0"/> <!--[000B]FLEAVE 0x03--><uint8 value="32"/><uint8 value="3"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.While())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.While()"/> <!--name--><string_ref value="While"/> <reference label_name="LabelOpCode:App.EntryPoint.While()"/> <!--BCOpCode(App.EntryPoint.While())-80bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.While()"/> <!--[0000]FENTER 0x02 0x00--><uint8 value="31"/><uint8 value="2"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0004--><uint8 value="3"/><uint8 value="0"/><uint16 value="4"/> <!--[0002]LDSRC4 SR01 0x0024--><uint8 value="3"/><uint8 value="1"/><uint16 value="36"/> <!--[0003]LTS32 SR01 SR00 SR01--><uint8 value="15"/><uint8 value="1"/><uint8 value="0"/><uint8 value="1"/> <!--[0004]JMPNEG SR01 +00003--><uint8 value="30"/><uint8 value="1"/><sint16 value="3"/> <!--[0005]INCI32 SR00--><uint8 value="12"/><uint8 value="0"/><uint16 value="65535"/> <!--[0006]JMP -00004--><uint8 value="28"/><uint8 value="255"/><sint16 value="-4"/> <!--[0007]LDSRC4 SR01 0x0024--><uint8 value="3"/><uint8 value="1"/><uint16 value="36"/> <!--[0008]LTS32 SR01 SR00 SR01--><uint8 value="15"/><uint8 value="1"/><uint8 value="0"/><uint8 value="1"/> <!--[0009]JMPNEG SR01 +00005--><uint8 value="30"/><uint8 value="1"/><sint16 value="5"/> <!--[000A]LDSRC4 SR01 0x0000--><uint8 value="3"/><uint8 value="1"/><uint16 value="0"/> <!--[000B]ADDI32 SR00 SR00 SR01--><uint8 value="7"/><uint8 value="0"/><uint8 value="0"/><uint8 value="1"/> <!--[000C]JMP -00005--><uint8 value="28"/><uint8 value="255"/><sint16 value="-5"/> <!--[000D]JMP -00006--><uint8 value="28"/><uint8 value="255"/><sint16 value="-6"/> <!--[000E]LDSRC4 SR01 0x0024--><uint8 value="3"/><uint8 value="1"/><uint16 value="36"/> <!--[000F]LTS32 SR01 SR00 SR01--><uint8 value="15"/><uint8 value="1"/><uint8 value="0"/><uint8 value="1"/> <!--[0010]JMPNEG SR01 +00003--><uint8 value="30"/><uint8 value="1"/><sint16 value="3"/> <!--[0011]JMP +00002--><uint8 value="28"/><uint8 value="255"/><sint16 value="2"/> <!--[0012]JMP -00004--><uint8 value="28"/><uint8 value="255"/><sint16 value="-4"/> <!--[0013]FLEAVE 0x02--><uint8 value="32"/><uint8 value="2"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.If())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.If()"/> <!--name--><string_ref value="If"/> <reference label_name="LabelOpCode:App.EntryPoint.If()"/> <!--BCOpCode(App.EntryPoint.If())-60bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.If()"/> <!--[0000]FENTER 0x04 0x02--><uint8 value="31"/><uint8 value="4"/><uint8 value="2"/><uint8 value="255"/> <!--[0001]LDSRZR SR02--><uint8 value="1"/><uint8 value="2"/><uint16 value="65535"/> <!--[0002]EQI32 SR03 SR00 SR01--><uint8 value="17"/><uint8 value="3"/><uint8 value="0"/><uint8 value="1"/> <!--[0003]JMPNEG SR03 +00003--><uint8 value="30"/><uint8 value="3"/><sint16 value="3"/> <!--[0004]LDSRC4 SR02 0x0004--><uint8 value="3"/><uint8 value="2"/><uint16 value="4"/> <!--[0005]JMP +00009--><uint8 value="28"/><uint8 value="255"/><sint16 value="9"/> <!--[0006]LTS32 SR03 SR00 SR01--><uint8 value="15"/><uint8 value="3"/><uint8 value="0"/><uint8 value="1"/> <!--[0007]JMPNEG SR03 +00004--><uint8 value="30"/><uint8 value="3"/><sint16 value="4"/> <!--[0008]LDSRC4 SR03 0x0000--><uint8 value="3"/><uint8 value="3"/><uint16 value="0"/> <!--[0009]NEGS32 SR02 SR03--><uint8 value="14"/><uint8 value="2"/><uint8 value="3"/><uint8 value="255"/> <!--[000A]JMP +00004--><uint8 value="28"/><uint8 value="255"/><sint16 value="4"/> <!--[000B]LTS32 SR03 SR01 SR00--><uint8 value="15"/><uint8 value="3"/><uint8 value="1"/><uint8 value="0"/> <!--[000C]JMPNEG SR03 +00002--><uint8 value="30"/><uint8 value="3"/><sint16 value="2"/> <!--[000D]LDSRC4 SR02 0x0000--><uint8 value="3"/><uint8 value="2"/><uint16 value="0"/> <!--[000E]FLEAVE 0x04--><uint8 value="32"/><uint8 value="4"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.DoWhile())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.DoWhile()"/> <!--name--><string_ref value="DoWhile"/> <reference label_name="LabelOpCode:App.EntryPoint.DoWhile()"/> <!--BCOpCode(App.EntryPoint.DoWhile())-56bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.DoWhile()"/> <!--[0000]FENTER 0x03 0x01--><uint8 value="31"/><uint8 value="3"/><uint8 value="1"/><uint8 value="255"/> <!--[0001]LDSRC4 SR01 0x0000--><uint8 value="3"/><uint8 value="1"/><uint16 value="0"/> <!--[0002]ADDI32 SR01 SR01 SR01--><uint8 value="7"/><uint8 value="1"/><uint8 value="1"/><uint8 value="1"/> <!--[0003]LDSRC4 SR02 0x0014--><uint8 value="3"/><uint8 value="2"/><uint16 value="20"/> <!--[0004]EQI32 SR02 SR01 SR02--><uint8 value="17"/><uint8 value="2"/><uint8 value="1"/><uint8 value="2"/> <!--[0005]JMPNEG SR02 +00002--><uint8 value="30"/><uint8 value="2"/><sint16 value="2"/> <!--[0006]JMP +00007--><uint8 value="28"/><uint8 value="255"/><sint16 value="7"/> <!--[0007]LDSRC4 SR02 0x0018--><uint8 value="3"/><uint8 value="2"/><uint16 value="24"/> <!--[0008]EQI32 SR02 SR01 SR02--><uint8 value="17"/><uint8 value="2"/><uint8 value="1"/><uint8 value="2"/> <!--[0009]JMPNEG SR02 +00002--><uint8 value="30"/><uint8 value="2"/><sint16 value="2"/> <!--[000A]JMP +00001--><uint8 value="28"/><uint8 value="255"/><sint16 value="1"/> <!--[000B]LTS32 SR02 SR01 SR00--><uint8 value="15"/><uint8 value="2"/><uint8 value="1"/><uint8 value="0"/> <!--[000C]JMPPOS SR02 -00010--><uint8 value="29"/><uint8 value="2"/><sint16 value="-10"/> <!--[000D]FLEAVE 0x03--><uint8 value="32"/><uint8 value="3"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.For())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.For()"/> <!--name--><string_ref value="For"/> <reference label_name="LabelOpCode:App.EntryPoint.For()"/> <!--BCOpCode(App.EntryPoint.For())-72bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.For()"/> <!--[0000]FENTER 0x03 0x00--><uint8 value="31"/><uint8 value="3"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0004--><uint8 value="3"/><uint8 value="0"/><uint16 value="4"/> <!--[0002]JMP +00002--><uint8 value="28"/><uint8 value="255"/><sint16 value="2"/> <!--[0003]INCI32 SR00--><uint8 value="12"/><uint8 value="0"/><uint16 value="65535"/> <!--[0004]LDSRC4 SR01 0x0024--><uint8 value="3"/><uint8 value="1"/><uint16 value="36"/> <!--[0005]LTS32 SR01 SR00 SR01--><uint8 value="15"/><uint8 value="1"/><uint8 value="0"/><uint8 value="1"/> <!--[0006]JMPNEG SR01 +00011--><uint8 value="30"/><uint8 value="1"/><sint16 value="11"/> <!--[0007]LDSRC4 SR01 0x0004--><uint8 value="3"/><uint8 value="1"/><uint16 value="4"/> <!--[0008]JMP +00002--><uint8 value="28"/><uint8 value="255"/><sint16 value="2"/> <!--[0009]INCI32 SR01--><uint8 value="12"/><uint8 value="1"/><uint16 value="65535"/> <!--[000A]LDSRC4 SR02 0x0024--><uint8 value="3"/><uint8 value="2"/><uint16 value="36"/> <!--[000B]LTS32 SR02 SR01 SR02--><uint8 value="15"/><uint8 value="2"/><uint8 value="1"/><uint8 value="2"/> <!--[000C]JMPNEG SR02 +00003--><uint8 value="30"/><uint8 value="2"/><sint16 value="3"/> <!--[000D]JMP +00002--><uint8 value="28"/><uint8 value="255"/><sint16 value="2"/> <!--[000E]JMP -00005--><uint8 value="28"/><uint8 value="255"/><sint16 value="-5"/> <!--[000F]JMP -00012--><uint8 value="28"/><uint8 value="255"/><sint16 value="-12"/> <!--[0010]JMP -00013--><uint8 value="28"/><uint8 value="255"/><sint16 value="-13"/> <!--[0011]FLEAVE 0x03--><uint8 value="32"/><uint8 value="3"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.ReturnNoType())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.ReturnNoType()"/> <!--name--><string_ref value="ReturnNoType"/> <reference label_name="LabelOpCode:App.EntryPoint.ReturnNoType()"/> <!--BCOpCode(App.EntryPoint.ReturnNoType())-12bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.ReturnNoType()"/> <!--[0000]FENTER 0x00 0x00--><uint8 value="31"/><uint8 value="0"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]JMP +00001--><uint8 value="28"/><uint8 value="255"/><sint16 value="1"/> <!--[0002]FLEAVE 0x00--><uint8 value="32"/><uint8 value="0"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.ReturnBool())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.ReturnBool()"/> <!--name--><string_ref value="ReturnBool"/> <reference label_name="LabelOpCode:App.EntryPoint.ReturnBool()"/> <!--BCOpCode(App.EntryPoint.ReturnBool())-44bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.ReturnBool()"/> <!--[0000]FENTER 0x04 0x02--><uint8 value="31"/><uint8 value="4"/><uint8 value="2"/><uint8 value="255"/> <!--[0001]LDSRC4 SR02 0x0008--><uint8 value="3"/><uint8 value="2"/><uint16 value="8"/> <!--[0002]MODS32 SR02 SR01 SR02--><uint8 value="11"/><uint8 value="2"/><uint8 value="1"/><uint8 value="2"/> <!--[0003]LDSRC4 SR03 0x0004--><uint8 value="3"/><uint8 value="3"/><uint16 value="4"/> <!--[0004]EQI32 SR02 SR02 SR03--><uint8 value="17"/><uint8 value="2"/><uint8 value="2"/><uint8 value="3"/> <!--[0005]JMPNEG SR02 +00003--><uint8 value="30"/><uint8 value="2"/><sint16 value="3"/> <!--[0006]LDSRBT SR00--><uint8 value="2"/><uint8 value="0"/><uint16 value="65535"/> <!--[0007]JMP +00003--><uint8 value="28"/><uint8 value="255"/><sint16 value="3"/> <!--[0008]LDSRZR SR00--><uint8 value="1"/><uint8 value="0"/><uint16 value="65535"/> <!--[0009]JMP +00001--><uint8 value="28"/><uint8 value="255"/><sint16 value="1"/> <!--[000A]FLEAVE 0x04--><uint8 value="32"/><uint8 value="4"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.FuncVoidNoArg())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.FuncVoidNoArg()"/> <!--name--><string_ref value="FuncVoidNoArg"/> <reference label_name="LabelOpCode:App.EntryPoint.FuncVoidNoArg()"/> <!--BCOpCode(App.EntryPoint.FuncVoidNoArg())-8bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.FuncVoidNoArg()"/> <!--[0000]FENTER 0x00 0x00--><uint8 value="31"/><uint8 value="0"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]FLEAVE 0x00--><uint8 value="32"/><uint8 value="0"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.CallFuncVoidNoArg())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.CallFuncVoidNoArg()"/> <!--name--><string_ref value="CallFuncVoidNoArg"/> <reference label_name="LabelOpCode:App.EntryPoint.CallFuncVoidNoArg()"/> <!--BCOpCode(App.EntryPoint.CallFuncVoidNoArg())-12bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.CallFuncVoidNoArg()"/> <!--[0000]FENTER 0x00 0x00--><uint8 value="31"/><uint8 value="0"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]CALL App.EntryPoint.FuncVoidNoArg()--><uint8 value="33"/><uint8 value="255"/><uint16 value="0"/> <!--[0002]FLEAVE 0x00--><uint8 value="32"/><uint8 value="0"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.FuncIntNoArg())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.FuncIntNoArg()"/> <!--name--><string_ref value="FuncIntNoArg"/> <reference label_name="LabelOpCode:App.EntryPoint.FuncIntNoArg()"/> <!--BCOpCode(App.EntryPoint.FuncIntNoArg())-16bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.FuncIntNoArg()"/> <!--[0000]FENTER 0x01 0x01--><uint8 value="31"/><uint8 value="1"/><uint8 value="1"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0000--><uint8 value="3"/><uint8 value="0"/><uint16 value="0"/> <!--[0002]JMP +00001--><uint8 value="28"/><uint8 value="255"/><sint16 value="1"/> <!--[0003]FLEAVE 0x01--><uint8 value="32"/><uint8 value="1"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.CallFuncIntNoArg())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.CallFuncIntNoArg()"/> <!--name--><string_ref value="CallFuncIntNoArg"/> <reference label_name="LabelOpCode:App.EntryPoint.CallFuncIntNoArg()"/> <!--BCOpCode(App.EntryPoint.CallFuncIntNoArg())-16bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.CallFuncIntNoArg()"/> <!--[0000]FENTER 0x01 0x00--><uint8 value="31"/><uint8 value="1"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]CALL App.EntryPoint.FuncIntNoArg()--><uint8 value="33"/><uint8 value="255"/><uint16 value="1"/> <!--[0002]LDSRFZ SR00--><uint8 value="5"/><uint8 value="0"/><uint16 value="65535"/> <!--[0003]FLEAVE 0x01--><uint8 value="32"/><uint8 value="1"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.FuncIntWithArg())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.FuncIntWithArg()"/> <!--name--><string_ref value="FuncIntWithArg"/> <reference label_name="LabelOpCode:App.EntryPoint.FuncIntWithArg()"/> <!--BCOpCode(App.EntryPoint.FuncIntWithArg())-20bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.FuncIntWithArg()"/> <!--[0000]FENTER 0x02 0x02--><uint8 value="31"/><uint8 value="2"/><uint8 value="2"/><uint8 value="255"/> <!--[0001]LDSRC4 SR00 0x0000--><uint8 value="3"/><uint8 value="0"/><uint16 value="0"/> <!--[0002]ADDI32 SR00 SR01 SR00--><uint8 value="7"/><uint8 value="0"/><uint8 value="1"/><uint8 value="0"/> <!--[0003]JMP +00001--><uint8 value="28"/><uint8 value="255"/><sint16 value="1"/> <!--[0004]FLEAVE 0x02--><uint8 value="32"/><uint8 value="2"/><uint16 value="65535"/> <!--BCFunction(App.EntryPoint.CallFuncIntWithArg())--> <align value="4"/> <label name="LabelFunction:App.EntryPoint.CallFuncIntWithArg()"/> <!--name--><string_ref value="CallFuncIntWithArg"/> <reference label_name="LabelOpCode:App.EntryPoint.CallFuncIntWithArg()"/> <!--BCOpCode(App.EntryPoint.CallFuncIntWithArg())-24bytes--> <align value="4"/> <label name="LabelOpCode:App.EntryPoint.CallFuncIntWithArg()"/> <!--[0000]FENTER 0x02 0x00--><uint8 value="31"/><uint8 value="2"/><uint8 value="0"/><uint8 value="255"/> <!--[0001]LDSRC4 SR01 0x0000--><uint8 value="3"/><uint8 value="1"/><uint16 value="0"/> <!--[0002]LDFRSR FR01 SR01--><uint8 value="6"/><uint8 value="1"/><uint8 value="1"/><uint8 value="255"/> <!--[0003]CALL App.EntryPoint.FuncIntWithArg()--><uint8 value="33"/><uint8 value="255"/><uint16 value="2"/> <!--[0004]LDSRFZ SR00--><uint8 value="5"/><uint8 value="0"/><uint16 value="65535"/> <!--[0005]FLEAVE 0x02--><uint8 value="32"/><uint8 value="2"/><uint16 value="65535"/> </xdata_root> }} * 仕様変更履歴 [#a0f3a6ff] :2010/08/08| - 変更点が多すぎて履歴を保守していくのが大変になってきた・・・。svnのログでも貼り付けようかしら。 :2010/08/06| - VM -- 命令コード,ゼロ代入とtrue代入を追加。 :2010/08/05| - VM -- 命令コード,比較演算を追加。 :2010/08/04| - Language -- ver1.0ではint32,uint32,float32に絞る。 -- 8bit,16bit,64bitの数値はサポートしない。 :2010/08/03| - VM -- 最大引数の仕様を変更(voidな戻り値の関数は+1) :2010/07/31| - Language -- インターフェースの委譲を削除。 -- 固定長配列をver2.0に変更。 -- publicメンバ変数のラッパー関数仕様を削除。オフセット位置をリンク時に計算する仕様に変更。 -- invariantの実装をver2.0に変更。 |