我正在爲計算機體系結構課程開發一些「有趣」的實驗室,讓學生編寫並運行一個非常小的操作系統。我正在使用來自http://wiki.osdev.org/Bare_Bones的Bare Bones設置並使用Richard Hull的預編譯i686交叉編譯器(https://github.com/rm-hull/barebones-toolchain)。是可以使用%r8d與i686-elf-gcc?
當我嘗試使用%r8d
寫彙編代碼,我得到這個錯誤
Error: bad register name `%r8'
自述說:「有兩個平臺的口味,32位和64位取決於你的主機Linux環境」,但還列出了「i686(32位ELF)」作爲其中一個目標。
我正確的問題的來源是ELF目標是32位?如果是這樣,是否有一種簡單的方法讓64位ELF目標的交叉編譯器啓動並運行?