Kod generatorini loyihalash bilan bog'liq muammolar 4) Registrni ajratish (3) Kod generatorini loyihalash bilan bog'liq muammolar 4) Registrni ajratish (4) - ikkinchi bayonotda yagona farq bo'lgan ikkita uchta manzilli kod ketma-ketligini ko'rib chiqing
t = a + bt = a + b t = t * c t = t + c t = t / dt = t / d (a) (b) Kod generatorini loyihalash bilan bog'liq muammolar 4) Registrni ajratish (5) - (a) va (b) uchun eng qisqa montaj kodlari ketma-ketligi
L R1,a L R0, a A R1,b A R0, b M R0,c A R0, c D R0,d SRDA R0, 32 ST R1,t D R0, d ST R1, t - (a) (b)
- Bu erda SRDA Shift-Right-Double-Arifmetic va degan ma'noni anglatadi
- SRDA RO, 32 dividendni Rl ga o'tkazadi va RO ni tozalaydi, shuning uchun barcha bitlar uning belgisi bitiga teng bo'ladi.
Kod generatorini loyihalashdagi muammolar 5) Baholash tartibi - Bu maqsadli kodning samaradorligiga ta'sir qiladi.
- Ba'zi hisoblash buyurtmalari boshqalarga qaraganda oraliq natijalarni saqlash uchun kamroq registrlarni talab qiladi.
- Umumiy holatda eng yaxshi buyurtmani tanlash qiyin NP-to'liq muammodir .
- Dastlab, biz oraliq kod ishlab chiqaruvchisi tomonidan ishlab chiqarilgan tartibda uchta manzilli bayonotlar uchun kod ishlab chiqarish orqali muammodan qochishimiz kerak.
Maqsadli til - Maqsadli mashina va uning ko'rsatmalar to'plami yaxshi kod generatorini loyihalash uchun zaruriy shartdir .
- Ushbu bobda biz ko'plab registr mashinalarining vakili bo'lgan oddiy kompyuter uchun maqsadli tilni yig'ish kodi sifatida foydalanamiz.
Do'stlaringiz bilan baham: |