c#和Cosmos的NAsm误差
我正在尝试使用c#和Cosmos构建一个小型操作系统c#和Cosmos的NAsm误差,c#,visual-studio-2010,nasm,cosmos,C#,Visual Studio 2010,Nasm,Cosmos,我正在尝试使用c#和Cosmos构建一个小型操作系统 起初,这只是从一个时刻到另一个时刻,它停止了工作,并给了我以下错误: 调用NAsm时出错。 OSBoot.asm行:241424代码:推送dword系统\u无效\u系统\u IO\u流\u处置\u asm行:242633代码:推送dword系统\u无效\u系统\u IO\u流\u处置\u OSBoot.asm行:247640代码:推送dword系统\u无效\u系统\u IO\u流\u处置\u OSBoot.asm行:248618代码:推送dw
起初,这只是从一个时刻到另一个时刻,它停止了工作,并给了我以下错误: 调用NAsm时出错。
OSBoot.asm行:241424代码:推送dword系统\u无效\u系统\u IO\u流\u处置\u
asm行:242633代码:推送dword系统\u无效\u系统\u IO\u流\u处置\u OSBoot.asm行:247640代码:推送dword系统\u无效\u系统\u IO\u流\u处置\u
OSBoot.asm行:248618代码:推送dword系统\u无效\u系统\u集合\u通用\u列表\u 1\u枚举器\u命令\u ICommand\u ICommand base\u处置_ 我甚至在一个新的系统上安装了一个新的Microsoft Visual studio和cosmos,并从头开始,起初它工作正常,但在没有任何改变的情况下它停止了工作
using System;
using Commands;
using Sys = Cosmos.System;
namespace OS
{
public class Kernel : Sys.Kernel
{
private Env SysEnv { get; set; }
private InputHandeler InputHandler { get; set; }
protected override void BeforeRun()
{
Console.WriteLine("Creating Enviriment...");
SysEnv = new Env();
InputHandler = new InputHandeler(new CommandLister());
Console.WriteLine("Enviriment build");
Console.Clear();
Console.WriteLine("Os booted successfully.");
}
protected override void Run()
{
Console.Write(SysEnv.ConsolCommandPrefix);
var input = Console.ReadLine();
try
{
InputHandler.ExecuteInput(input);
} catch(Exception)
{
//TODO good exeption and the use of it
}
}
}
}
环境类
namespace OS
{
public class Env
{
public string CurrentUser { get; set; }
public string CurrnetDir { get; set; }
private string prefix;
public string ConsolCommandPrefix
{
get { return CurrentUser + "@" + CurrnetDir + prefix; }
set { prefix = value; }
}
public Env()
{
ConsolCommandPrefix = "> ";
CurrentUser = "Admin";
CurrnetDir = "/";
}
}
}
命令列表器类
using System;
using System.Collections.Generic;
using Commands.Command;
using Commands.Command.SystemCommands;
using Commands.ICommand;
namespace Commands
{
public class CommandLister
{
private List<ICommandBase> KnownCommands { get; set; }
private Unkown UnkownCommand { get; set; }
public CommandLister()
{
KnownCommands = new List<ICommandBase>();
addCommand(new Help());
UnkownCommand = new Unkown();
}
public void addCommand(ICommandBase command)
{
KnownCommands.Add(command);
}
public ICommandBase getCommand(String input)
{
foreach (var command in KnownCommands)
{
if(true)
{
return command;
}
}
return UnkownCommand;
}
}
}
使用系统;
使用System.Collections.Generic;
使用命令。命令;
使用Commands.Command.SystemCommands;
使用Commands.ICommand;
名称空间命令
{
公共类命令列表器
{
私有列表known命令{get;set;}
私有未知未知命令{get;set;}
公共命令列表器()
{
known命令=新列表();
addCommand(新建帮助());
UnkownCommand=new Unkown();
}
public void addCommand(ICommandBase命令)
{
KnownCommands.Add(命令);
}
公共ICommandBase getCommand(字符串输入)
{
foreach(KnownCommands中的var命令)
{
如果(真)
{
返回命令;
}
}
返回UnkownCommand;
}
}
}
其他类只包含一些文本,并且只向控制台打印一些内容
我有两个问题:
-这是什么原因造成的
-我怎样才能解决这个问题
编辑:我在另一个操作系统上再次尝试了它(我第一次使用vista),这次我使用的是Windows7。同样的事情也发生了,一开始它工作了(我又从头开始了…),但在几次构建和运行之后,不知何故它又坏了。即使在撤消我所做的更改时。它不会再建造了
亲切问候,
江户邮报你是说?这里也没有太多的内容,你能提供一些源代码吗?我的意思是NASM,但我只使用一些控制台打印,还没有什么困难。。。