PIC16F84 mikroişlemci için disassembler ve emulator kodları.

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

PIC16F84 mikroişlemci için disassembler ve emulator kodları.

Mesaj gönderen fduman »

Bu uygulama PIC16F84 için bir emulator ve disassembler ortamı hazırlamak için, eğlencesine yazılmıştır. Ancak bir türlü bitirilememiştir. Kesinlikle de çalışma ve söylediği işlevleri yerine getirme gibi bir garanti de vermemektedir. Belki bazılarının işine yarar ve belki geliştirilebilir düşüncesiyle GPL lisansı altında yayınlamak istedim ki bu proje de çöpe giden diğer yüzlerce projem arasında yer almasın. Bunu kodlarken oldukça eğlendim ve yeni şeyler öğrendim. Kodu istediğiniz gibi yapın, bozun, oynayın, eğlenin. Ancak şunu unutmayın bu kod ile geliştirdiğiniz herhangi birşeyi satarsanız veya kodu değiştirip yeni bir özellik eklerseniz kaynak kodunu da beraber vermeniz ve herkesin de erişebileceği bir yere koymak zorundasınız. İsteyenler GPL lisansını detaylı inceleyebilir (http://www.fsf.org). PIC16F84 data sheet'lerini http://www.microchip.com adresinden edinebilirsiniz. Kod esnektir ve diğer işlemci türlerini desteklemek için kolayca genişletilebilir.

Uygulamadaki tek eksiklik comment'siz yazmış olmam ve birkaç ufak hatasının bulunması ve emulator işlevi tam anlamıyla bitmiş değil. Ancak jump, call, compare, aritmetik işlemler, data ve stack yönetimi tamamlandı. Birkaç opcode'un tam işlevli çalışmaması dışında %80 çalışıyor diyebiliriz. Kalan %20 interrupt yönetimi, EEPROM yazma, silme, timer, clock kontrolü gibi özellikler ki aslında baba şeyler kalmış geriye de. :)

Belki uygulamadan birşeyler kapıp kendi disassembler'ınızı yazmak isteyebilirsiniz veya bir virtual machine yapın ki şu ücretli VMWare'den kurtulalım. :)

Uygulamanın açabildiği Intel HEX formatında kodlanmış örnek PIC uygulamaları HEX klasörünün altında. Internet'te de bir dolu bulabilirsiniz bunlardan.

Projede asıl amaçlanan bir PIC 16F84 emulatoru oluşturup PIC kodlarını bunun üzerinde çalıştırıp denemekti. Mesela işlemcinin RB1 bacağına bir lamba bağladınız diyelim, bunu PC üzerinde görsel bileşenlerle sanal olarak yapıp kod ile bunu yakıp söndürmek vs.. gibi fiziksel olarak bread board üzerinde yapmaktansa ekranda (PC üzerinde) yapmak.
Esasen bu ihtiyacım elektronik bilgim olmadığı için oluşmuştu.

İyi hackingler ve iyi eğlenceler. :wink:

Furkan DUMAN
En son fduman tarafından 15 Şub 2005 10:25 tarihinde düzenlendi, toplamda 4 kere düzenlendi.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Kodları yöneticimize gönderdim. Yakın zamanda ekleyeceğini umuyorum.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Dosyayı siteye koydum. Paylaşım için teşekkürler.

http://www.delphiturkiye.com/dsplus/m.php?p=PICEmu.zip (26 KB)

Kolay gelsin.
En son mussimsek tarafından 07 Mar 2006 01:44 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Dosyayı eklediğiniz için teşekkürler. :)

Şimdi farkettim ki MicroMemory.pas isimli projede artık kullanılmayan bir dosyayı da pakette göndermişim. :oops: Bu unit artık gerekli değildir. Class'ların ilk tasarım zamanından kalma, deneme amaçlı yazılmış bir kod parçasıdır. Tabii bunu da inceleyerek nerden-nereye gelmişiz görebilirsiniz.

Herkese iyi günler.
Cevapla