自製作業系統 二

2021-08-02 10:31:56 字數 1669 閱讀 5246

組合語言學習與makefile入門

2.helloos.nas程式核心部分。

jmp指令:jump,跳轉。相當於c中的goto。

mov指令:move,移動。理解mov指令就理解彙編一大半。指賦值的功能(把乙個東西移走了,他原來占用的位置不會空出)

3.cpu的一種儲存電路--暫存器,相當於變數的功能。以下列舉幾個暫存器:

這些暫存器都是16位,其中x代表擴充套件(extend)的意思。以上八個暫存器一共只有16位元組。

八位暫存器:

此時,cpu儲存能力仍為16位元組。

4. 關於32位電腦,32位電腦cpu只有32位元組。

在16位前加e(extern)!例如eax,低16位是ax,高16位既沒有名字也沒有暫存器編號。只能用移位命令將高16位調到低16為才能用。很麻煩!

5.  段暫存器(segment register)--16位

6.  mov si, msg   把標號賦值給暫存器!

msg是下面出現的標號。(在組合語言中,所有標號僅僅是單純的數字。每個標號對應的數字,是由組合語言根據org指令計算出來的。標號的地方對應的記憶體位址,就是那個標號的值)

7.  關於記憶體

memory,就是乙個超大規模的儲存單元「住宅區」,儲存單元緊密、整齊地排列在一起。cpu儲存能力很差(加上段暫存器才44位元組,啟動電腦所必需的啟動區資料都放不下),有一套用於儲存的電路。

記憶體不在cpu內部。cpu需要通過自己的一部分管腳向記憶體傳送電訊號進行資訊交換。並不僅僅是訪問資料,cpu在執行機器語言時,必須從記憶體中乙個乙個命令的讀取程式,順序執行。

實際電路中,離cpu有10厘公尺。

8.  byte-->word-->dword(8-->16-->32)

9. je條件跳轉指令。如果比較為零的話就跳,否則不。

10. int軟體中斷指令。interrupt。

bios(basic  input output system):為作業系統開發者準備的各種函式的集合。包括電腦的設定畫面!int指令就是呼叫這些函式的指令。

11.hlt指令:是讓電腦停止動作的指令。halt,停止。

makefile 入門

批處理檔案。 沒看懂

自製作業系統(二)

現在呢,大致流程寫在下面 首先,編寫彙編 檔名為myos.asm,所有 大致如下 下面是標準fat12格式軟盤專用 db 0xeb,0x4e,0x90 db myos ipl 啟動區名稱,必須8位元組 dw 512 每個扇區必須為512位元組 db 1 蔟必須為1個扇區 dw 1 fat的起始位置必...

自製作業系統流程筆記(二)

筆記一主要記錄了保護模式的知識,筆記二將從os進入保護模式開始。參考 使用diskgenius模擬軟盤檔案做實驗。fat12是microsoft公司dos作業系統所支援的檔案系統之一,此外還有fat16和fat32,之後會分別詳述這些檔案系統。當軟盤被標準格式化後,磁碟被格式化為 每磁頭80個柱面 ...

自製作業系統 (2)

接上篇,檔案跳轉到了entry.s裡面,這是kernel的入口。首先面臨這麼乙個問題,kernel被載入到了什麼地方?回想上篇elf檔案的載入機制,以及objdump裡列印出的kernel資訊,可以看到,kernel的 段 text段 被載入到了0x100000的位置,也就是1m的位置,所以記憶體布...