Keil ARM Assembly - Label sorunu

Mikro Step

Kıdemli Üye
Katılım
25 Eylül 2022
Mesajlar
3,896
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}
 

Forum istatistikleri

Konular
5,900
Mesajlar
100,721
Üyeler
2,498
Son üye
TaKo

Son kaynaklar

Son profil mesajları

Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
Back
Top