作業系統學習筆記 9 核心2進製檔案

2021-05-22 15:26:35 字數 1415 閱讀 1642

從圖中可見檔案的儲存和執行。

從b80000開始執行**。

; this macro is used to calculate padding needed

; to ensure that the boot sector is exactly 512 bytes

; in size.  the argument is the desired offset to be

; padded to.

%macro padfromstart 1

times (%1 - ($ - begintext)) db 0

%endmacro

[bits 16]

[org 0x07c00]

begintext:

mov ax, 0

mov ds, ax

mov es, ax

mov dx, 0x15a4

call printhex

call dispstr   ; 呼叫顯示字串例程

.here jmp .here   ; 無限迴圈

dispstr:

mov ax, bootmessage

mov bp, ax  ; es:bp = 串位址

mov cx, 16   ; cx = 串長度

mov ax, 01301h  ; ah = 13,  al = 01h

mov bx, 000ch  ; 頁號為0(bh = 0) 黑底紅字(bl = 0ch,高亮)

mov dl, 0

int 10h   ; 10h 號中斷

retprinthex:

pusha

mov   cx, 4       ; 4 hex digits

.printdigit:

rol   dx, 4       ; rotate so that lowest 4 bits are used

mov   ax, 0e0fh  ; ah = request, al = mask for nybble

and   al, dl

add   al, 90h  ; convert al to ascii hex (four instructions)

daa   ; i've spent 1 hour to understand how it works..

adc   al, 40h

daaint   10h

loop  .printdigit

popa

retbootmessage:  db "hello, os world!"

padfromstart 510

signature   dw 0xaa55   ; bios controls this to ensure this is a boot sector

上面的是檔案的源**。

作業系統學習筆記(2)

前台 和 後台 邏輯上的 分時系統 分時 批處理 這兩個概念的提出是為了進一步不讓處理機空閒,因為在作業流在調入調出的時間內,cpu是空閒的。前台 放的是分時互動作業。後台 放的批處理作業。當前臺 調入調出 時cpu空閒,這時呼叫後台批處理作業。即前台作業的優先順序高於後台作業。多道分時系統 記憶體...

作業系統學習筆記

這裡專門摘錄作業系統相關筆試題和面試題!也當作自己的乙個複習!乙個很全的作業系統常考知識集合 1.分段式儲存和分頁式儲存,以及段頁式儲存的區別 分頁是一維儲存,分段是二維的 因為分頁給出虛擬位址後,作業系統會自動劃分頁號和偏移量 而分段給出位址後,需要知道段號和偏移量,段的長度是可變的!故是二維的 ...

作業系統學習 筆記

單道批處理評價 資源利用率差 互動性差 等 多道批處理 w為了提高系統的利用率 出現多道批處理 多道 是指 某時刻 多個應用程式再主存中,按照某些原則去處理,逐個執行程式。批處理 使用者提交一批作業,首先存放再外存,排成乙個佇列,然後排程程式按一定的演算法去排程從該佇列 中選取佇列中的乙個或若干個作...