




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
中断服务程序的编程串指令装入法 伪指令装入法 DOS调用法 直接装入法8088的中断向量表利用STOSW指令将中服的段基址和偏移地址送入中断向量表。 STOSW:(AX)ES:DI,根据DF修改DI 例:设中断类型码为n,中服名称为INT_SEVCLI ;关中断 MOVAX,0 MOVES,AX ;置附加段基地址为0 MOVDI,n*4 ;置附加段偏移地址到DI MOVAX,OFFSETINT_SEV;置中断程序首地址的 ;偏移量到AX CLD STOSW ;填偏移量到中断地址表 MOVAX,SEGINT_SEV;置中断程序的段基地址到AX STOSW ;填段基地址到中断地址表 STI ;开中断2、伪指令装入法使用DOS功能调用的25H功能,从而将中服的入口地址置入中断向量表。 要求: AL=中断类型号 DS:DX=中断服务程序首地址的段、偏移地址 PUSHDS MOVAX,SEGINT_SEV ;段基地址送DS MOVDS,AX MOVDX,OFFSETINT_SEV;偏移地址送DX MOVAL,60H ;中断类型号送AL MOVAH,25H;(AH)功能号 INT21H ;功能调用 POPDS注意:在PC机系统初始化时,有一部分中断例程已驻留在内存中。一般情况下,用户不应改变系统对这些中断的设置。 可借用:程序中进行中断矢量的替换。;数据段:设置内存缓冲区,用于暂存DOS的中断矢量 intoff dw? intseg dw? ;主程序 movax,350ch;取出DOS的中断矢量, int21h;并送ES:BX movintoff,bx;保存DOS的中断矢量 movintseg,es设置中断向量恢复原中断矢量若外设的中断类型号为6BH, 设中断服务程序段地址是1000H,偏移地址为2000H 则此中断类型号对应的中断矢量表地址为从00lACH开始的四个存储单元。 MOV AX,0 MOV DS,AX ;置数据段段基地址为0 MOV AX,2000H MOV WORDPTR[01ACH],AX ;对偏移地址为01ACH的单元 MOV AX,1000H ;送双字 MOV WORDPTR[01ACH+2],AX ;对01AEH的单元送双字二、中断程序设计例1.内部中断服务程序数据段保存中断向量设置中断向量调用中断服务程序;80H号内部中断服务程序: ;显示字符串(以“0”结尾) ;入口参数:DS:DX=缓冲器首地址 new80h proc sti ;开中断 pushax ;保护寄存器 pushbx pushsi显示字符串退出中断服务程序主程序结束

my****25
实名认证
内容提供者


最近下载