INT (دستور X86)

INT دستورالعمل زبان مونتاژ برای پردازندههای x86 است که باعث وقفه نرم افزاری می‌شود و شماره وقفه را به فرمت بایت دریافت می‌کند.  

وقتی که در زبان اسمبلی نوشته می‌شود، دستورالعمل اینگونه است: 

 INT X

که X وقفه نرم افزاری است که باید تولید شود (در بازه 0-255). 

بسته به متن، کامپایلر یا مونتاژ کننده ، شماره وقفه نرم افزاری اغلب به صورت یک مقدار ۱۶بیتی داده می شود، گاهی اوقات با پیشوند 0x یا پسوند h .  به عنوان مثال، INT 21H یک وقفه نرم افزاری را ایجاد می کند (33 در دهدهی)، و باعث می شود که تابعی که توسط بردار 34ام جدول وقفه به آن اشاره می‌کند اجرا شود که معمولا یک فراخوانی API DOS است. 

 حالت واقعی 
هنگام تولید وقفه نرم افزاری، پردازنده یکی از 256 تابع اشاره شده توسط جدول آدرس وقفه را فرا می‌خواند که در اولین 1024 بایت حافظه در حالت واقعی قرار دارد (نگاه کنید به بردار وقفه ).  بنابراین کاملا ممکن است از یک دستورالعمل فراخوانی برای شروع تابع وقفه به صورت دستی پس از فشار دادن ثبت پرچم استفاده کنید. 

یکی از مفیدترین وقفه های نرم افزار DOS، وقفه 0x21 بود.  با فراخوانی آن با پارامترهای مختلف در رجیستر (عمدتا ah و al) میتوان به عملیات‌ مختلف IO، خروجی رشته و بیشتر دسترسی داشته باشید.  تعریف: int 21   

اکثر سیستم ها و مشتقات Unix از وقفه های نرم افزاری استفاده نمی کنند، به استثنای وقفه 0x80 که برای برقراری تماس سیستم استفاده میشود .  این کار با وارد کردن یک مقدار 32 بیتی مربوط به یک تابع کرنل به رجیستر EAX پردازنده و سپس اجرای INT 0x80 انجام می شود. 

 INT 3 
دستور INT 3 برای استفاده توسط اشکال‌یاب‌ها تعریف شده است تا به طور موقت جایگزین دستورالعمل در یک برنامه در حال اجرا برای ایجاد یک نقطه پایانی باشد.  دستورالعمل‌های INT دیگر با استفاده از دو بایت کد گذاری می شوند.  این کار آنها را برای استفاده در دستورالعمل های پچ (که می تواند یک بایت طولانی باشد) نامناسب ساخته است. (ببینید SIGTRAP) 

کد اجرایی برای 0xCC INT 3است، در مقایسه با کد 0xCD imm8 برای INT فوری.  از انجایی که کد اجرایی 0xCC دارای ویژگی‌های خاص مورد نظر برای اشکال‌یابی است که کد‌های اجرایی معمول دو بایتی INT 3 فاقد آن هستند، اسمبلرها به طور معمول کد 0xCD 0x03 از mnemonics تولید نمی کنند.  

 همچنین نگاه کنید 

 INT 10H 
 INT 13H 
 INT 21H 
 وقفه 
 وقفه سخت افزار 
 فراخوانی وقفه BIOS 
 لیست وقفه های رالف براون 

 منابع 

رده:وقفه‌ها
رده:دستورالعمل‌های اکس۸۶
رده:صفحات با ترجمه بازبینی‌نشده