MSP430′u ASM ile Programlama

| Ekim 23, 2019 Tarihinde güncellendi
MSP430′u ASM ile Programlama

msp430-u-asm-ile-programlama

MSP430 mcu ları için kullanılan asm kodlarını açıklamaya çalışacağım. sitede C dili ile ilgili güzel örnek kodlar var fakat asm ile ilgili bir kaynak bulmak zor. Kaynak teşkil etmesi açısından kodları açıklamaya çalıştım ilerleyen bölümlerde kısa örnekler ile pekiştirmeye çalışacağım.

MSP430 Asm Komutları

Regestiriler Ve Görevleri

SR (Status Regestirisi) : Durum Regestirisi artimatik, mantık ve karşılaştıma oparatörleri bu regestirinin bazı bitlerini etkiler. Bu bitlerin durumu kontrol edilerek programımızın ilgili yerlere dallanmasını sağlayabliriz. Bu regestirilerin nasıl kullanılacağı komutlarla birlikte açıklanacaktır.

msp430-status-register-asm

SP (Stak Pointır) : 64K stal pointer mevcuttur. Bu regestiri kesme veya Call komutu ile kullanılır. Kesme/call komutu bulunduğu satırın adresini (PC Pogram sayıcıdaki adresi)

Stak pointerin en üst byte ne yerleştirir. Altprogramın işi bitince ret/reti komutlarından biriyle karşılaştığında kesme/call komutunu ilk karşılaşıldığı PC adresinin olduğu yerin bir altından kot çalışmaya devam eder.

msp430-asm-Stak-Pointir

Örnek

Satır – komut

15 Mov #ffh;r15

16 Dec r15

17 Call alt_program_1;alt programa dallan işin bitice bir alt satırdan devam et

18 mov r15,&P1OUT

19 ………………………..

End

45 alt_program_1

46 clr r15

47 ret

Yukarıdaki koddan da anlaşılacağı gibi program 17 satırda alt_program_1 etiketindeki programı çağırır. Call komutu alt_program_1 programını çağırdığında satır(PC) daki 17 değerini SP adresinin en üst saklayıcısına kaydeder. Altp program ret komutuyla karşılaştığında SP regestirindeki En üst kaydedicisindeki adresi satır(PC) kaydedicisine bir artırarak geri yükler sonuç olarak ret komutundansonra program 18. satırdan devam eder.

SP regestirisinde adresler enalttan üste doğru sıralanır. Yani ilk gelen adres bilgis en alta enson gelen adres bilgisi en üste doğru sıralanır. Geri dönüşlerde ise bu ilem tersten işlem görmeye başlar yani en üstteki adres verisi PC kaydedicisine ilk olarak gönderilir. SP regestirisine ilk yüklene adres son olarak PC yüklenir.

PC (Program Cointer) : Program çalımaya başladığında 00 adresinden başlar ve her bir komut satır indeksi 1 artırılarak takip edilir PC programın hangi satırda oldğunu kontrol etmeye yarayan regestirisidir. Call komutu once bu regestirinin değerini SP regestirisine yerleştirir ve Ret komutuyla karşılaşıldığında SP regestirisini içeriği PC regestirisine geri yüklenir ve program kaldığı yerden devam etmesi sağlanır. Ayrıca atlam komutları ve interruplarda program adresini bu regestiriye yazarak istenilen satırlara kodların dallanması sağlanır.

Diğer örnek ve açıklamalı komut listesi: msp430-asm-komutlari.ZIP

Yayım tarihi: 2011/09/13 Etiketler: , , ,



Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir