Model view controller 在MVC++汇编程序中使用'db','dw'添加

Model view controller 在MVC++汇编程序中使用'db','dw'添加,model-view-controller,assembly,nasm,masm,Model View Controller,Assembly,Nasm,Masm,我应该用什么来代替 __asm { db 0EAh dw 0000h dw 0FFFFh } 在MVC++?中,您可以通过以下方式发出操作码: __emit操作码 您可以通过加密操作码来执行代码。 然而,我不认为你会成功地重新启动你的机器这样 _asm { mov ax, 40h mov ds, ax mov word ptr ds:[72h], 1234h jmp dword ptr cs:0ffff0000h

我应该用什么来代替

__asm
{
    db 0EAh
    dw 0000h
    dw 0FFFFh
}

在MVC++?

中,您可以通过以下方式发出操作码: __emit操作码

您可以通过加密操作码来执行代码。 然而,我不认为你会成功地重新启动你的机器这样

 _asm {
      mov ax, 40h 
      mov ds, ax 
      mov word ptr ds:[72h], 1234h
      jmp dword ptr cs:0ffff0000h
    }
多亏了@gusbro的评论,我终于明白了你的意图。我不确定这是否会起作用,因为我没有windows机器来测试它,但你应该试试

warm是对FFFF:0000h的远呼叫,40:72h设置为1234h

cold是对FFFF:0000h的远调用,40:72h设置为0


我试图使用汇编程序块重新启动系统,但mvc++不接受数据指令和运算符。您可以将3个变量定义为uint8\u t、uint16\u t、uint16\u t,并为它们赋值。但我不是100%确定我遵循。作为C++或ASM代码?因为即使我在引导过程中使用它,它也不能识别它是c++吗?你似乎在尝试跳转到bios重启。看看linux源代码,了解他们是如何做到这一点的,而不仅仅是跳转。我认为这些代码在用户模式的Windows进程中都不起作用。如果你写一个内核模式的驱动程序,你可以很容易地让你的电脑重新启动…@gusbro我记不起我上次使用windows是什么时候了,我只是想帮你提供一些信息。好的一面是系统总是关闭/r;我想是的。我的观点是,您没有以编程方式进行重置的权限。仅当您具有重新启动所需的权限时,shutdown/r才会起作用