是否可以在没有标准库的情况下在 C++ 程序集中编写多个字符?
Is it possible to write multiple characters in C++ Assembly with no stdlib?
我正在开发一个操作系统,跟随this tutorial, and I'm on part 7 (chapter 7),他展示了如何将一个字符打印到屏幕上,但我想打印多个字符,但它只是覆盖了之前的字符。这是我的代码
extern "C" void main() {
// printf("Hello, World!");
*(char *)0xb8000 = 'H';
*(char *)0xb8000 = 'e';
*(char *)0xb8000 = 'l';
*(char *)0xb8000 = 'l';
*(char *)0xb8000 = 'o';
*(char *)0xb8000 = ',';
*(char *)0xb8000 = ' ';
*(char *)0xb8000 = 'W';
*(char *)0xb8000 = 'o';
*(char *)0xb8000 = 'r';
*(char *)0xb8000 = 'l';
*(char *)0xb8000 = 'd';
*(char *)0xb8000 = '!';
return;
}
@user2864740 发给我 a link 帮助我修复了它,事实证明,写入 0xB8000
的每个第二个字符都是一种颜色。
所以如果你想打印 Hello!
,我很确定你会做
*(char*)0xB8000 = "H";
*(char*)0xB8001 = 15;
*(char*)0xB8002 = "e";
*(char*)0xB8003 = 15;
*(char*)0xB8004 = "l";
*(char*)0xB8005 = 15;
*(char*)0xB8006 = "l";
*(char*)0xB8007 = 15;
*(char*)0xB8008 = "o";
*(char*)0xB8008 = 15;
*(char*)0xB8009 = "!";
*(char*)0xB800a = 15;
(未测试)
Is it possible to write multiple characters in C++ Assembly with no stdlib?
除了使用标准库之外,没有在 C++ 中编写一个或多个字符的标准方法。
系统(操作系统/CPU 体系结构)可能有方法,但这取决于您使用的 OS / CPU。请参阅他们的文档。
没有一种汇编语言;每个 CPU 体系结构都有自己的语言,编译器也有自己的语法。
我正在开发一个操作系统,跟随this tutorial, and I'm on part 7 (chapter 7),他展示了如何将一个字符打印到屏幕上,但我想打印多个字符,但它只是覆盖了之前的字符。这是我的代码
extern "C" void main() {
// printf("Hello, World!");
*(char *)0xb8000 = 'H';
*(char *)0xb8000 = 'e';
*(char *)0xb8000 = 'l';
*(char *)0xb8000 = 'l';
*(char *)0xb8000 = 'o';
*(char *)0xb8000 = ',';
*(char *)0xb8000 = ' ';
*(char *)0xb8000 = 'W';
*(char *)0xb8000 = 'o';
*(char *)0xb8000 = 'r';
*(char *)0xb8000 = 'l';
*(char *)0xb8000 = 'd';
*(char *)0xb8000 = '!';
return;
}
@user2864740 发给我 a link 帮助我修复了它,事实证明,写入 0xB8000
的每个第二个字符都是一种颜色。
所以如果你想打印 Hello!
,我很确定你会做
*(char*)0xB8000 = "H";
*(char*)0xB8001 = 15;
*(char*)0xB8002 = "e";
*(char*)0xB8003 = 15;
*(char*)0xB8004 = "l";
*(char*)0xB8005 = 15;
*(char*)0xB8006 = "l";
*(char*)0xB8007 = 15;
*(char*)0xB8008 = "o";
*(char*)0xB8008 = 15;
*(char*)0xB8009 = "!";
*(char*)0xB800a = 15;
(未测试)
Is it possible to write multiple characters in C++ Assembly with no stdlib?
除了使用标准库之外,没有在 C++ 中编写一个或多个字符的标准方法。
系统(操作系统/CPU 体系结构)可能有方法,但这取决于您使用的 OS / CPU。请参阅他们的文档。
没有一种汇编语言;每个 CPU 体系结构都有自己的语言,编译器也有自己的语法。