IT bloğu, koşullu olarak yürütülemeyen başparmak talimatının eksikliklerini çözmek için başparmak komut setinden türetilen bir şeydir. IT talimatı, sonraki 1 ila 4 talimat için yürütme koşullarını belirlemek için kullanılabilir.
IT bloğunun bilgisi PSTATE'de, başparmak komut setinde, yani CPSR'de saklanır. CPSR'nin BT alanında saklanır.
IT talimatının talimat kodu aşağıdaki gibidir:
Derleme açıklaması:
ilk koşul: IT bloğundaki ilk talimatın durumunu belirleyin
maske: IT blok bloğunda kaç tane koşullu yürütme talimatını belirler
CPSR'deki BT alanı, BT bloğunun durumunu nasıl kaydeder?
Başlangıçta, BT alanı, BT blok durumunu aşağıdaki gibi kaydeder.
Şekildeki N1, N2, N3 ve N4, IT talimatından sonraki 4 talimata karşılık gelir.
IT komutlarının kodu çözüldüğünde, birinci saniye ve maske alanlarına göre, IT bloğunda olacak birkaç ardışık komut olduğunu ve her komutun yürütüldüğü koşullar altında bilebilirsiniz. Ardından, çeşitli talimatlara göre, ilgili değeri CPSR'nin BT alanına doldurun.
Örneğin, aşağıdaki komut
ITTET EQ (EQ kodu 0000'dir)
ITTET'e göre aşağıdaki IT bloğu 4 talimatla belirlenir. Ve Madde 0, Madde 1, Madde 3 EQ koşullarıyla uyumludur ve Madde 2, EQ koşullarına aykırıdır. Şu anda, CPSR'deki BT alanı aşağıdaki değerlerle doldurulur
3'b000
0
0
1
0
1
Örneğin, aşağıdaki komut
ITEE PL (PL kodu 0101'dir)
ITTE'ye göre aşağıdaki IT bloğu belirlenir, 3 talimat vardır. Ve Madde 0 PL koşullarıyla tutarlıdır ve Madde 1 ve Madde 2 PL koşullarının tersidir. Şu anda, CPSR'deki BT alanı aşağıdaki değerlerle doldurulmuştur:
3'b010
1
0
0
1
0
Yukarıdaki, CPSR'nin BT alanının yalnızca başlangıç değeridir, öyleyse BT alanı, BT bloğundaki talimatların yürütülmesi sırasında nasıl değişir?
Aşağıdaki şekil, IT bloğundaki 4 talimatın yürütülmesi ile IT etki alanının değişim tablosudur. BT'nin değişmeden kaldığı ve bir talimatı uyguladıktan sonra BT'nin bir bit sola hareket ettiği görülebilir. BT, talimatın çalışma koşullarını belirlemek için yeni bir koşul kodu oluşturur.
IT bloğundaki komutların koşulları ya IT komutları tarafından tanımlanan koşullarla aynıdır ya da tam tersidir ve başka hiçbir durum olamaz.Her bir komut için yürütme koşullarını esnek bir şekilde ayarlayabilen A32 gibi olamaz.
Aşağıdaki şekil, kol tarafından tanımlanan durum kodunun kodudur.İki durum kodunun bir kombinasyon olduğu ve son bitin zıt ilişki olduğu görülebilmektedir. Bu nedenle, koşul kodunun yüksek 3 biti BT'de depolanmalıdır ve kalan bir bit BT'ye bağlıdır.
İş teklifleri
Eğitim Bilgileri
Ayrıca ziyaret etmek için URL'ye de tıklayabilirsiniz