Browse Prior Art Database

Universal Interrupt Linkage Mechanism

IP.com Disclosure Number: IPCOM000061869D
Original Publication Date: 1986-Jul-01
Included in the Prior Art Database: 2005-Mar-09
Document File: 1 page(s) / 11K

Publishing Venue

IBM

Related People

Priven, M: AUTHOR [+2]

Abstract

Some interrupt routines destroy the registers, stack segment address and stack pointer address when they are used in a re- entrant environment. The routines work in a single task environment because the interrupting program can save its regis on its stack, and then save its stack pointer and segment in a predefined code location. In a re-entrant environment with several tasks using the program with different stacks, the method does not work because the second time the interrupting program reaches this point in its execution it will overlay its previously saved stack segment address and pointer address in it code area.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 91% of the total text.

Page 1 of 1

Universal Interrupt Linkage Mechanism

Some interrupt routines destroy the registers, stack segment address and stack pointer address when they are used in a re- entrant environment. The routines work in a single task environment because the interrupting program can save its regis on its stack, and then save its stack pointer and segment in a predefined code location. In a re-entrant environment with several tasks using the program with different stacks, the method does not work because the second time the interrupting program reaches this point in its execution it will overlay its previously saved stack segment address and pointer address in it code area.

The new concept is to place on the stack: 1)a code segment and code pointer to the stack as if it were a program memory area, 2)a stack segment and pointer for the interrupting program 3)a series of instructions to which the interrupting program can execute a "return", and 4)another code segment and code pointer to the return point in the interrupting program.

The first bytes on the stack are the code segment and code pointer of this short series of instructions which are then executed as they reside in the stack. The interrupt routine returns after execution to the remainder of this short series of instructions. They restore the stack segment and stack pointer and return using the code segment and code pointer from the stack to return to the next instruction of the interrupting program. The stack segment and po...