本匯編代碼對應文章:保戶模式下操作系統內核如何加載用戶程序并運行中的實際用戶程序代碼。
- 對應的主引導扇區代碼:主引導扇區代碼
- 對應的內核代碼:內核代碼
;代碼清單
13-3;文件名:c13
.asm;文件說明:用戶程序
;===============================================================================
SECTION header vstart
=0program_length dd program_end
;程序總長度#
0x00head_len dd header_end
;程序頭部的長度#
0x04stack_seg dd
0 ;用于接收堆棧段選擇子#
0x08stack_len dd
1 ;程序建議的堆棧大小#
0x0c;以
4KB為單位prgentry dd start
;程序入口#
0x10 code_seg dd section
.code
.start
;代碼段位置#
0x14code_len dd code_end
;代碼段長度#
0x18data_seg dd section
.data
.start
;數據段位置#
0x1cdata_len dd data_end
;數據段長度#
0x20;-------------------------------------------------------------------------------;符號地址檢索表salt_items dd
(header_end
-salt
)/256 ;#
0x24salt
: ;#
0x28PrintString db
'@PrintString'times
256-($
-PrintString
) db
0TerminateProgram db
'@TerminateProgram'times
256-($
-TerminateProgram
) db
0ReadDiskData db
'@ReadDiskData'times
256-($
-ReadDiskData
) db
0header_end
:;===============================================================================
SECTION data vstart
=0 buffer times
1024 db
0 ;緩沖區message_1 db
0x0d,0x0a,0x0d,0x0adb
'**********User program is runing**********'db
0x0d,0x0a,0message_2 db
' Disk data:',0x0d,0x0a,0data_end
:;===============================================================================[bits
32]
;===============================================================================
SECTION code vstart
=0
start
:mov eax
,dsmov fs
,eaxmov eax
,[stack_seg
]mov ss
,eaxmov esp
,0mov eax
,[data_seg
]mov ds
,eaxmov ebx
,message_1call far
[fs
:PrintString
]mov eax
,100 ;邏輯扇區號
100mov ebx
,buffer
;緩沖區偏移地址call far
[fs
:ReadDiskData
] ;段間調用mov ebx
,message_2call far
[fs
:PrintString
]mov ebx
,buffer call far
[fs
:PrintString
] ;too
.jmp far
[fs
:TerminateProgram
] ;將控制權返回到系統 code_end
:;===============================================================================
SECTION trail
;-------------------------------------------------------------------------------
program_end
:
總結
以上是生活随笔為你收集整理的【OS学习笔记】二十二 保护模式六:保户模式下操作系统内核如何加载用户程序并运行 对应的汇编代码之用户程序的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。