我正在製作一個操作系統,我被困在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