Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Endüstriyel Gömülü Bilgisayar Sistemleri Doç.Dr. Ahmet Turan ÖZCERİT ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ Doç. Dr. Ahmet Turan ÖZCERİT 1 ARM ASSEMBLY.

Benzer bir sunumlar


... konulu sunumlar: "Endüstriyel Gömülü Bilgisayar Sistemleri Doç.Dr. Ahmet Turan ÖZCERİT ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ Doç. Dr. Ahmet Turan ÖZCERİT 1 ARM ASSEMBLY."— Sunum transkripti:

1 Endüstriyel Gömülü Bilgisayar Sistemleri Doç.Dr. Ahmet Turan ÖZCERİT ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ Doç. Dr. Ahmet Turan ÖZCERİT 1 ARM ASSEMBLY PROGRAMLAMA

2 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri GİRİŞ 2  ARM, assembly programlamada kullanılan komut setleri, ARM, Thumb ve Thumb-2 şeklinde sınıflandırılabilmektedir.  Thumb, 16-bitlik komutlardan oluşmakta, ARM ve Thumb-2 32-bitlik komutlardan oluşmaktadır.

3 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Komut Seti 3  ARM komut seti 6 başlık altında ele alınabilir.  Veri Transfer Komutları (veri işleme),  Aritmetik ve Mantıksal Komutlar,  Dallanma Komutları (akış kontrol),  Yükleme ve Depolama Komutlar (bellek erişim),  Yardımcı İşlemci Komutları (sistem kontrol),  İstisnai Durum Komutları (privileged)

4 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Program Yapısı 4  AREA: programın yerleştirileceği bellek bölgesi tanımlanır.  CODE: Kod belleğe kaydedilecek.  DATA: Veri belleğe kaydedilecek.  READONLY: Yalnızca okunabilir.  ENTRY: programın başlangıç noktasıdır. (Basla gibi). Çalışacak ilk komutun yerini gösterir.  END: programın bittiğini belirtir. AREA PROGRAM_Adi, CODE, READONLY ENTRY Komutlar Etiket B Etiket END

5 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Komut Mnemonik ve Açıklamaları 5

6 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Komut Seti Şartlı Dallanma 6

7 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Yönergeler / Talimatlar 7  Yönergeler/talimatlar program komutları gibi doğrudan makine diline dönüştürülmez.  Yönergeler ile bellekte belirli alanlar programa tahsis edilir, sembol tanımlanır, diğer programlara referans verilir.  Yönerge isimleri kullanılan assembler’a göre farklılık gösterebilir.  Örnek yönergeler/talimatlar  DEFINE CONSTANT,  Aritmetik ve Mantıksal Komutlar,  EQUATE (EQU),  AREA,  END,  LIST,  FORMAT,  TTL,  PAGE,  INCLUDE,

8 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Yönergeler / Talimatlar DEFINE CONSTANT 8  Programcıya program belleği içerisinde sabit data girişine izin verir.  DCB, Define Constant Byte, 8 bit veri tutar.  DCW, Define Constant Word, 32 bit sayı/veri ya da adres tutar.  DCD, DCW’nin yerine kullanılabilir (Define Constant Data). İsimDBifadelerAçıklama Max_sayiDCB255;tek bir değişken tanımlanması TabloDCW0, 5, 4, 3, -10;dizi olarak tanımlama YazDCB“ARM Ogreniyorum”;string olarak tanımlama

9 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Yönergeler / Talimatlar EQUATE 9  EQU (Equal = eşittir) bir sayısal değerin ya da adresin istenilen sembol adına atanması işlemini gerçekleştirir.  Bu tanımlama program içerisinde bir ifadenin ya da değerin çok fazla tekrar edildiğinde programın anlaşılırlığını arttırmak için kullanılır. İsimTalimatDeğerAçıklama PiEQU3.14; sabit değer tanımlama BilgiEQU55h ;55h adresindeki veriyi bilgi değişkenine ata

10 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Yönergeler / Talimatlar AREA 10  AREA programcıya bellek konumlarını belirlemeye izin verir.  İzin verilen bellek konumları, bellek konfigürasyonuna göre değişiklik gösterebilir.  AREA talimatı ile programcı Program Counter’ı yönlendirmiş olur.  AREA’nın kullanılabileceği alan örnekleri:  Reset (başlangıç )adres,  Kesme servisi adresi,  Traf (yazılımsal kesme)adresi,  RAM bölgelsi İsimTalimatAçıklama AREARESET; PC Reset adresi ile yüklenir AREA$1100 ;PC 1100 adresi ile yüklenir AREAINT3 ; 3 nolu kesme adresi ile yüklenir  Stack,  Ana program,  Alt programlar,  Giriş/Çıkış,

11 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Veri Transfer Komutları 11 AREA Program, CODE, READONLY ENTRY MOV R1,#0x5 MOVCS R0, R1 ; C flag 1 ise veri transferini gerçekleştirir MOVS R0, #0 ; R0’a 0 yükle ve Zero flagi set et MOV R1,#0x5 MOV R0, R1, LSL #2 ; R1’i 2 bit sola kaydır/ötele ve R0’a yükle MOV R0, R1, ASR #2 ; R1’i 2 bit sağa kaydır/ötele ve R0’a yükle MOV R0, R1, ROR #2 ; R1’i 2 bit sağa elde bayrağı ile döndür END

