コード例 #1
0
ファイル: AsmSection.cs プロジェクト: SavchukSergey/atma
 public HexFile BuildHexFile()
 {
     var hexFile = new HexFile();
     WriteTo(hexFile);
     hexFile.Lines.Add(new HexFileLine { Type = HexFileLineType.Eof });
     return hexFile;
 }
コード例 #2
0
ファイル: HexFileBuilder.cs プロジェクト: SavchukSergey/atma
 public HexFile Build()
 {
     FlushLine();
     _hf.Lines.Add(new HexFileLine {
         Type = HexFileLineType.Eof
     });
     var res = _hf;
     _hf = new HexFile();
     _offset = 0;
     return res;
 }
コード例 #3
0
ファイル: HexFile.cs プロジェクト: SavchukSergey/atma
 public static HexFile Parse(TextReader reader)
 {
     var res = new HexFile();
     var lineNumber = 1;
     try {
         while (reader.Peek() != -1) {
             var rawLine = reader.ReadLine();
             if (!string.IsNullOrWhiteSpace(rawLine)) {
                 var line = HexFileLine.Parse(rawLine);
                 res.Lines.Add(line);
             }
             lineNumber++;
         }
     } catch (Exception e) {
         throw new HexFileException("couldn't parse line " + lineNumber + ". " + e.Message);
     }
     return res;
 }
コード例 #4
0
ファイル: AsmSection.cs プロジェクト: SavchukSergey/atma
 public void WriteTo(HexFile hexFile)
 {
     var lines = (Content.Count + 15) / 16;
     for (var i = 0; i < lines; i++) {
         var adr = i * 16;
         var line = new HexFileLine {
             Address = (ushort)adr,
             Type = HexFileLineType.Data,
             Data = Content.Skip(adr).Take(16).ToArray()
         };
         hexFile.Lines.Add(line);
     }
 }