Пример #1
0
 public void EmitFlagGroup(IProcessorArchitecture arch, string caption, Dictionary <RegisterStorage, uint> flagRegs, TextWriter sb)
 {
     sb.Write(caption);
     foreach (var freg in flagRegs
              .Select(f => arch.GetFlagGroup(f.Key, f.Value) !)
              .OrderBy(f => f.Name))
     {
         sb.Write(" {0}", freg.Name);
     }
 }
Пример #2
0
        public static void EmitRegisters(IProcessorArchitecture arch, string caption, Dictionary <RegisterStorage, uint> grfFlags, IEnumerable <Storage> regs, TextWriter sb)
        {
            sb.Write(caption);
            var sGrf = string.Join(" ", grfFlags
                                   .Where(f => f.Value != 0)
                                   .Select(f => arch.GetFlagGroup(f.Key, f.Value) !)
                                   .OrderBy(f => f.Name));

            if (sGrf.Length > 0)
            {
                sb.Write(" {0}", sGrf);
            }
            EmitRegistersCore(regs, sb);
        }
Пример #3
0
        public static void EmitRegisters(IProcessorArchitecture arch, string caption, Dictionary <RegisterStorage, uint> grfFlags, IDictionary <Storage, BitRange> regRanges, TextWriter sb)
        {
            sb.Write(caption);
            var sGrf = string.Join(" ", grfFlags
                                   .Where(f => f.Value != 0)
                                   .Select(f => arch.GetFlagGroup(f.Key, f.Value) !)
                                   .OrderBy(f => f.Name));

            if (sGrf.Length > 0)
            {
                sb.Write(" {0}", sGrf);
            }
            foreach (var de in regRanges.OrderBy(de => de.Key.Name))
            {
                sb.Write(" {0}:{1}", de.Key, de.Value);
            }
        }