На 16-разрядных встраиваемых процессорах, в которых имеется (страничная) ОЗУ и / или флэш-память, использование страниц может привести к тому, что указатели будут иметь разные размеры, хотя это не зависит от размера данных, на которые они указывают.
Например, на процессоре Freescale HCS12 с флэш-памятью все указатели данных имеют 16 бит.
Однако указатели функций имеют 16 бит для ближних указателей (для кода на той же странице, что и вызывающая функция, или в небанкованной флэш-памяти) или 24 бита для дальних указателей (для кода на другой странице), включая номер страницы. в адрес.
Если вы хотите хранить постоянные данные в выгружаемой флэш-памяти, все становится сложнее, поскольку из-за ограничения размера указателя данных функция, использующая данные, должна находиться на той же странице, что и данные, к которым осуществляется доступ.
Вполне возможно, что 16-разрядный процессор с ОЗУ с накоплением памяти также будет иметь разные размеры для ближних и дальних указателей данных.