コード例 #1
0
ファイル: Vtil.cs プロジェクト: vtil-project/VTIL-Kaitai
 private void _read()
 {
     _vip = m_io.ReadU8le();
     _volatileRegistersCount = m_io.ReadU4le();
     _volatileRegisters      = new List <RegisterDesc>((int)(VolatileRegistersCount));
     for (var i = 0; i < VolatileRegistersCount; i++)
     {
         _volatileRegisters.Add(new RegisterDesc(m_io, this, m_root));
     }
     _paramRegistersCount = m_io.ReadU4le();
     _paramRegisters      = new List <RegisterDesc>((int)(ParamRegistersCount));
     for (var i = 0; i < ParamRegistersCount; i++)
     {
         _paramRegisters.Add(new RegisterDesc(m_io, this, m_root));
     }
     _retvalRegistersCount = m_io.ReadU4le();
     _retvalRegisters      = new List <RegisterDesc>((int)(RetvalRegistersCount));
     for (var i = 0; i < RetvalRegistersCount; i++)
     {
         _retvalRegisters.Add(new RegisterDesc(m_io, this, m_root));
     }
     _frameRegister = new RegisterDesc(m_io, this, m_root);
     _shadowSpace   = m_io.ReadU8le();
     _purgeStack    = m_io.ReadU1();
 }
コード例 #2
0
ファイル: Vtil.cs プロジェクト: vtil-project/VTIL-Kaitai
            private void _read()
            {
                _spIndex = m_io.ReadU4le();
                switch (SpIndex)
                {
                case 0: {
                    _operand = new ImmediateDesc(m_io, this, m_root);
                    break;
                }

                case 1: {
                    _operand = new RegisterDesc(m_io, this, m_root);
                    break;
                }
                }
            }