Example #1
0
        private void SetupRegisterSet()
        {
            CpuRegisterSet registerSet = m_cpu.RegisterSet;

            registerSet.Reset();
            registerSet.PR.Value = StartAddress.GetValueAsWord();
        }
Example #2
0
        private void SetupRegisterSet(MemoryAddress execStartAddress)
        {
            // PR をプログラムの開始アドレスに、SP をスタック領域の最後のアドレス + 1 に、それぞれ設定する。
            CpuRegisterSet registerSet = m_cpu.RegisterSet;

            registerSet.Reset();
            registerSet.PR.Value = execStartAddress.GetValueAsWord();
            registerSet.SP.Value = InitialSp;
        }
Example #3
0
        /// <summary>
        /// 指定の語のコレクション中の参照するラベルのアドレスが入る語の値を
        /// 解決したアドレスの値に置き換えます。
        /// </summary>
        /// <param name="labelAddrResolver">
        /// 参照するラベルのアドレスを解決する <see cref="LabelAddressResolver"/> のオブジェクトです。
        /// </param>
        /// <param name="words">参照するラベルのアドレスが入る語を含む語のコレクションです。</param>
        internal void ResolveReferringAddress(LabelAddressResolver labelAddrResolver, WordCollection words)
        {
            MemoryAddress resolvedAddress = labelAddrResolver.ResolveAddressFor(m_referringLabel);

            words[m_wordOffset] = resolvedAddress.GetValueAsWord();
        }