我正在制作一个操作系统,我被困在GDT中。我尝试过不同的教程,例如http://www.osdever.net/bkerndev/Docs/gdt.htm和http://www.jamesmolloy.co.uk/tutorial_html/4.-The%20GDT%20and%20IDT.html,但是我的操作系统总是崩溃。我怎样才能解决这个问题?我使用grub,所以内核已经处于保护模式。 bo
我移植了良好的和我面临以下组件86行: mov al, UNLOCK_DATA1 ; load al with byte for the first unlock write
db 67h ; use 32 bit addressing
mov ds:[esi], al ; write the command to flash
mov eax, FLASH_ADDRESS ; load
我收到此错误: loop AdderLoop
错误A2075:跳转目标太远:25字节( s) 这是一个加法器程序。 我还在学习pop和push所以也许我没有做正确的事情,但是好像我的变量ARRAY_SIZE没有被正确存储? 我在过程开始时将ARRAY_SIZE存储在哪个寄存器中,并在过程结束时将其弹回。 .386 ;identifies minimum CPU for this progra
当查看x86-64asm generated by GCC 7.1以下代码时,我发现a的构造函数生成代码,而b没有构造函数的标签。 class a {
public:
int aint;
a() { }
};
class b {
public:
int bint;
b() = default;
};
int main() {
a