无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

0156-生成啟動文件

2023-08-12 09:07 作者:jiangbo4444  | 我要投稿

環(huán)境

  • Time 2022-11-06

  • WSL-Ubuntu 22.04

  • NASM 2.15.05

前言

說明

參考:《x86匯編語言:從實模式到保護(hù)模式》李忠?

參考:https://wiki.osdev.org/Boot_Sequence

如果計算機使用的 BIOS 啟動,那么在開機自檢后,會去查找啟動盤。 如果做一個啟動盤,就可以讓 CPU 執(zhí)行匯編指令了。

目標(biāo)

生成一個可以被引導(dǎo)的文件。

主引導(dǎo)記錄

來源:https://wiki.osdev.org/Boot_Sequence

從這里看出,主引導(dǎo)記錄可以啟動,至少需要 512 字節(jié),在 510 處是 0x55,在 511 處是 0xAA。 并且會被 BIOS 加載到物理地址為 0x7c00 的地方。(段和偏移之后學(xué))

匯編程序

times 偽指令是重復(fù)指令多少次,上面的意思是重復(fù) 508 次 db 指令。 db 偽指令使用后面的數(shù)據(jù)填充一個字節(jié)。 上次看過了 move al,4 為兩個字節(jié),加上 508 個字節(jié),再加最后的兩個字節(jié),共 512 字節(jié)。 并且也滿足了在 510 處是 0x55,在 511 處是 0xAA(偏移量從 0 開始)。

編譯和查看

可以看到 main 二進(jìn)制文件,確實是 512 字節(jié)。文件的二進(jìn)制碼如下:

總結(jié)

通過匯編程序,生成了一個可以啟動的二進(jìn)制文件。

附錄


0156-生成啟動文件的評論 (共 條)

分享到微博請遵守國家法律
湖南省| 淅川县| 建阳市| 来凤县| 云安县| 贵港市| 定州市| 鸡东县| 开化县| 广东省| 五家渠市| 沂南县| 嘉黎县| 乡城县| 湖南省| 托里县| 钟山县| 新龙县| 上饶市| 盐亭县| 射阳县| 溧水县| 青铜峡市| 云浮市| 安宁市| 寻乌县| 利辛县| 台南市| 安阳县| 义马市| 南涧| 宜城市| 抚州市| 芒康县| 岱山县| 龙海市| 武邑县| 嘉善县| 阿尔山市| 新郑市| 汾西县|