Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
SDCC kullanarak C Programlama
CPC ile C Programlama SDCC kullanarak C Programlama
2
İhtiyacımız olanlar SDCC -http://sdcc.sourceforge.net/
SDCC Windows, Mac ve Linux üzerinde çalışır Intel 8051, Maxim 80DS390, Zilog Z80, Z180, Motorola 68HC08 Rabbit 2000 işlemciler için kod üretir Yazdığımız kodlar direkt CPC üzerinde çalışmaz biraz değişiklik yapmamız gerekir. Maalesef assembly rutinleri hala lazım
3
Hello World Uygulaması
SDCC yazdığımız C kodlarını çalıştırırken Z80 için 0 adresinden başlatır fakat CPC üzerinde uygulama yaparken başlangıç adresimizin 100 olması lazım. Bunun için crt0_cpc.s isimli assembly rutinimizi notepad ile yazmamız gerekir. Artık 0x0100 adresinden başlayacağını uygulamamızın belirttik. Şimdi rutinimimizi sdasz80 -o crt0_cpc.s komutu ile compile edelim Bize rel çıktısı verecektir. Bu kodu C kodumuzu yazarken kullanacağız
4
SDCC Amstrad CPC’yi bilmiyor!
SDCC CPC’yi tanımaz. Nasıl ekrana karakter çizeceğini ve boyayacağını bilmez. Standart C kütüphanelerindeki printf pek işe yaramaz. Bunun için yine assembly ile C’ye bunu yapmasını sağlayacak kodu yazmamız gerekir. Sonra aynı metotu tekrar tekrar yazmaya gerek kalmadan kullanabiliriz. putchar_cpc.s Dosyası yapıp ilgili kodu yazıyoruz. Ardından aynı şekilde sdasz80 -o putchar_cpc.s Komutu ile compile ediyoruz bu kodda kısaca 0xBB5A adresine çağrı yapıp ekranı boyamasını istiyoruz.
5
Artık C Kodumuzu yazabiliriz
#include <stdio.h> main() { printf("Hello world"); while(1) {}; }
6
Kodumuzu compile edelim
Compile ederken mutlaka 2 rel dosyamız ve c kodumuz aynı klasörde olsun. En kolayı bunlar için bir batch dosyası hazırlamak. sdcc -mz80 --code-loc 0x data-loc 0 --no-std-crt0 crt0_cpc.rel putchar_cpc.rel sdcc01.c hex2bin sdcc01.ihx Kodları ile kodumuzu bin dosyasına çeviriyoruz. Hex2bin ayrı bir exe dosyasıdır elinizin altında bu da olması gerekir.
7
Bin dosyamız var peki şimdi?
Artık uygulamamızı DSK haline getirmemiz gerekiyor. Bunun için hepimizin yakından bildiği CPCDiskXP programı bir kurtarıcı. Aynı zamanda komut isteminden çeşitli parametrelerle çalışıyor. CPCDiskXP -File sdcc01.bin -AddAmsdosHeader 100 -AddToNewDsk sdcc01.dsk Artık bir dsk dosyamız var yani CPC disketi! Emülatörde çalıştırabilir veya diskete çekebilirsiniz veya GOTEK CPC’ye atabilirsiniz.
8
İşte Hello World Uygulamamız!
9
Kaynaklar: http://www.cpcmania.com/
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.