Skip to content

Commit 6f5218f

Browse files
committed
Lab 07
1 parent 719ffb2 commit 6f5218f

21 files changed

+3759
-0
lines changed

Lab07/README.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
原型保留原有特征的基础上,设计满足下列要求的新原型操作系统:
2+
3+
(1)实现fork()、wait()和exit()。
4+
5+
(2)内核实现上面三系统调用,并在c库中封装相关的系统调用.
6+
7+
(3)编写一个c语言程序,实现多进程合作的应用程序。
8+
可以在下面的基础上完成:一个简单的应用程序例,父进程生成一个字符串,交给子进程统计其中字母的个数,然后在父进程中输出这一统计结果。
9+

Lab07/disk/Lab07.img

1.4 MB
Binary file not shown.

Lab07/doc/实验说明.doc

390 KB
Binary file not shown.

Lab07/src/MyOs.asm

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
;**************************************************
2+
;* 程序版本信息 *
3+
;**************************************************
4+
5+
6+
.8086
7+
_TEXT segment byte public 'CODE'
8+
assume cs:_TEXT
9+
DGROUP group _TEXT,_DATA,_BSS
10+
org 100h
11+
start:
12+
13+
;设置 21h 的中断
14+
xor ax,ax
15+
mov es,ax
16+
mov word ptr es:[33*4],offset MOS_21h ; 设置 21h 的偏移地址
17+
mov ax,cs
18+
mov word ptr es:[33*4+2],ax
19+
20+
;设置 33h 的中断
21+
xor ax,ax
22+
mov es,ax
23+
mov word ptr es:[51*4],offset MOS_33h ; 设置 33h 的偏移地址
24+
mov ax,cs
25+
mov word ptr es:[51*4+2],ax
26+
27+
;设置 34h 的中断
28+
xor ax,ax
29+
mov es,ax
30+
mov word ptr es:[52*4],offset MOS_34h ; 设置 34h 的偏移地址
31+
mov ax,cs
32+
mov word ptr es:[52*4+2],ax
33+
34+
;设置 35h 的中断
35+
xor ax,ax
36+
mov es,ax
37+
mov word ptr es:[53*4],offset MOS_35h ; 设置 35h 的偏移地址
38+
mov ax,cs
39+
mov word ptr es:[53*4+2],ax
40+
41+
;设置 36h 的中断
42+
xor ax,ax
43+
mov es,ax
44+
mov word ptr es:[54*4],offset MOS_36h ; 设置 36h 的偏移地址
45+
mov ax,cs
46+
mov word ptr es:[54*4+2],ax
47+
48+
mov ax, cs
49+
mov ds, ax ; DS = CS
50+
mov es, ax ; ES = CS
51+
mov ss, ax ; SS = cs
52+
mov sp, 100h ; SP指向本段高端-4
53+
call near ptr _cmain ; 调用C语言程序cmain()
54+
jmp $
55+
56+
include function.asm ; 包含内核库过程 function.asm
57+
include services.asm ; 包含系统服务程序
58+
59+
_TEXT ends
60+
_DATA segment word public 'DATA'
61+
_DATA ends
62+
_BSS segment word public 'BSS'
63+
_BSS ends
64+
end start
65+

0 commit comments

Comments
 (0)