Example #1
0
        /// <summary>
        /// A params array would be simpler here, but the IL space it takes to populate such an array
        /// depresses me
        /// </summary>
        private void EmitHelper(Register writtenRegister, int format, string fluentComment,
      int field0, int length0,
      int field1, int length1,
      int field2, int length2,
      int field3, int length3,
      int field4=0, int length4=0,
      int field5=0, int length5=0)
        {
            var ocb=new OpCodeBuilder();
              ocb.Add(field0, length0);
              ocb.Add(field1, length1);
              ocb.Add(field2, length2);
              ocb.Add(field3, length3);
              ocb.Add(field4, length4);
              ocb.Add(field5, length5);

              var assemblerComment=ocb.GetAssemblerComment().PaddedTo(25)+"(Format "+format+")";
              Emit((short)ocb.OpCode, fluentComment, assemblerComment);

              if(writtenRegister!=null) {
            RegistersWritten|=1<<writtenRegister.Index;
              }
        }