驻留dos程序问题
我是自学的...木有老师我用以下方法写了时钟驻留,成功了
但是在用同样的方法写字体背景颜色每一秒钟改变的时候..这种方法不行了
以下是我的驻留方式
start:
jmp start1
color record hs:1,back:3,hl:1,front:3
cval color<0,0,0,0>
start1:
mov ax,cs
mov ds,ax
mov dx,offset s ;//s处的代码在下面
mov ax,251ch
int 21h
mov ax,3100h
mov dx,(offset sn-offset start+15)/16+16;sn为最后的结束标号,start为整个dos程序的开始标号
int 21h
我还用了一种方法
就是把可执行代码部分的代码复制到了b35:100h处
代码如下
mov ax,cs
mov ds,ax
mov si,offset s//源址
mov ax,b35h
mov es,ax
mov di,100h
mov cx,offset sn-offset s
cld
cli//暂时屏蔽其他中断
rep movsb
sti
mov ax,4c00h
int 21h//由于上面不能终止程序,所以自己加一个
以上两种方法 ,我在驻留时钟里面成功了
为什么现在不行了?
其实用27h中断也可以驻留,但是先把以上两个方法为什么失效搞懂...
有高人研究过的..指点下小弟 ...谢谢
顺便希望能找到师傅收下我这个徒弟(我有一定基础,用pascal写过俄罗斯方块等小游戏..高人收)
[ 本帖最后由 hook615 于 2012-4-12 12:07 编辑 ]