Agar (r0 ==0)
CMP r0,#0 r0 ni nolga tekshiradi
ITTEE EQ Ha bo'lsa, quyidagi ikkita ko'rsatmalar bajariladi
Keyin r0 = *r1 +2;
LDR r0,[r1] ma'lumotlarni xotiradan r0 ga yuklash
ADDr0, №2 qo'shish 2 bilan
|
Ko'pgina Thumb-2 ko'rsatmalari bir siklda bajarilsa-da, bir nechta ko'rsatmalar (masalan, o'qish/yozish ko'rsatmalari) bajarish uchun bir nechta tsikllarni talab qiladi. Cortex protsessorining uzilishlarga javob berish vaqtini aniq o'lchash uchun ushbu ko'rsatmalar uzilishi kerak. Ko'rsatmalarning bajarilishi muddatidan oldin tugatilgan taqdirda, ko'p marta o'qish yoki yozish buyrug'i bilan qayta ishlanadigan keyingi registrning raqami uzilishlar bilan qayta tiklangan ko'rsatmalar maydonida saqlanadi. Shunday qilib, uzilish tartibi tugagandan so'ng darhol bir nechta o'qish/yozish buyrug'ining bajarilishi tiklanishi mumkin. Oxirgi Thumb maydoni oldingi ARM protsessorlari bilan moslik uchun taqdim etilgan. Bu maydon protsessor hozirda ARM yoki Thumb buyrug'ini bajarayotganligini bildiradi. Cortex-M3 protsessorlari uchun bu bit har doim bittaga teng. Nihoyat, uzilish holati maydoni har qanday to'xtatilgan uzilish so'rovlari haqidagi ma'lumotlarni saqlaydi.
Do'stlaringiz bilan baham: |