關於《30天自制作業系統第三天》程式跳轉到0XC200的問題
看到第三章的時候我蒙圈了,程式裡面是從0X8200開始複製的,如圖
書裡面也提到過軟盤的檔案的為內容是0X4200開始的,問題來了,但是書裡面解釋之所以跳轉到0XC200的原因是
0x8000+0x4200=0xc200;看蒙了我好久,後面我才發現0XC200的地址應該是怎麼算的,首先賦值的地址肯定是0X8200(可能有人
會問,程式上面不是0x820.到你這裡怎麼就變成了0x8200,這是因為這個段地址,CPU處理的時候會左移一位,也就是0x8200)
無疑了,仔細看組合語言才發現原來他是從第二個扇區開始複製的額,一個扇區是512個位元組,換成16進位制也就是0X200,0xc200的
由來應該是0X8200+0x4200-0X200=0xc200。
這是我對這個地址由來的一點看法,本人小白,入門不久,有什麼出入的望批評指正
相關推薦
關於《30天自制作業系統第三天》程式跳轉到0XC200的問題
看到第三章的時候我蒙圈了,程式裡面是從0X8200開始複製的,如圖 書裡面也提到過軟盤的檔案的為內容是0X4200開始的,問題來了,但是書裡面解釋之所以跳轉到0XC200的原因是 0x8000+0x42
30天自制作業系統---第3天
一,製作真正的IPL(啟動程式裝載器) 今天的目的是將昨天的啟動程式裝載器來裝載程式。 ①:磁碟最初的512位元組是啟動區。為了裝載下一個512位元組內容的程式,對之前的程式進行修改,得到了今天的harib00a程式; &nb
30天自制作業系統日誌 第一天 小白在努力
第一天 思考好久決定將自己的實驗日誌拿來分享,很喜歡“30天”這本書,希望能幫助到同樣正在探索這本書的童鞋!但是!希望只是給大家一個參考,不要直接複製貼上喲,筆芯❤ 一、實驗主要內容 1、內容1:下載二進位制編輯器 2、內容2:按照書上14頁內容輸入16進位制字
《30天自制作業系統》 第一天 從計算機結構到彙編程式入門
效果圖 相關概念 CPU 中央處理單元,除了與別的電訊號交換以外什麼都不會,對於電訊號只能理解開與關兩種狀態。 CPU就是個整合電路板,它只是忠實地執行電訊號給它的指令,輸出相應的電訊號。 指定位置顯示0還是1等。 CPU最早只是發
Android五天樂(第三天)ListFragment與ViewPager
viewgroup cat () wid group 得到 ica bottom csdn 1ListFragment 今天首先學習了一種很經常使用的展示場景:列表展示。 昨天學習了使用Fragmet來取代activity進行設計。今天在托管單
【javaWeb】第66天——SSH練習第三天
crm練習 課程內容 課程目標 1. 通過SSH框架完成基本功能的開發 使用者模組 功能一:使用者註冊功能 1. 可以先判斷登入名是否已經存在 2. 要給密碼使用MD5進行加密操作 功能二:使用者登入功能 1. 登入功能要注意
30天自制作業系統學習-第2天
第二天主要學習組合語言與Makefile入門 1:繼續開發 在這裡先給出作者在第二天使用nask編寫程式碼中涉及到的暫存器概念: AX--accumulator,累加暫存器 CX--counter,計數暫存器 DX--data,資料暫存器 BX--base
30天自制作業系統學習-第3天
第三天的開發依舊基於彙編和分割槽方面的知識,以及呼叫BIOS中斷,寫入視訊記憶體部分內容。 asmhead.nas: ; haribote-os boot asm ; TAB=4 BOTPAK EQU 0x00280000 ; bootpackのロード先 DSKCA
30天自制作業系統學習-第4天
1 用C語言寫入記憶體 前三天的學習我們順利讓一個大小1440kb的helloos.img映象檔案執行起來,顯示出hello world字樣,可是這樣的螢幕一片漆黑, 顯示更我們熟悉的windos,linux等系統相去甚遠,這次我們嘗試讓螢幕顯示出一點“顏色”出來,往na
30天自制作業系統學習-第7天
1 獲取按鍵編碼 如何讓使用者輸入的鍵盤按鍵轉換為對於的字元,只需使用匯編呼叫bios中斷即可實現,我們在naskfuc.nas中編寫好的大量in out介面嘗試呼叫,修改後的int.c中inthandler函式: #define PORT_KEYDAT 0x0060
30天自制作業系統學習-第8天
1 滑鼠解讀 我們昨天已經能通過滑鼠中斷取得資料了,但是遠遠有這些資料還不夠,我們希望我們能解讀這些資料,使之讓我們的滑鼠游標做出相應的動作,修改bootpack.c裡的HariMain主函式部分: for (;;) { io_cli(); if (fifo
《30天自制作業系統》學習筆記——第七天
明天就要回學校了,收拾完東西,再在家裡寫下最後一篇筆記。 今天終於迎來滑鼠的控制了! 作者一開始先拿鍵盤練手,給出了一個鍵盤的中斷處理程式。其中作者重點指出一句: io
30天自制作業系統之第15天 多工(1)
多工的本質是利用定時器和far跳轉在任務之間進行切換,具體來說,一開始先執行main函式(就是處理我們的滑鼠、鍵盤和定時器等事件),0.02s後定時器超時,執行如下語句:farjmp(0, 4 * 8
30天自制作業系統筆記第4天
用C語言實現記憶體讀入 條紋實現‘ void io_hlt(void); void write_mem8(int addr, int data); void HariMain(void) { int i; //變數宣告,i是一個32位的整數
「七天自制PHP框架」第三天:PHP實現的設計模式
爭論 框架 啟動 興趣 註意 end php imp close 往期回顧:「七天自制PHP框架」第二天:模型與數據庫,點擊此處 原文地址:http://www.cnblogs.com/sweng/p/6624845.html,歡迎關註:編程老頭 為什麽要使用設計模式?
3.CCNA第三天-認識和操作思科IOS作業系統
複習主機到主機通訊模型 OSI 開放式系統互連 應用層 表示層 會話層 傳輸層 網路層 資料鏈路層 物理層 TCP/IP協議棧 應用層 傳輸層 網路層 資料鏈路
Java第三天學習筆記~比較運算子&邏輯運算子、程式的流程控制、選擇結構、迴圈結構
Java語言基礎 比較運算子&邏輯運算子----運算結果為true和false 邏輯運算子是連線兩個布林型別的表示式 &與; |或; &
30天自制作業系統——用U盤啟動自制系統
最近試讀了《30天自制作業系統》的前兩章,感覺很有意思。 但是發現裡面寫的系統都是用軟盤啟動的,現在在大多數電腦上已經看不見軟碟機了,所以如果想執行書中的作業系統只能通過qemu(隨書光碟中已經附帶)模擬執行。這樣的話成就感就會少很多,感覺像是在做一個簡單的控制檯程式,相信大多數童鞋都希望能做出一個能在真
《30天自制作業系統》 day01
效果圖 hello.nas ; hello-os ; TAB=4 DB 0xeb, 0x4e, 0x90 DB "HELLOIPL"
30天自制作業系統day17
建立命令列視窗 建立一個帶視窗的任務,需要在主程式中建立視窗,再通過引數傳給這個任務的main函式。因為要處理視窗重疊關係等,需要在統一的地方進行管理。 如果有多個任務能夠接受鍵盤輸入,則應該建立一個變數key_to,表示輸入到哪個任務中。 為了讓每個任務