2015.1.20
目標: 看完趙炯的《linux核心完全注釋》,嘗試自己在x86下寫乙個簡單的os,然後移植網絡卡驅動,實現基本網路功能(ping)
--編譯工具:as86和ld86
--源檔名:boot.s
**:
; 功能:
; 1. 拷貝 boot.s 從 0x07c0:0000 到 0x9000:0000
; 2. 載入 setup.s 到記憶體 0x9020:0000
;boot.s**必須存放在磁碟的第乙個扇區,且大小不能超過512位元組。
;bios在每次啟動後都會載入第一扇區內容到0x07c0:0000記憶體位址處
entry _start
_start:
;當前cpu還處在16bits 實模式,只能訪問0000:0000到ffff:ffff範圍大小的位址
;把0x7c00:0000位址起 512 bytes 拷貝到 0x9000:0000,然後繼續執行
;源位址
mov ax, #0x07c0
mov ds, ax
;目的位址
mov ax, #0x9000
mov es, ax
;清si和di
sub si, si
sub di, di
;拷貝256次,每次2個位元組
mov cx, #256 ;
rep
movw
;拷貝完後可以跳到 0x9000:go位址繼續執行下面的**了
jmpi go, 0x9000
go:;執行跳轉指令後cs段的內容自動重新整理為0x9000.
mov ax, cs
[boot.s 待續]
;重新整理ds,es,ss段暫存器為0x9000
mov ds, ax
mov es, ax
mov ss, ax
;臨時設定sp堆疊指標為:0x9000:ff00以便後面的函式呼叫
mov sp, #0xff00
我的程式設計學習之旅1
在學校考完試後在學校耍了兩天的遊戲就匆匆的回家了,帶了幾本c程式設計的書 c和指標 programming in c windows 程式設計 打算回家啃一啃。不過,情況幾本和以前一樣,回去先玩了幾天才開始的。最先看的是 windows 程式設計 開始還是和其他書類似,以hello world開始,...
我的機器學習之旅 1
今天是2018年1月30日。為什麼要學習機器學習呢?這和我的課題緊密相關,我的研究課題是仿魚類側線系統來感知水流環境和避障等。水生生物,尤其是魚類,它們能夠在光線很差甚至是沒有光線的環境中自由的游泳,躲避障礙物甚至覓食,這些行為已經被生物學家證實和側線系統息息相關。下圖展示了魚的側線 魚的表面分布著...
我的springMVC之旅 1
總想寫一篇關於springmvc的文章。可是一直不敢下筆。我只是乙個超級初級的spring菜鳥,總共接觸spring不到1個月。spring我真的沒有發言權。但是我確實看到了spring的強大,真的可以帶來軟體工程的春天。其實spring最亮的並不是mvc,而是強大的ioc 中文意思是控制反轉,又叫...