Cosmos/source2/Compiler/Cosmos.Compiler.DebugStub/Init.cs
2012-03-26 03:10:58 +00:00

37 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Cosmos.Assembler;
using Cosmos.Assembler.x86;
using Cosmos.Debug.Consts;
using Cosmos.Assembler.XSharp;
namespace Cosmos.Debug.DebugStub {
public partial class DebugStub : CodeGroup {
public DebugStub(int aComNo) {
mComNo = aComNo;
mComAddr = mComPortAddresses[mComNo - 1];
mComStatusAddr = (UInt16)(mComAddr + 5);
// Old method, need to convert to fields
mAsm.DataMembers.AddRange(new DataMember[]{
// Breakpoint addresses
new DataMember("DebugBPs", new int[256]),
//TODO: Move to DebugStub (new)
new DataMember("DebugWaitMsg", "Waiting for debugger connection...")
});
}
// Called before Kernel runs. Inits debug stub, etc
public class Init : CodeBlock {
public override void Assemble() {
Call<Cls>();
Call<DisplayWaitMsg>();
Call<InitSerial>();
Call<WaitForDbgHandshake>();
Call<Cls>();
}
}
}
}