2. Завантаження регістра з пам’яті¶
2.1. Конвенції документа¶
Позначення: Rt, Rn позначають регістри ARM R0-R7, якщо не вказано інше. immN представляє безпосереднє значення шириною N бітів, отже imm5 обмежений діапазоном 0-31. [Rn + immN] — це вміст адреси пам’яті, отриманої додаванням Rn та зсуву immN. Зсуви вимірюються в байтах. Ці інструкції впливають на прапорці умов.
2.2. Завантаження регістра¶
ldr(Rt, [Rn, imm7])
Rt = [Rn + imm7]Завантажити 32-бітове словоldrb(Rt, [Rn, imm5])
Rt = [Rn + imm5]Завантажити байтldrh(Rt, [Rn, imm6])
Rt = [Rn + imm6]Завантажити 16-бітове напівслово
Якщо завантажується байт або напівслово, воно розширюється нулями до 32 біт.
Вказані безпосередні зсуви вимірюються в байтах. Тому у випадку ldr 7-бітове значення дозволяє отримати доступ до 32-бітових слів з вирівнюванням по слову з максимальним зсувом у 31 слово. У випадку ldrh 6-бітове значення дозволяє отримати доступ до 16-бітових напівслів з вирівнюванням по напівслову з максимальним зсувом у 31 напівслово.