ARM-ով ես կարող եմ մուտք գործել հիշողության տեղադրություն, ինչպիսին է.
LDR r0, [r1, #4]!
Այսինքն՝ ես ուզում եմ բեռնել r1-ով մատնանշված արժեքը՝ 4 բայթ օֆսեթով, և ! նշանակում է, որ ես ուզում եմ, որ r1-ի արժեքը թարմացվի այս հրահանգից հետո նոր արժեքով (այսինքն՝ +4):
x86-ի վրա համարժեք կա՞ (եթե հնարավոր է AT&T շարահյուսություն): Օրինակ:
movl 4(%ebx), %eax
Սա կբեռնի %ebx-ով մատնանշված արժեքը 4 բայթ շեղումով %eax-ում: Ինչպե՞ս կարող եմ թարմացնել %ebx-ի արժեքը բեռնումից հետո:
Շնորհակալություն։
mov (%esi),%eax; lea 4(%esi),%esi
հաջորդականությունը կարող է ավելի արագ լինել: Այսպես կոչված լարային հրահանգները ունեն բավականին բարձր հրահանգների ուշացումներ, և դրանք կապված են ռեգիստրների օգտագործման հետ՝%edi
(խանութների համար) և%esi
(բեռների համար) միայն: Ոչ, սա միանշանակ այնքան ճկուն չէ, որքան ARM-ի ընդհանուր post/pre-in/decrement հասցեավորումը: 03.07.2013