در قسمت آموزش های زبان اسمبلی به مبحث وقفه ها در این زبان رسیدیم که چند نوعاز این وقفه ها را با هم بررسی کردیم.در این قسمت جدول بردار وقفه ها را در زبان اسمبلی شرح خواهیم داد.
هر سطح وقفه یک محل رزرو شده در حافظه دارد که بردار وقفه (interrupt vector) نامیده می شود. همه بردارهای وقفه در جدولی به نام جدول بردار وقفه (interrupt vector table) نگهداری می شوند. این جدول از ابتدای حافظه اصلی یعنی آدرس ۰۰۰۰:۰۰۰۰ ذخیره شده است.
هر بردار وقفه ۴ بایت طول دارد. دوبایت بالای آن آفست و دو بایت پایین آن سگمنت روتین وقفه را دربر می گیرند. چون ۲۵۶ روتین های وقفه وجود دارد بنابراین اندازه جدول بردار وقفه ۲۵۶×۴=۱۰۲۴=۱KB است.
شماره وقفه به عنوان اندیسی برای جدول بردار وقفه استفاده می شود. آفست روتین وقفه شماره n در آدرس n×۴ و آدرس سگمنت روتین وقفه شماره n در آدرس n×۴+۲ جدول قرار دارد.
یک ویژگی خوب این سیستم این است که می توان بردارها را برای اشاره به روتین دیگری تغییر داد. که این همان کاری است که برنامه های TSR (Terminate and Stay Resident) انجام می دهند.
در برنامه همیشه توسط شماره وقفه به یک روتین وقفه مراجعه می شود بنابراین برنامه نیازی به دانستن آدرس واقعی در حافظه ندارد و آدرس روتین وقفه هنگام اجرا توسط CPU تعیین می شود.
مثال. آدرس های آفست و سگمنت روتین وقفه شماره ۵ برابر با ۵×۴=۰۰۱۴h و ۵×۴+۲=۰۰۱۶h می باشد.