第3章 從軟碟機上讀取多個扇區到記憶體中

2021-05-27 22:58:53 字數 1270 閱讀 1715

編寫rd_kern彙編函式,用於從軟碟機上讀取n個扇區到記憶體中

輸入引數是

cx         扇區數

si          起始邏輯扇區

es:bx  記憶體位址

#函式名:rd_kern

#功能:讀取軟碟機a上連續多個扇區

#引數2: si 指定起始邏輯扇區號

#引數3: cx 欲讀取的扇區數目

rd_kern:

pushw %ax

rd_k1:

call rd_sect

movw %es, %ax #

addw $0x20, %ax #

movw %ax, %es # es:bx += 512

incw %si # ++si

loop rd_k1 # if(cx != 0) goto rd_k1;

popw %ax

ret

下面是讀取軟碟機a的全部**

#讀取kernel到0x7e00上

load:

#設定臨時棧

xorw %ax, %ax

movw %ax, %ds # ds = 0x0

movw %ax, %ss # ss = 0x0,棧基址

movw $kernel_stack_bot,%sp # sp = 0x7c00,棧位址

#設定rd_kern的引數

#設定es:bx引數

movw $kernel_start_segment, %ax

movw %ax, %es # es = 0x7e0

xorw %bx, %bx # bx = 0x0, es:bx = 0x7e00

#讀取的起始扇區號(邏輯扇區起始扇區號是0)

movw $0x1, %si # si = 0x1 ,是rd_sect的引數

#讀取1400個扇區,共700k

movw $kernel_sect_number, %cx

#呼叫rd_kern函式

#讀取700k的kernel到0x7e00上

call rd_kern

第3章 語言基礎(上)

目錄嚴格來講,函式也是物件,不代表一種資料型別,但函式也有自己特殊的屬性,所以使用typeof校驗時,函式返回function以作區分 資料型別 轉換為true的值 轉換為false的值 boolean true false string1 非空字串 空字串 number 非零數值 包括無窮值 0 ...

python程式設計 從入門到實踐第3章

第三章 列表簡介 1.列表一般用 表示。2.索引從0而不是1開始。通過將索引指定為 1 可讓python返回最後乙個列表元素。4.可使用方法insert 向列表中插入新元素,insert 索引,元素 5.使用del語句根據索引刪除元素 6.方法pop 可刪除列表末尾的元素,並能再使用先前的列表 7....

第29章 CSS3彈性伸縮布局 上

index.html 從技術上來說,ip internet procotol,網際網路協議 是一種位址協議,是網際網路資訊傳輸的規範和標準,也是網際網路賴以存在的基礎。現在的網際網路大多是建立在ipv4這個版本的位址協議基礎上,這個協議所 產生 的ip位址約有45億個,由國際組織統一分配。簡單來說,...