bochs

    0熱度

    1回答

    我想打印一個字符串,並且正在使用NASM Assembly,Bochs來運行程序,並且有兩個簡單文件。我正在做一個非常簡單的引導部門來開始學習Assembly。我試圖教我自己,並正在使用此PDF: https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf 我正在嘗試創建我自己的字符串打印功能。 問題: ; Que

    0熱度

    1回答

    我目前正在嘗試在bochs中編譯和運行一個簡單的bootloader。目前,這是我的bootloader.asm文件: [BITS 16] [ORG 0x7C00] ;Where the code gets mapped top: jmp top ;Loop forever times 510-($-$$) db 0 ;Pad with 0 dw 0xAA55 ;Bootload

    2熱度

    1回答

    我正在修改假設將ASCII字符轉換爲十六進制值的代碼。我的第一個版本完美無缺地工作,但是我的新功能有一些問題。 這是我的新功能,它轉換的ASCII值以十六進制值: ;carry flag cleared if successed, if not then it is set ;input number should be in AL ;output number should be in AH

    1熱度

    1回答

    我在安裝過程中有沒有錯誤,都讓命令完美工作,但最終當我運行「pintos運行報警多」,我發現了以下錯誤 Prototype mismatch: sub main::SIGVTALRM() vs none at /home/suhas/bin/pintos line 949. Constant subroutine SIGVTALRM redefined at /home/suhas/bin/pi

    2熱度

    1回答

    我正在使用gdb和bochs-gdb來調試我寫的虛擬內存實現。每次拋出異常14(頁面錯誤)時,gdb都會在異常處理程序中斷開。有沒有什麼辦法可以禁用這種行爲,以便gdb不會破壞x86異常?

    3熱度

    1回答

    摘要:在NASM支持 我發現很多輸出格式生成0隔行非常稀疏的機器代碼。最重要的是,它們不能被bochs的i386 cpu正確理解。 我相信錯在我自己,但不知道在哪裏和爲什麼。 我來源: cli cli mov ax,cs mov ds,ax mov es,ax call ClearTty <- here call ResetCursor <- here mov al,43h ;'

    -1熱度

    1回答

    我正在開發我自己的操作系統。我已經完成引導扇區併成功加載了我的內核。我的開發環境是Ubuntu 14.04和GCC 4.8。我的內核將在BOCHS下運行。我想在屏幕上的特定位置打印具體的角色,所以我創造了這樣的功能: void print_char(char target, int col, int row, unsigned char attribute) { //attribute

    0熱度

    1回答

    我開始在(NASM)組件中開發一個小型玩具操作系統,僅供我娛樂。 我寫了一個引導程序,它將第一個(也是唯一一個)文件從名爲「kernel.sys」的FAT12文件系統加載到內存中,位置爲0x7E00。 在實模式下,內核只通過BIOS設置適當的視頻模式,並進入32位(保護)模式。這就是我的問題可以找到的地步。首先,我建立了一個帶有3個描述符(null,ring 0 code,ring 0 data)

    -1熱度

    1回答

    我正在寫啓動加載程序並卡住了一個545字節的文件,我不知道如何加載。如果它是存儲在第二扇區中的512字節文件,則它可以輕鬆加載到內存中。但是這對我來說似乎有點奇怪。 我該怎麼做?

    0熱度

    1回答

    因此,我構建了一個簡單的操作系統,並且在從引導扇區調用內核代碼時遇到上述錯誤。我花了幾天的時間掙扎,仍然處於死衚衕。 代碼在調用KERNEL_OFFSET時失敗。我知道它的失敗,因爲我試圖跳到一個無效的部分,但我不知道如何以及在哪裏。 我也注意到它並不是真的讀取磁盤。我的load_kernel代碼要求讀取10個扇區,但似乎只有讀取。 該程序能夠進入保護模式,並能夠加載我需要從磁盤加載的內容,儘管加