- 2
- 0
- 约3.61千字
- 约 11页
- 2022-07-09 发布于山东
- 举报
四、中断处理程序的设计(实方式) (3)内存驻留技术 问题:在用户程序结束后其地址空间也被释放,如何让一 段程序常驻内存,使得中断服务处理程序在用户程序退出后 还能够被其它应用程序调用? 驻留方法:DOS专门为驻留程序设计了一个功能调用: MOV AL, 0 ; 0为退出码 MOV AH, 31H MOV DX, 需要驻留的程序的节长度 INT 21H 结束当前程序并驻留内存 四、中断处理程序的设计(实方式) 问题:怎样计算程序的节长度? (i) 驻留长度单位是“节”而不是字节,1节等于16个字节。 (ii) 如果需要驻留的程序长度是n 字节,需要驻留的程序的节长度: DX-- ((n+15) ÷ 10H)+ 10H (其中 (n+15) ÷ 10H)取商,略去余数) 其中((n+15) ÷ 10H)是计算出驻留程序需要多少“节”,加15之后再除以10H(相当于向上取整)是为了保证中断处理程序的所有指令都能被计算在被驻留的程序内,在计算驻留节长度时宁可多算一些也不能少算一个。 (iii)为什么要加10H?每个程序在调入内存时,操作系统都为它安排了一个称为“程序段前缀(PSP)”的专用内存区,并且放在程序的前面,这个程序段前缀的长度是256字节,刚好16节(10H),它必须与需
您可能关注的文档
- 程序设计入门——C语言#1.2.1#--C语言.pdf
- 程序设计入门——C语言#1.3.1#--第一个程序.pdf
- 程序设计入门——C语言#1.3.2#--以下四个小程序.pdf
- 程序设计入门——C语言#1.3.3#--hello.c.pdf
- 程序设计入门——C语言#1.3.5#--calculate.c.pdf
- 程序设计入门——C语言#1.3.6#--change.c.pdf
- 程序设计入门——C语言#2.1.1#--plus.c.pdf
- 程序设计入门——C语言#2.1.2#--change2.c.pdf
- 程序设计入门——C语言#2.1.3#--height2.c.pdf
- 程序设计入门——C语言#2.2.1#--average.c.pdf
原创力文档

文档评论(0)