Esempio n. 1
0
        public bool ReplaceByIdentifiers(MacroDefinition.ArgumentElement[] identifiers, Macrocall.OperandElement[] values, List <AssembleError> errorList)
        {
            int matchIdx;

            if (!Content.MatchIdentifier(identifiers, out matchIdx))
            {
                return(false);
            }

            /*
             * if (values[matchIdx].Type != Macrocall.enumOperandType.Immediate)
             * { //Error
             *  errorList.Add(new Assemble.AssembleError()
             *  {
             *      Title = "Replacement",
             *      Detail = "Register number cannot be used for symbol refering target.",
             *      Position = this.AssemblePosition
             *  });
             *  return false;
             * }
             */
            //Replace
            this.Content = values[matchIdx].Immediate.Clone(DefinedBlock);
            return(true);
        }
Esempio n. 2
0
            public bool ReplaceByIdentifiers(MacroDefinition.ArgumentElement[] identifiers, Macrocall.OperandElement[] values, List <AssembleError> errorList)
            {
                int matchIdx;

                if (!Immediate.MatchIdentifier(identifiers, out matchIdx))
                {
                    return(true);
                }

                Immediate = values[matchIdx].Immediate.Clone(WrittenInstruction.WrittenBlock);
                return(true);
            }