Пример #1
0
 // IGenerator
 public void OutputLocalVariableTable(int offset, List <DefSymbol> newDefs,
                                      LocalVariableTable allDefs)
 {
     foreach (DefSymbol defSym in newDefs)
     {
         string valueStr = PseudoOp.FormatNumericOperand(SourceFormatter,
                                                         Project.SymbolTable, null, defSym.DataDescriptor, defSym.Value, 1,
                                                         PseudoOp.FormatNumericOpFlags.OmitLabelPrefixSuffix);
         OutputLine(SourceFormatter.FormatVariableLabel(defSym.Label),
                    SourceFormatter.FormatPseudoOp(sDataOpNames.VarDirective),
                    valueStr, SourceFormatter.FormatEolComment(defSym.Comment));
     }
 }
Пример #2
0
 // IGenerator
 public void OutputLocalVariableTable(int offset, List <DefSymbol> newDefs,
                                      LocalVariableTable allDefs)
 {
     foreach (DefSymbol defSym in newDefs)
     {
         // Use an operand length of 1 so values are shown as concisely as possible.
         string valueStr = PseudoOp.FormatNumericOperand(SourceFormatter,
                                                         Project.SymbolTable, null, defSym.DataDescriptor, defSym.Value, 1,
                                                         PseudoOp.FormatNumericOpFlags.None);
         OutputLine(SourceFormatter.FormatVariableLabel(defSym.Label),
                    SourceFormatter.FormatPseudoOp(sDataOpNames.VarDirective),
                    valueStr, SourceFormatter.FormatEolComment(defSym.Comment));
     }
 }
Пример #3
0
        // IGenerator
        public void OutputLocalVariableTable(int offset, List <DefSymbol> newDefs,
                                             LocalVariableTable allDefs)
        {
            OutputLine(string.Empty, "!zone", "Z" + offset.ToString("x6"), string.Empty);
            for (int i = 0; i < allDefs.Count; i++)
            {
                DefSymbol defSym = allDefs[i];

                string valueStr = PseudoOp.FormatNumericOperand(SourceFormatter,
                                                                Project.SymbolTable, null, defSym.DataDescriptor, defSym.Value, 1,
                                                                PseudoOp.FormatNumericOpFlags.None);
                OutputEquDirective(SourceFormatter.FormatVariableLabel(defSym.Label),
                                   valueStr, defSym.Comment);
            }
        }
Пример #4
0
        // IGenerator
        public void OutputLocalVariableTable(int offset, List <DefSymbol> newDefs,
                                             LocalVariableTable allDefs)
        {
            // We can do better here, but it requires knowing whether anything in "newDefs"
            // overwrote a previous entry.  If everything is new, we don't need to start
            // a new zone, and can just output newDefs.  (We don't need to start a new zone
            // on a "clear previous".)
            OutputLine(string.Empty, "!zone", "Z" + offset.ToString("x6"), string.Empty);
            for (int i = 0; i < allDefs.Count; i++)
            {
                DefSymbol defSym = allDefs[i];

                string valueStr = PseudoOp.FormatNumericOperand(SourceFormatter,
                                                                Project.SymbolTable, null, defSym.DataDescriptor, defSym.Value, 1,
                                                                PseudoOp.FormatNumericOpFlags.OmitLabelPrefixSuffix);
                OutputEquDirective(SourceFormatter.FormatVariableLabel(defSym.Label),
                                   valueStr, defSym.Comment);
            }
        }