Keil ARM Assembly - Label sorunu

Mikro Step

Kıdemli Üye
Katılım
25 Eylül 2022
Mesajlar
7,649
Keil de ARM assembly program yazarken buyuk bir derdim var. Sorunumu yurt disi sitelerde dile getirmeden once burda dile getireyim. Belki cevabi burdadir.

Yuksek duzeyli dillerde function ya da procedure (F/P) icinde ziplayarak dallanma yapabiliyor ve bu amacla label kullanabiliyoruz. Usteli farkli F/P icinde ayni label'i kullanabiliyoruz. F/P disindan bu labellara ziplamak mumkun olmadigi icin derleyici ayni Labellarin kullanilmasina ses cikartmiyor.

Fakat Keilde assembly kodlama yaparken farkli F/P icinde ayni labellari kullanmanin yolunu bulamadim.

Bosuna mi arayis icindeyim yoksa bunun bir yolu var mi?

ASM kodlamada cok fazla dallanma yapildigi icin cok sayida label'a ihtiyac duyuluyor. Anlasilirlik icin labellarin amaca uygun secilmesi gerekiyor bu da bir sure sonra label icin uygun kelime arayisinda kitliga neden oluyor.

Mesela Wait, Bekle gibi kelimeler cok gerekiyor. Wait1 Wait2 gibi isimler kullanmak icin en son kullanilan WaitN N sayisini hatirda tutmak gerekiyor. Hatirimda tutsam bile bu tip labellar hosuma gitmiyor.
 
Son düzenleme:
Eğer bir şekilde GNU toolchain kullanma şansın varsa Keil geliştirme ortamı ile, GNU assembler'da lokal label desteği var.
 
Lokal label olarak ben isim kullanmıyorum rakam kullanıyorum. Ama dediğim gibi GNU assembler bu, keil'in kendi assembler'inin durumunu bilmiyorum.

Kod:
.global memset16
.type memset16, %function

; r0 = dst
; r1 = data
; r2 = count
memset16:
    push {r7, lr}
    mov r7, sp

0:
    strh r1, [r0], #2
    subs r2, r2, #1
    bgt 0b

    mov sp, r7
    pop {r7, pc}
 

Çevrimiçi personel

Forum istatistikleri

Konular
8,450
Mesajlar
138,597
Üyeler
3,344
Son üye
seyfi

Son kaynaklar

Son profil mesajları

mechanic ayhanarican mechanic wrote on ayhanarican's profile.
https://www.allmystery.de almanca biliyorsan burada araştır. Yapay zekada çeviriyor gerçi.
Almanların matematik bilgisi daha iyi oluyor.
“Kendi yolunu çizen kişi, kimsenin izinden gitmez.” – Nietzsche
Kim İslâm’da güzel bir çığır açarsa (güzel bir alışkanlık başlatırsa), onun sevabı ve kendisinden sonra ona uyanların sevapları, onların sevaplarından hiçbir şey eksilmeksizin ona da yazılır.
erdemtr55 taydin erdemtr55 wrote on taydin's profile.
Merhaba Taydin bey,
Gruba spms serisi yapıcak mısınız?
ben 3 sargılı toroid ile 2 adet flyback sürücek bir devre yapmayı düşünüyorum.size soracak sorularım vardı?
Mutluluğun resmi illa güzel çizilmiş tablo olmak zorunda değil.Bazen basit bir çizgi,doğru bir renk,yada küçük bir detay
Back
Top