Kod generatorini loyihalashdagi muammolar 2) Maqsadli dasturlar (2) RISC mashinasi - ko'p registrlar,
- uch manzilli ko'rsatmalar,
- oddiy manzillash usullari,
- va nisbatan oddiy ko'rsatmalar to'plami arxitekturasi.
Kod generatorini loyihalashdagi muammolar 2) Maqsadli dasturlar (3) CISC mashinasi - bir nechta registrlar,
- ikki manzilli ko'rsatmalar,
- turli xil manzil usullari,
- bir nechta ro'yxatga olish sinflari,
- o'zgaruvchan uzunlikdagi ko'rsatmalar,
- va yon ta'siri bo'lgan ko'rsatmalar.
Kod generatorini loyihalashdagi muammolar 2) Maqsadli dasturlar(4) Stack-ga asoslangan mashina - Operandlar operandlarni stekga surish orqali amalga oshiriladi keyin esa stekning yuqori qismidagi operandlar ustida amallarni bajarish .
- Yuqori samaradorlikka erishish uchun stekning yuqori qismi odatda registrlarda saqlanadi.
- Stackga asoslangan mashinalar deyarli yo'q bo'lib ketdi , chunki stekni tashkil qilish juda cheklangan va juda ko'p almashtirish va nusxalash operatsiyalarini talab qiladi .
Kod generatorini loyihalashdagi muammolar 2) Maqsadli dasturlar (5) stekga asoslangan mashina - Java virtual mashinasi ( JVM ) joriy etilishi bilan stekga asoslangan arxitekturalar qayta tiklandi.
- Java kompilyatorlari tomonidan ishlab chiqarilgan oraliq til bo'lgan Java bayt kodlari uchun dasturiy ta'minot tarjimonidir .
- Tarjimon bir nechta platformalarda dasturiy ta'minot muvofiqligini ta'minlaydi .
- (O'z vaqtida) JIT kompilyatorlari ish vaqtida bayt kodlarini maqsadli mashinaning mahalliy apparat ko'rsatmalar to'plamiga tarjima qiladi.
Kod generatorini loyihalashdagi muammolar 2) Maqsadli dasturlar(6) - Kod generatorining chiqishi maqsadli dastur hisoblanadi.
- Maqsadli dastur bo'lishi mumkin
- Mutlaq mashina tili
- Qayta joylashgan mashina tili
- Alohida tuziladigan kichik dasturlar
- Qayta joylashishi mumkin bo'lgan ob'ekt modullari to'plami bir-biriga bog'lanishi va bog'lovchi tomonidan bajarilishi uchun yuklanishi mumkin
- Assambleya tili
Do'stlaringiz bilan baham: |