Code Generation


Download 223.53 Kb.
bet7/19
Sana11.10.2023
Hajmi223.53 Kb.
#1699031
1   2   3   4   5   6   7   8   9   10   ...   19
Bog'liq
7037035 (1)

5. Darhol murojaat qilish

    • Konstantaga # prefiksi qo'yiladi.
  • LD Rl, #100 butun son 100ni Rl registriga yuklaydi,
  • ADD Rl, Rl, #100 Rl registriga 100 butun sonini qo'shadi. '
  • X = y - z uchta manzilli bayonot mashina ko'rsatmalari bilan amalga oshirilishi mumkin:
  • LD Rl, y
  • LD R2, z
  • SUB Rl, Rl, R2
  • ST x, Rl
  • Faraz qilaylik, a - bu massiv, uning elementlari 8 baytlik qiymatlar, ehtimol haqiqiy sonlar.
  • Shuningdek, a ning elementlari 0 dan boshlab indekslangan deb faraz qiling.
  • uch manzilli ko'rsatma b = a [ i ] mashina ko'rsatmalari bo'yicha:
  • LD Rl, i // Rl = i
  • MUL Rl, Rl, 8 // Rl = Rl * 8
  • LD R2, a(Rl) // R2 = tarkib(a + tarkib(Rl))
  • ST b, R2 // b = R2
  • a massivga tayinlash uch manzilli ko'rsatma bilan ifodalanadi
  • a [ j ] = c tomonidan amalga oshiriladi:
  • LD Rl, c // Rl = c
  • LD R2, j // R2 = j
  • MUL R2, R2, 8 // R2 = R2 * 8
  • ST a(R2), Rl // tarkib(a + tarkib(R2)) = Rl
  • uch manzilli bayonot
  • x = *p, biz mashina ko'rsatmalaridan foydalanishimiz mumkin:
  • LD Rl, p // Rl = p
  • LD R2, 0(R1) // R2 = tarkib(0 + tarkib(Rl))
  • ST x, R2 // x = R2
  • *p = y ko'rsatkichi orqali tayinlash xuddi shunday tarzda mashina kodida amalga oshiriladi:
  • LD Rl, p // Rl = p
  • LD R2, y // R2 = y
  • ST 0(R1), R2 // tarkib (0 + tarkib(Rl)) = R2
  • kabi shartli o'tish uch manzilli ko'rsatma
  • agar x < y L bo'lsa
  • Mashina kodi ekvivalenti quyidagicha bo'ladi:
  • LD Rl, x
  • LD R2, y
  • SUB Rl, R l, R2
  • BLTZ R l, M

Quyidagi uchta manzilli bayonotlar uchun kod yarating, a va b massivlar, ularning elementlari 4 baytli qiymatlar.

  • x = a [i]
  • y = b [ j]
  • a [ i ] = y
  • b [ j ] = x

Download 223.53 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   19




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling