یکی دیگر از دستورات انتقال داده در زبان اسمبلی دستور LEA می باشد که در ادامه این مطلبشما می توانید توضیحاتی در مورد این دستور به دست آورید.
دستورالعمل (load effective address) lea برای مقداردهی اشاره گرها استفاده می شود. فرم خاص آن به صورت زیر است:
lea register16, memory
این دستور آدرس موثر یک محل خاص از حافظه را درون یک ثبات همه منظوره ذخیره می کند. منظور از آدرس موثر آدرس نهائی حافظه بعد از کلیه محاسبات آدرسی است.
مثال. دستور زیر مقدار ۱۲۳۴h را در ثبات AX قرار می دهد.
[lea AX, DS:[1234h
دستور mov ax, immediate data هم همین عمل را انجام می دهد. تفاوت آنها در این است که دستورالعمل lea محاسبه آدرسی و انتقال داده را همزمان انجام می دهد.
مثال. دستور زیر آدرس حاصل از محاسبه BP+SI+4 را درثبات AX قرار می دهد. ابتدا مقادیر را بهم جمع کرده سپس در ثبات منتقل می کند.
[lea bx, 4[bp+si
دستورالعمل lea روی فلگ ها تاثیر ندارد.