從圖中可見檔案的儲存和執行。
從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為了提高系統的利用率 出現多道批處理 多道 是指 某時刻 多個應用程式再主存中,按照某些原則去處理,逐個執行程式。批處理 使用者提交一批作業,首先存放再外存,排成乙個佇列,然後排程程式按一定的演算法去排程從該佇列 中選取佇列中的乙個或若干個作...