12 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Veri Transfer Komutları 12 AREA Program, CODE, READONLY ENTRY Basla MOV R1, #0x10 ; R1 kaydedicisine 10 H değerini yükle LDR R0, [R1] ; R1 kaydedicisindeki değerin gösterdiği bellek adresindeki 32 bit bilgiyi R0’a yükle LDR R0, [R1, #5] ; R1’deki değere 5 ekle, toplam değeri adres kabul et o adresteki bilgiyi R0’a yükle LDR R0, [R1, #5] ! ; R1’deki değere 5 ekle, sonucu R1’de göster, R1’i adres kabul et o adresteki bilgiyi ; R0’a yükle B Basla ; Koşulsuz Basla etiketine dallan END

13 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Örnekler 13  Örnek: Bir sayının tersini alan program AREA Tersle, CODE, READONLY ENTRY Basla MOV R1, #10 MVN R1, R1 ;R1’deki değeri tersle END  Örnek: İki sayıyı toplayan program AREA Topla, CODE, READONLY ENTRY Basla LDR R1, Sayi1 LDR R2, Sayi2 ADD R1, R1, R2 Sayi1 DCD 10 Sayi2 DCD &5 END

14 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Örnekler 14  Örnek: Dolaylı adresleme yöntemini kullanarak İki sayıyı toplayan program AREA DolayliTopla, CODE, READONLY ENTRY Basla LDR R0, =Sayi1 ; Sayi1’in adresini R0’e yükle LDR R1, [R0] ; R0’daki bilgiyi adres kabul et o adresteki değeri R1’e yükle LDR R2, =Sayi2 ; Sayi2’in adresini R2’e yükle ADD R1, R1, [R2] STR R1, [R0] ; R1’deki değeri R0’ın gösterdiği adrese yükle Sayi1 DCD &10 Sayi2 DCD &5 END

15 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Örnekler 15  Örnek: İki sayıdan küçük olanını bulan program. AREA Kucuk CODE, READONLY ENTRY Basla LDR R0, Sayi1 LDR R2, Sayi2 CMP R1, R2 ; R1 - R2 BLO KucukSayi ; R1, R2’den küçükse dallan (BHO büyük için) MOV R1, R2 KucukSayi STR R1, Sonuc SWI &11 ; kesme kurulumu Sayi1 DCD &10 Sayi2 DCD &5 Sonuc DCD 0 END

16 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Örnekler 16  Örnek: 1’den 10’a kadar ardışık sayıları toplayan program AREA ArdisikTopla CODE, READONLY ENTRY Topla ADD R0, R0, #1 ADD R1, R1, R0 CMP R0, #10 ; R BNE Topla ; R0 0 değilse Topla etiketine dallan END

17 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Örnekler 17  Örnek: Bellekteki sayılardan kaç tanesinin negatif olduğunu bulan program AREA Negatif CODE, READONLY ENTRY Basla LDR R0, =Tablo LDR R1, =TabloSon Tekrar CMP R0, R1 ; R1 - R2 BEQ Son LDR R2, [R0] ; R0’ın gösterdiği adresdeki bilgiyi yükle ADD R0, R0, #4 ; Bir sonraki adres (32 bit adresleme) AND R2, R2, #0x ; Negatif sayı tespiti için CMP R2, #0x ; R2 negatif mi BNE Tekrar ADD R3, R3, #1 ; Negatif sayıları say B Tekrar SWI &11 ; yazılımsal kesme kurulumu TabloDCD & DCD & TabloSonDCD 0 Son END

18 Doç.Dr. Ahmet Turan ÖZCERİT Endüstriyel Gömülü Bilgisayar Sistemleri ARM Assembly Örnekler 18  Örnek: Bir sözcük içerisinde harf arama programı AREA String CODE, READONLY ENTRY DUREQU0x0D Basla LDR R0, =Tablo EOR R1, R1, R1 ; R1 ile R1’i özel veya işlemine tabi tut Tekrar LDRB R2, [R0], #1 ; R0’ın gösterdiği adresdeki bilgiyi yükle R0’ı 1 arttır CMP R2, #DUR ; Son karaktere gelindi mi BEQ Son ADD R1, R1, #1 ; String kaç karakterden oluşuyor CMP R2, # ’A’ ; ’A’ karakterinden var mı BNE Tekrar ADD R3, R3, #1 ; ‘A’ karakterinden kaç tane var B Tekrar Son SWI &11 ; yazılımsal kesme kurulumu TableDCB ‘’SAKARYA’’, DUR END


"Endüstriyel Gömülü Bilgisayar Sistemleri Doç.Dr. Ahmet Turan ÖZCERİT ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ Doç. Dr. Ahmet Turan ÖZCERİT 1 ARM ASSEMBLY." indir ppt

Benzer bir sunumlar


Google Reklamları