زبان اسمبلی اکس۸۶
آدرس دهی قطعه بندی شده

معماری x86 در وضعیت حقیقی و مجازی ۸۰۸۶ از یک فرایند به نام قطعه بندی (به جای مدل حافظهٔ مسطح که در بسیاری از محیط‌های دیگر استفاده می‌شود) برای آدرس دهی حافظه استفاده می‌کند. قطعه بندی، شامل ساخت یک آدرس حافظه از دو بخش است: یک قطعه و یک افست؛ قطعه به نقطهٔ شروع یک گروه ۶۴ کیلوبایتی از آدرس‌ها اشاره می‌کند و افست تعیین می‌کند که آدرس مورد نظر در چه فاصله ای از این نقطهٔ شروع قرار دارد. در آدرس دهی قطعه بندی شده، برای ثبت آدرس کامل حافظه، دو رجیستر نیاز است. یکی برای نگه داشتن قطعه و دیگری برای نگه داشتن افست. به منظور ترجمه به یک آدرس مسطح؛ مقدار قطعه، چهار بیت به چپ (که معادل است با ضرب در 24 یا ۱۶) شیفت داده می‌شود و سپس به مقدار افست اضافه می‌شود تا آدرس کامل را ایجاد کند. این روش اجازه می‌دهد محدودیت آدرس دهی ۶۴ کیلوبایتی را از طریق انتخاب هوشمندانهٔ آدرس‌ها دور بزنیم. هرچند که برنامه‌نویسی را به مراتب پیچیده‌تر می‌کند.
برای مثال، در وضعیت حقیقی/محافظت شده، اگر DS حاوی مقدار هگزادسیمال 0xDEAD بوده و DX حاوی مقدار 0xCAFE باشد، ای دو در کنار هم به آدرس حافظهٔ 0xDEAD * 0x10 + 0xCAFE = 0xEB5CE اشاره می‌کنند؛ بنابراین، CPU می‌تواند تا ۱۰۴۸۵۷۶ بایت (۱ مگابایت) را در وضعیت حقیقی آدرس دهی کند. با ترکیب مقادیر قطعه و افست، یک آدرس ۲۰ بیتی را خواهیم داشت.
کامپیوتر اصلی آی بی ام برنامه‌ها را محدود به ۶۴۰ کیلوبایت می‌کرد، اما مشخصات حافظه گسترش یافته برای پیاده‌سازی یک طرح سوئیچینگ بانکی که سقوط از استفاده از زمانی که بعد از سیستم عامل، مانند ویندوز، استفاده از محدوده آدرس بزرگتر از پردازنده‌های جدید و استفاده از حافظه مجازی خود طرح‌ها
حالت محافظت شده، که از اینتل ۸۰۲۸۶ آغاز شد، توسط OS / 2 مورد استفاده قرار گرفت. نقطه ضعف‌هایی مانند عدم قابلیت دسترسی به BIOS و عدم توانایی برای بازگشت به حالت واقعی بدون تنظیم مجدد پردازنده، مانع استفادهٔ گستردهٔ آن شد. ۸۰۲۸۶ همچنان محدود به آدرس دهی حافظه در بخش‌های ۱۶ بیتی بود، به این معنی که فقط 216 بایت (۶۴ کیلوبایت) در هر لحظه قابل دسترسی بود. برای دسترسی به قابلیت‌های گسترش یافتهٔ ۸۰۲۸۶، سیستم عامل، پردازنده را روی حالت محافظت شده تنظیم می‌کند، بنابراین آدرس دهی ۲۴ بیتی و نتیجتاً دسترسی به 224 بایت (۱۶ مگابایت) حافظه را امکان‌پذیر می‌کند.
در حالت محافظت شده، انتخابگر قطعه را می‌توان به سه بخش تقسیم کرد: یک شاخص ۱۳ بیتی، یک نشانگر جدول یک بیتی که تعیین می‌کند ورودی در GDT قرار دارد یا در LDT و یک سطح مجوز درخواستی ۲ بیتی.
در هنگام اشاره به یک آدرس مشخص شده با یک قطعه و یک افست، از نشانه گذاری قطعه:افست استفاده می‌شود، بنابراین در مثال فوق، آدرس مسطح 0xEB5CE می‌تواند یا به صورت 0xDEAD:0xCAFE نوشته شود یا به صورت یک جفت ثبات که یکی برای قطعه و دیگری برای افست است؛ DS:DX.
برخی از ترکیبات خاص ثبات‌های قطعه و ثبات‌های عمومی به آدرس‌های مهمی اشاره دارند. مانند:
*CS:IP به آدرسی اشاره می‌کند که پردازنده در بایت بعدی از کد، آن را واکشی خواهد کرد (CS کوتاه شدهٔ قطعه کد و IP کوتاه شدهٔ نشانگر دستورالعمل می‌باشد).
*SS:SP به آدرس بالای پشته اشاره می‌کند یا به عبارت دیگر به آخرین بایتی که روی پشته قرار گرفته‌است (SS کوتاه شدهٔ قطعهٔ پشته و SP کوتاه شدهٔ نشانگر پشته می‌باشد).
*DS:SI معمولاً برای اشاره به داده‌ای استفاده می‌شود که قصد داریم آن را در ES:DI کپی کنیم (DS کوتاه شدهٔ قطعهٔ داده و SI کوتاه شدهٔ شاخص مبدأ می‌باشد).
*ES:DI معمولاً برای اشاره به مقصدی استفاده می‌شود که قصد کپی کردن رشته‌ای را در آن مقصد داریم، همان‌طور که در بالا گفته شد.
اینتل ۸۰۳۸۶ دارای سه حالت کارکرد می‌باشد: حالت واقعی، حالت محافظت شده و حالت مجازی. حالت محافظت شده که در ۸۰۲۸۶ عرضه شد، به ۸۰۳۸۶ این امکان را می‌دادکه تا حداکثر ۴ گیگابایت حافظه در اختیار داشته باشد؛ حالت مجازی جدید 8086 (VM86)، اجرای یک یا چند برنامهٔ حالت واقعی را در یک محیط محافظت شده که عمدتاً مشابه حالت واقعی بود، امکان‌پذیر کرد، هر چند برخی از برنامه‌ها با این حالت سازگار نبودند.
مدل حافظه مسطح ۳۲ بیتی در حالت حفاظت شدهٔ توسعه یافتهٔ ۸۰۳۸۶، احتمالاً مهم‌ترین ویژگی تغییر یافته در خانوادهٔ پردازنده x86 بود تا زمانی که ای ام دی، x86-64 را در سال ۲۰۰۳ منتشر کرد، ویندوز اکنون می‌تواند بسیاری از برنامه‌های کاربردی، از جمله برنامه‌های DOS، را با استفاده از حافظهٔ مجازی و چند اجرای توامان، به صورت هم‌زمان اجرا کند.