אענה על שאלה זו במיוחד עבור בקרי ה- AVR שציינת. העיקרון הבסיסי תקף גם עבור ארכיטקטורות רבות אחרות בעלות 8 סיביות.
AVRs הם ליבות של 8 סיביות. זה אומר שיש להם 8 סיביות. עם זאת, 8 ביטים אינם מספיקים לגישה לכמות זיכרון שמישה. לכן ליבת ה- AVR מסוגלת להשתמש במערך ספציפי של רושמים המשולבים כרישומי מצביע של 16 סיביות. הרושמים r30 ו- r31 (המכונים גם ZL ו- ZH) הם דוגמה לכך. יחד הם יוצרים את מצביע ה- Z.
במכלול קריאת בתים בכתובת 0x1234 תיראה כך:
ldi ZL, 0x34; טען r30 (ZL) עם בית כתובת נמוך
ldi ZH, 0x12; טען r31 (ZH) עם כתובת גבוהה של כתובת
ld r16, Z; טען בתים ל- r16
למשפחת ה- AVR ישנם 3 זוגות רישומים בהם ניתן להשתמש. הם תוכננו במיוחד בחומרה כדי לאפשר פעולות כאלה.
בעת תכנות בשפה ברמה גבוהה יותר כמו C, המהדר מטפל בחומר זה.
הערה: מכשירי AVR מסוימים תומכים אפילו בגדלי זיכרון גדולים יותר מ -64,000. לבקרים אלה יש רישום פונקציות מיוחד שבו נכתבים סיביות נוספות של הכתובת לפני הגישה. הכתובת מורכבת לפיכך מהביטים הבאים (MSB ל- LSB):
רישום פונקציות מיוחד (בדרך כלל משתמשים רק בסיבית אחת), ZH (8bit), ZL (8bit). התוצאה היא כתובת כוללת של 17 סיביות ומאפשרת גישה ל 128 קילו-בייט של זיכרון RAM.