public override Instruction[] VisitOperation(assemblerParser.OperationContext context)
        {
            var result = new Instruction(_address, context);

            _address++;
            return(new [] { result });
        }
Beispiel #2
0
        public Instruction(uint address, assemblerParser.OperationContext context)
        {
            Address = address;
            var text   = context.GetText();
            var opCode = context.opcode().GetText();

            OpCode = (OpCode)Enum.Parse(typeof(OpCode), opCode);
            var argumentsContext = context.arguments();

            if (argumentsContext != null)
            {
                var arguments = argumentsContext.argument();
                Arguments = new Argument[arguments.Length];
                for (int i = 0; i < arguments.Length; i++)
                {
                    Arguments[i] = new Argument(arguments[i]);
                }
            }
        }