中断处理程序的入口地址

来源:百度知道 编辑:UC知道 时间:2024/05/20 11:00:45
init: cli ;初始化程序,关中断
mov ax,0 ;设置中断向量表段地址
mov es,ax
mov ax,offset newd ;在中断向量表中设置中断处理程序入口地址(偏移量)
mov es:34h,ax
mov ax,cs ;在中断向量表中设置中断处理程序入口地址(段地址)
mov es:36h,ax
以上程序段的34和36是什么意思,固定的吗?根据什么得出的

基础知识:
处理器允许处理256种中断,每个中断向量占4个字节:低位2个字节存放段内偏移地址,高位2个字节存放中断入口地址的段地址.ax是数据寄存器.es为段寄存器.

解答:
这是人为设置中断向量的一种方法,其中34和36是固定的位置(用户指定的位置).从34h开始的两个字节内存放了偏移量,在接下来的两个字节内,即从36h开始,存放了中断处理程序的段地址.由此得到的中断处理程序的入口地址为36h:34h.

如果程序只有这么多,34h和36h就是用户指定的.

那64位呢~楼上的你能回答下吗