国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

0171-創(chuàng)建內(nèi)核可執(zhí)行文件

2023-08-18 10:53 作者:jiangbo4444  | 我要投稿

環(huán)境

  • Time 2022-11-11

  • WSL-Ubuntu 22.04

  • QEMU 6.2.0

  • NASM 2.15.05

前言

說(shuō)明

參考:https://os.phil-opp.com/multiboot-kernel/

目標(biāo)

編寫一個(gè)可以加載執(zhí)行的文件。

啟動(dòng)代碼

start 是啟動(dòng)入口,.text 表示是代碼段。
bits 32 指定了編譯成 32 位的機(jī)器碼,因?yàn)樾枰?32 位保護(hù)模式下執(zhí)行。
0xb8000 是顯存地址,輸出使用。
hlt 是 CPU 停機(jī)指令。

編譯和反編譯

創(chuàng)建 ELF 文件

ELF 主要是 linux 系統(tǒng)下的一種文件格式。
nasm 默認(rèn)輸出二進(jìn)制文件,需要 ELF 文件,需要增加參數(shù) -f 指定,得到兩個(gè) .o 文件(對(duì)象文件)。

鏈接對(duì)象文件

自定義鏈接腳本

  • start 指定的程序入口。

  • . = 1M 指定了程序需要被加載到哪個(gè)地址上。

  • .boot 放到最開始,后面是 .text 段。

  • multiboot_header 放到最前面。

鏈接

-n 不可以省略,關(guān)閉對(duì)齊。

查看 section 信息

總結(jié)

創(chuàng)建了一個(gè)內(nèi)核可執(zhí)行程序 kernel.bin。

附錄

0171-創(chuàng)建內(nèi)核可執(zhí)行文件的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
海阳市| 隆子县| 理塘县| 湖州市| 太仓市| 成武县| 高邑县| 富宁县| 民权县| 同江市| 新巴尔虎左旗| 和龙市| 六盘水市| 龙岩市| 喀喇沁旗| 舞钢市| 大理市| 卓尼县| 陆良县| 浮山县| 东兰县| 九龙城区| 布拖县| 尖扎县| 大名县| 洞口县| 临漳县| 荆门市| 肃北| 临高县| 呼图壁县| 兴城市| 广水市| 奇台县| 射阳县| 调兵山市| 泌阳县| 剑阁县| 化隆| 绿春县| 大新县|