Ejemplo n.º 1
0
        /// <summary>
        /// MOV D, E
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override Result VisitMOV(LowLevelAssemblyParser.MOVContext context)
        {
            string destinationRegister = context.register_8bit(0).GetText();
            string sourceRegister      = context.register_8bit(1).GetText();

            string opcode = "00";

            opcode += GetRegisterOpCode_GeneralPurpose(destinationRegister);
            opcode += GetRegisterOpCode_GeneralPurpose(sourceRegister);
            opcode += " ; MOV " + destinationRegister + ", " + sourceRegister;
            assembly.Add(opcode);

            return(base.VisitMOV(context));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Visit a parse tree produced by <see cref="LowLevelAssemblyParser.MOV"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitMOV([NotNull] LowLevelAssemblyParser.MOVContext context)
 {
     return(VisitChildren(context));
 }