我是编写引导加载程序的新手.我在asm中编写了一个helloworld引导程序,我现在正在尝试用C语言编写一个.我在C中编写了一个helloworld引导程序,但我无法编译它.
这是我的代码.我究竟做错了什么?我完全采取了错误的做法吗?
void print_char();
int main(void){
char *MSG = "Hello World!";
int i;
__asm__(
"mov %0, %%SI;"
:
:"g"(MSG)
);
for(i=0;i<12;i++){
__asm__(
"mov %0, %%AL;"
:
:"g"(MSG[i])
);
print_char();
}
return 0;
}
void print_char(){
__asm__(
"mov $0X0E, %AH;"
"mov $0x00, %BH;"
"mov $0x04, %BL;"
"int $0x10"
);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Python在系统级Linux上做一个项目.所以,我想知道,如果我作为普通用户运行我的代码,如果我正在访问系统文件,那么它应该具有root权限,那么我如何提示root密码并以超级用户身份运行更多代码.我想知道,如何以超级用户身份运行python脚本,并提供密码提示.
任何帮助将不胜感激.先感谢您..
我正在编写一个内核,所以我开始在内核中使用hello world程序.
我用c ++编写了一个hello world内核,并且编译成功.
但是,当我启动它时,它不会在屏幕上显示任何内容.
这段代码出了什么问题?
link.ld
OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS{
. = 0x00100000;
.text :{
*(.text)
}
.rodata ALIGN (0x1000) : {
*(.rodata)
}
.data ALIGN (0x1000) : {
*(.data)
}
.bss : {
sbss = .;
*(COMMON)
*(.bss)
ebss = .;
}
}
Run Code Online (Sandbox Code Playgroud)
loader.asm
[BITS 32]
global start
extern _main
start:
call _main
cli
hlt
Run Code Online (Sandbox Code Playgroud)
video.h
#ifndef VIDEO_H
#define VIDEO_H
class Video{
public:
Video();
~Video();
void clear();
void write(char *cp);
void put(char c);
private:
unsigned short *videomem;
unsigned …Run Code Online (Sandbox Code Playgroud)