آدرس‌دهی کلمه‌ای
دسترسی‌های زیر کلمه و آدرس‌های گسترده

برنامه ای که روی رایانه در حال اجرا می‌باشد و از آدرس دهی کلمه ای استفاده می‌کند، همچنان می‌تواند با شبیه‌سازی دسترسی به واحدهای کوجک تر، با واحدهای کوچک‌تر حافظه کار کند. برای بارگذاری نیاز داریم کلمه را برداشته و سپس بیت‌های مورد نظر را استخراج کنیم. برای ذخیره نیز نیاز داریم کلمه را بارگذاری کنیم، مقادیر جدید را در آن قرار دهیم و پس از بازنویسی بیت‌های مورد نظر آن را مجدداً در کلمه موجود در حافظه ذخیره کنیم.
فرض کنید چهار کد پوینت متوالی رشته با فرمت UTF-8 را می‌خواهیم در یک کلمه ۳۲ بیتی دسته‌بندی کنیم. اولین کد ممکن است بیت‌های ۰ تا ۷، دومین کد ۸ تا ۱۵، سومین ۱۶–۲۳ و کد چهارم بین‌های ۲۴–۳۱ را اشغال کند. (اگر حافظه قابل آدرس دهی بایت بود، این یک ترتیب بایت انددی است.)
به منظور روشن شدن واضح کد لازم برای دسترسی به زیر کلمه بدون اینکه مثال را خیلی مشابه معماری آدرس دهی کلمه ای خاصی در نظر بگیریم، مثال‌های زیر از اسمبلی معماری میپس استفاده می‌کنند. در واقعیت MIPS یک معماری آدرس دهی بایتی با پشتیبانی مستقیم از بارگذاری و ذخیره‌سازی مقادیر ۸ و ۱۶ بیتی است، اما مثال وانمود می‌کند که تنها از بارگذاری و ذخیره ۳۲-بیتی که در یک کلمه ۳۲ بیتی است باید جدا از یک آدرس ذخیره شود. معماری MIPS انتخاب شده‌است به دلیل اینکه یک زبان اسمبلی ساده و بدون امکانات تخصصی است که باعث راحت تر شدن این عملیات می‌شود.
فرض کنید یک برنامه می‌خواهد سومین کد را در ثبات r1 از کلمه ای داخل آدرسی در ثبات r2 بخواند. با در نظر گرفتن عدم وجود پشتیبانی از مجموعه دستورالعمل‌ها (instruction set)، برنامه باید تمام کلمه را بارگذاری کند، ۱۶ بار شیفت به راست انجام دهد تا دو کد ابتدا را حذف کند و سپس کد چهارم را پنهان کند.
ldw $r1, 0($r2) # Load the full word
 srl $r1, $r1, 16 # Shift right by 16
 andi $r1, $r1, 0xFF # Mask off other code points
اگر آفست به‌طور ایستا (استاتیک) مشخص نباشد، اما در عوض یک بیت-آفست در ثبات r3 ذخیره شده باشد، رویکرد کمی پیچیده‌تر نیاز است.
ldw $r1, 0($r2) # Load the full word
 srlv $r1, $r1, $r3 # Shift right by the bit offset
 andi $r1, $r1, 0xFF # Mask off other code points
فرض کنید به‌جای آن برنامه می‌خواهد کد پوینت داخل رجیستر r1 به سومین کد پوینت داخل کلمه در رجیستر r2 قرار دهد. با در نظر گرفتن عدم پشتیبانی از مجموعه دستورالعمل‌ها (instruction set)، برنامه باید تمام کلمه را بارگذاری کند، مقدار قدیمی آن کد پوینت را پنهان کند، مقدار جدید را در محل مورد نظر تغییر دهد و پس از ادغام کردن مقادیر، تمام کلمه را دوباره ذخیره کند.
sll $r1, $r1, 16 # Shift the new value left by 16
 lhi $r5, 0x00FF # Construct a constant mask to select the third byte
 nor $r5, $r5, $zero # Flip the mask so that it clears the third byte
 ldw $r4, 0($r2) # Load the full word
 and $r4, $r5, $r4 # Clear the third byte from the word
 or $r4, $r4, $r1 # Merge the new value into the word
 stw $r4, 0($r2) # Store the result as the full word
مجدداً، اگر افست به جای آن در ثبات r3 ذخیره شود، رویکرد پیچیده تری مورد نیاز است:
sllv $r1, $r1, $r3 # Shift the new value left by the bit offset
 llo $r5, 0x00FF # Construct a constant mask to select a byte
 sllv $r5, $r5, $r3 # Shift the mask left by the bit offset
 nor $r5, $r5, $zero # Flip the mask so that it clears the selected byte
 ldw $r4, 0($r2) # Load the full word
 and $r4, $r5, $r4 # Clear the selected byte from the word
 or $r4, $r4, $r1 # Merge the new value into the word
 stw $r4, 0($r2) # Store the result as the full word
این دنباله کد فرض می‌کند که یک نخ (thread) دیگر نمی‌تواند بایت‌های دیگر داخل کلمه را همزمان تغییر دهد. اگر تغییرات همزمان ممکن بود، آنگاه ممکن بود یکی از تغییرات صورت نگیرد. برای حل این مشکل، چند دستورالعمل آخر باید به یک حلقه مقایسه-تبدیل تجزیه ناپذیر (atomic) تبدیل شوند تا یک تغییر همزمان به راحتی باعث شود تا عملیات با مقادیر جدید تکرار شود. در این مورد هیج مانعی برای حافظه لازم نیست.
به یک جفت آدرس کلمه و یک آفست درون کلمه آدرس عریض یا گستره (wide - همچنین fat address یا fat pointer) گفته می‌شود. (این را نباید با دیگر کاربردهای آدرس‌های عریض برای ذخیره‌سازی انواع مختلف داده‌های تکمیلی مانند کران‌های یک آرایه اشتباه گرفت) آفست ذخیره شده ممکن است یک بیت-آفست یا بایت-آفست باشد. دنباله کدهای بالا از این مورد که آفست به صورت بیت ذخیره می‌شود سود می‌برند، زیرا از آن به عنوان تعداد شیفت استفاده می‌کنند. یک معماری با پشتیبانی مستقیم برای انتخاب بایت، ممکن است ترجیح دهد تا فقط یک بایت آفست ذخیره کند.
در این دنباله‌های کد، آفست اضافی باید در کنار آدرس پایه ذخیره شود که در نتیجه آن عملاً نیازهای کلی ذخیره‌سازی آدرس را دو برابر می‌کند. این همیشه در رابطه با ماشین‌های کلمه ای صادق نیست، عمدتاً برای این که خود آدرس‌ها در کنار دیگر داده‌ها بسته‌بندی نمی‌شوند تا دسترسی به آن‌ها کارآمدتر باشد. برای مثال، Cray X1 از کلمات ۶۴ بیتی استفاده می‌کند، اما آدرس‌ها تنها ۳۲ بیت هستند. هنگامی که یک آدرس در حافظه ذخیره می‌شود، در کلمه مربوط به خودش ذخیره می‌شود و در نتیجه آفست بایت می‌تواند در ۳۲ بیت با ارزش تر کلمه قرار گیرد. ناکارآمدی استفاده از آدرس‌های عریض در این سیستم تنها منطق اضافی برای دستکاری این آفست و استخراج و درج بایت‌ها داخل کلمات است و تأثیری در استفاده از حافظه ندارد.