یکی دیگر از اصطلاحاتی که در زبان برنامه نویسی اسمبلی باید باآن آشنا باشید وقفه است که هر رویدادی که باعث شود CPU اجرای عادی یک برنامه را قطع کند وقفه نامیده می شود. یک برنامه نویس اسمبلی با صدور وقفه های نرم افزاری می تواند به طور موثری با دستگاه های جانبی ارتباط برقرار کند.

انواع وقفه
INT
جدول بردار وقفه
چند نمونه وقفه متعارف

گاهی اوقات جریان عادی اجرای یک برنامه برای پردازش رویدادی که نیاز به پاسخ سریع دارد متوقف می شود. سخت افزار کامپیوتر برای مدیریت این رویدادها مکانیسمی به نام وقفه (interrupt) را دارد.

مثال. وقتی mouse حرکت می کند، سخت افزار mouse برنامه جاری را متوقف می کند تا حرکت mouse گرفته شود( برای حرکت مکان نمای mouse روی صفحه نمایش).

وقتی CPU یک سیگنال وقفه را تشخیص می دهد، فعالیت جاری خود را متوقف می کند و روتین خاصی را فراخوانی می کند که روتین وقفه (interrupt handler) نام دارد. این روتین علت وقوع وقفه را تشخیص می دهد و عکس العمل مناسب را انجام می دهد.

بیشتر روتین های وقفه بعد از پایان یافتن کنترل اجرا را به برنامه متوقف شده بازمی گردانند. آنها کلیه مقادیر ثبات ها را به وضعیت قبل از تولید وقفه بر می گردانند. بنابراین برنامه متوقف شده به گونه ای به اجرا ادامه می دهد که هیچ اتفاقی نیافتاده است به جز این که سیکل های CPU را از دست می دهند.

وقتی دو یا چند وقفه همزمان با هم اتفاق می افتند، CPU از سیستم الویت استفاده می کند و می تواند در طی اجرای بخش بحرانی یک برنامه وقفه ها را غیرفعال کند. وقتی دارد یک روتین وقفه را اجرا می کند کلیه وقفه های با الویت کمتر یا، تا زمان خاتمه اجرای روتین، غیر فعال هستند.