Пример #1
0
        private static ItemSelectableCollection <RelocatableModule> AssignLabelAddress(
            this ItemSelectableCollection <RelocatableModule> relModules)
        {
            MemoryAddress baseAddress = LoadAddress;

            foreach (RelocatableModule relModule in relModules)
            {
                relModule.AssignLabelAddress(baseAddress);

                MemorySize wordsSize = relModule.GetWordsSize();
                baseAddress = baseAddress.Add(wordsSize);
            }

            return(relModules);
        }
Пример #2
0
 /// <summary>
 /// 定義したラベルに実行可能モジュールでの絶対アドレスを割り当てます。
 /// </summary>
 /// <param name="baseAddress">
 /// ラベルが定義された再配置可能モジュールが実行可能モジュールで配置されるアドレスです。
 /// </param>
 internal void AssignAbsAddress(MemoryAddress baseAddress)
 {
     m_absAddress = baseAddress.Add(m_relOffset);
 }
Пример #3
0
        private MemoryAddress AddSize(MemoryAddress address, UInt16 sizeValue)
        {
            MemorySize size = new MemorySize(sizeValue);

            return(address.Add(size));
        }
Пример #4
0
        private MemoryAddress AddOffset(MemoryAddress address, UInt16 offsetValue)
        {
            MemoryOffset offset = new MemoryOffset(offsetValue);

            return(address.Add(offset));
        }