esi, edi, ebp, esp registrlari:
Quyidagi turdagi butun ma'lumotlarni o'z ichiga olishi mumkin
Bit (faqat bit maydonlarida ishlaydigan ko'rsatmalar)
Ikkilik kodli o'nlik sonlar (BCD); baytda bitta raqam mavjud, bir baytda ikkita raqam bilan ishlaydigan ko'rsatmalar mavjud
Word (16 bit); registrga yozishda yuqori qismi ishlatilmaydi va o'zgarmaydi; qo'ng'iroq mos ravishda si, di, bp, sp nomi bilan amalga oshiriladi
Uzoq so'z (32 bit)
Roʻyxatdan oʻtish kod cCR shartlari (shartlar kodi registri) :
bayroqlar registrining (EFLAGS) bir qismi bo'lib, u foydalanuvchi dasturida registr sifatida mavjud emas. Shart kodlari arifmetik amallar natijasi yoki maxsus ko'rsatmalar orqali o'rnatiladi va shartli tarmoq ko'rsatmalarida qo'llaniladi.
Quyidagi registrlar foydalanuvchi dasturida mavjud, lekin UNIX tizimlaridagi amaliy dasturlarda foydalanilmaydi (chunki ular tekis xotira modelida ishlaydi):
Segment registrlari gs, fs, es, ds, cs, ss:
16-bitli segment selektorlarini o'z ichiga oladi, manzilni shakllantirishda bilvosita ishtirok etadi
Intel 80x86 protsessorlarining barcha xotira adreslash rejimlari bitta formulada yozilishi mumkin: xotira katakchasi manzili
asos + indeks * masshtab + siljish
qayerda
tayanch - tayanch registr: eax, ebx, esx, edx, esi, edi, ebp, esp
indeks - indeks registri: eax, ebx, ecx, edx, esi, edi, ebp
masshtab - butun son doimiysi 1, 2, 4, 8
joy almashish - 8 yoki 32 bit ofset
Manzil elementlaridan birortasi yoʻq boʻlishi mumkin (bitta istisno: agar indeks boʻlmasa, masshtab ham boʻlmasligi kerak ).
Intel 80x86 protsessor ko'rsatmalari noldan uchtagacha operandga ega (aniq yoki yashirin). Ko'pgina ko'rsatmalar (transfer, arifmetik, mantiqiy) ikkita operandga ega bo'lib, ulardan biri operatsiyada (manbada) o'zgarmas, ikkinchisi esa operatsiya natijasidir (maqsad). Intel maqsad chap operand va manba o'ng operand bo'lgan sintaksisdan foydalanadi. Ammo UNIX tizimlaridagi aksariyat assemblerlar la Motorola 68xxx sintaksisidan foydalanadilar: chap operand manba, o'ng operand esa maqsad.
Ko'pgina ikkita operandli ko'rsatmalar uchun operandlardan biri (manba yoki maqsad) registr yoki xotira joylashuvi bo'lishi mumkin, ikkinchisi esa registr yoki bevosita qiymat bo'lishi mumkin. Bu bizga ikkita operandli ko'rsatmalarni quyidagi guruhlarga bo'lish imkonini beradi:
ro'yxatdan o'tish - ro'yxatdan o'tish
registr - xotira
xotira - ro'yxatga olish
bevosita qiymat - ro'yxatdan o'tish
bevosita ma'nosi - xotira
Xotiradan xotiraga operatsiyalarni (bevosita) bajaradigan ko'rsatmalar mavjud. Bular qator ko'rsatmalari va stek operatsiyalari.
Qattiq kodlangan registrlarni bilvosita ishlatadigan ko'rsatmalar:
ikki baravar aniqlik bilan ko'paytirish va bo'lish
kirish Chiqish
simlar bilan ishlash
sikllar
siljishlar
stek operatsiyalari (shu jumladan funktsiya chaqiruvlari)
tarjima yo'riqnomasi
32-bitli rejimda ko'pgina ko'rsatmalar 8 yoki 32 bitli operandlarga ega; 16 bitli operandlardan maxsus buyruq prefiksi yordamida foydalanish mumkin. Biroq, manzildagi ofset hajmini (8 yoki 32 bit) bu tarzda o'zgartirish mumkin emas.
Do'stlaringiz bilan baham: |