Ypsilon.Emulation.Processor.YCPU.JSR C# (CSharp) Method

JSR() private method

private JSR ( ushort operand ) : void
operand ushort
return void
        private void JSR(ushort operand)
        {
            ushort value;
            uint farValue;
            bool isFar;
            try {
                BitPatternJMI(operand, out value, out farValue, out isFar);
                if (isFar && !PS_S) {
                    Interrupt_UnPrivFault(operand);
                }
                else if (isFar) {
                    StackPush(operand, (ushort)(farValue >> 16));
                    StackPush(operand, (ushort)farValue);
                }
                StackPush(operand, PC);
                PC = value;
            }
            catch (SegFaultException e) {
                Interrupt_SegFault(e.SegmentType, operand, e.Address);
            }
        }