Example #1
0
 protected override void ExecuteInternal(string address, TheCpu cpu, bool value)
 {
     if (value)
     {
         var addressValue = cpu.GetAddress(address);
         cpu.PC = addressValue;
     }
     else
     {
         cpu.PC++;
     }
 }
Example #2
0
        protected override void ExecuteInternal(string address, TheCpu cpu, bool value)
        {
            if (value)
            {
                cpu.Stack.Push(cpu.PC);
                cpu.OnPropertyChanged(cpu.PropertyName(() => cpu.Stack));

                var addressValue = cpu.GetAddress(address);
                cpu.PC = addressValue;

                if (cpu.Stack.Count > 31)
                {
                    throw new ArgumentException("Препълване на стекът");
                }
            }
            else
            {
                cpu.PC++;
            }
        }
Example #3
0
        public override void Assemble(string[] lines, TheCpu cpu, TheAssembler assembler)
        {
            var address = cpu.GetAddress(lines[1]);

            assembler.address = address;
        }