荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: sinba (CL, never fly away!), 信区: Program
标  题: 操作系统课程设计——建议3
发信站: BBS 荔园晨风站 (Thu Oct 28 12:47:57 1999), 转信

资料P61提到用
addr=&ip00
sys_set(addr,tim_sch);
将tim_sch保存到ip00,cs00两个单元中。
我觉得可以改为:
  addr=&ip00;
  addr1=&cs00;
  sys_set(addr,addr1,tim_sch1);
即增加变量addr1保存cs00的值。
在system.asm中以如下代码设置即可:

    extrn _cs00: word
    extrn _ip00: word

_text segment public 'code'
      assume cs:_text
      public _sys_set
_sys_set proc far

      push ax
      push es
      push bx
      push bp            ;save regs
      mov bp,sp
      mov es,[bp+14]
      mov bx,[bp+12]
      mov ax,[bp+20]
      mov es:[bx],ax      ;ip
      mov es,[bp+18]
      mov bx,[bp+16]
      mov ax,[bp+22]
      mov es:[bx],ax      ;cs
      pop bp
      pop bx
      pop es
      pop ax
      ret
_sys_set endp
_text ends
     end

这样做使程序更灵活,对以后扩展有很大帮助(尤其是test3 :-) )

--
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.145]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店