You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2. <strong>Deney</strong><br />
Örnek Programlar<br />
<strong>Deney</strong>in Amacı<br />
‣ Simülasyon yazılımı kullanılarak program hazırlama<br />
‣ İTÜ-Eğit için yararlı programların hazırlanması<br />
1. Ara açma programı<br />
2. Blok aktarma programı<br />
<strong>Deney</strong> Öncesi Yapılması Gerekenler<br />
Bu deneyde uygulaması yapılacak olan donanım sınama, ara açma ve blok aktarma programları<br />
yazılmalı, simülatörde MC6800 mikroişlemcisi dili kullanılarak derlenmeli, çalıştırılmalı ve<br />
simülasyonu adım adım izlenmelidir. Programın beklenen işlevi gerçekleştirdiğinden emin<br />
olunmalıdır.Yazılım ile elde edilen makine kodları, İTÜ-Eğit’ e yazılacağından deneye başlamadan<br />
hazır bulundurulmalıdır.<br />
<strong>Deney</strong> İçeriği<br />
Donanım Sınama<br />
Ara açma ve blok aktarma deneylerinden önce bu deneyler sırasında ötelenecek bilginin yazılacağı<br />
adreslerde bellek bulunup bulunmadığı sınanmalıdır. Bellek yoksa bilgilerin bazıları kaybedilebilir.<br />
Bellek haritası içinde oku/yaz türü bellek bulunup bulunmadığını anlamak için her bellek gözüne<br />
sırasıyla $55 ve $AA yazıp okunmalıdır. Bellek gözüne $55 yazıldığında $55, $AA yazıldığında $AA<br />
okunuyor ise bu adreste bir oku/yaz bellek gözü olduğu anlaşılır.<br />
Sınanacak bellek haritasının başlangıç adresi<br />
Sınanacak bellek haritasının son adresi<br />
BAS<br />
SON<br />
simgesi ile belirtilecek şekilde sınama programını yazınız.<br />
BAS adresi $0000-$0001, SON adresi $0002-$0003 bellek gözlerinden okunacaktır. Sınama programı<br />
$0010 adresli bellek gözünden başlayarak yazılacaktır.<br />
Ara Açma<br />
Ara açma programı ile bellekte yazılı olan bir program ya da veri kümesine belirlenen bir noktasından<br />
itibaren yeni bir program ya da veri parçası eklenebilir. Böylece, programcı eklemek istediği birkaç<br />
satır için, programı baştan yazma zahmetinden kurtulur. Örneğin, $5000 adresi ile $5100 adresi<br />
arasında yer alan programa $5050 adresinden itibaren eklenen 10 satır ara açma programı sayesinde<br />
programın bitiş adresini $5110’a çekecektir.<br />
Bellekte yazılı bulunan verinin bitiş adresi<br />
Ara açma işleminin başlatılacağı adres<br />
Açılacak adım sayısı<br />
DIP<br />
ARA<br />
ADIM<br />
simgesi ile belirtilecek şekilde ara açma programını yazınız. Örnek Şekil-1’de gösterilmiştir.
BAŞ<br />
ARA<br />
A<br />
B<br />
C<br />
D<br />
E<br />
DİP<br />
A<br />
B<br />
C<br />
D<br />
E<br />
DİP + ADIM<br />
Bellek Haritası<br />
Şekil-1: Ara açma programının işleyişi<br />
BAS adresi $0000-$0001 DIP adresi $0002-$0003, ARA adresi $0004-$0005 ve ADIM sayısı $0006<br />
bellek gözlerinden okunacaktır. Ara açma programı $4000 adresli bellek gözünden başlayarak<br />
yazılacaktır.<br />
Ara açma işleminin yapılacağı alanın başı $5000 ve sonu $500F olarak seçilecektir. $5000 adresinden<br />
başlayarak bellek gözlerine sırasıyla $00, $01 $02, ..., ve $500F gözüne $0F yazınız. ARA noktası<br />
$500A ve ADIM sayısı 3 olarak deneyi gerçekleyiniz.<br />
Blok Aktarma<br />
Blok aktarma programı belleğin belli bir bölgesinde bulunan bir blok veri ya da programın, belleğin<br />
başka bir bölgesine taşınmasını sağlar. Aktarılacak bloğun başlangıç ve bitiş adresleri ile aktarılacağı<br />
yerin adresi bilinmelidir. Blok aktarma işleminde 3 durum söz konusu olabilir:<br />
1. Asıl blok ile kopya bloğun ara kesiti yoktur.<br />
2. Kopya bloğun üst bölgesiyle asıl bloğun alt bölgesi kesişebilir.<br />
3. Kopya bloğun alt bölgesiyle asıl bloğun üst bölgesi kesişebilir.<br />
İlk durum için yazılan program 2. durum için de geçerlidir. Çünkü Şekil-2’de görüldüğü gibi kopya<br />
bloğun alt kısmı asıl bloktaki verileri bozmadan asıl programın üst kısmı aktarılmış olacaktır. Ancak 3.<br />
durumda Şekil-2’den de takip edilirse asıl bloğun aktarılan ilk verileri asıl bloğun alt kısmına<br />
yazıldığından asıl blok bozulmaktadır.<br />
Üstten ve alttan kesişme durumlarında da çalışabilecek bir blok aktarma programını simülasyon<br />
programında hazırlayınız.<br />
Asıl bloğun başlangıç adresi<br />
Asıl bloğun bitiş adresi<br />
Kopya bloğun başlangıç adresi<br />
Kopya bloğun son adresi<br />
BAS<br />
SON<br />
VARIS<br />
DIP
Varış<br />
KOPYA<br />
Varış<br />
KOPYA<br />
Baş Baş Baş<br />
ASIL ASIL ASIL<br />
Son<br />
Son<br />
Varış<br />
KOPYA<br />
KOPYA<br />
Varış<br />
Son<br />
Şekil-2: Blok aktarma işleminde ortaya çıkan olasılıklar<br />
BAS adresi $0000-$0001, SON adresi $0002-$0003, VARIS adresi $0004-$0005 bellek gözlerinden<br />
okunacaktır. DIP adresi için $0006-$0007 adresli bellek gözleri kullanılacaktır.<br />
Blok aktarma programı $4000 adresli bellek gözünden başlayarak yazılacaktır.<br />
Blok aktarma işleminin yapılacağı alanın başı $5050 ve sonu $5070 olarak seçilecektir. $5050<br />
adresinden başlayarak bellek gözlerine sırasıyla $00, $01 $02, ..., ve $5070 gözüne $20 yazınız. Blok<br />
başlangıcı $5050 ve sonu $5070 olarak kabul edilecektir.<br />
1. <strong>Deney</strong>: Varış adresini $5040 seçerek deneyi gerçekleyiniz.<br />
2. <strong>Deney</strong>: Varış adresini $5060 seçerek deneyi gerçekleyiniz.<br />
3. <strong>Deney</strong>: BAS=$F000, SON=$F100, VARIS= $E000 olarak deneyi yineleyiniz.<br />
Raporda İstenenler<br />
Donanım sınaması ile ilgili sorular:<br />
1. Hazırladığınız programın simgesel ve makine dilindeki kodlarını açıklamaları ve akış<br />
diyagramları ile birlikte rapora yazınız.<br />
2. <strong>Deney</strong>de bulduğunuz sonuçları yazınız.<br />
3. Bir bellek gözünü sınamak için neden $AA ve $55 verilerini kullandığınızı açıklayınız.<br />
4. Yazdığınız program $0000dan $FFFF’ e kadar tüm bellek alanını sınayabilir mi, açıklayınız.<br />
Ara açma ile ilgili sorular:<br />
1. Hazırladığınız programın simgesel ve makine dilindeki kodlarını akış diyagramları ile birlikte<br />
rapora yazınız.<br />
2. <strong>Deney</strong> sonunda $5000 - $5020 aralığındaki bellek gözlerinin içeriğini yazınız.<br />
3. Adım sayısı 16 bitlik olan bir ara açma programını yazınız.<br />
Blok aktarma ile ilgili sorular:<br />
1. Hazırladığınız programın simgesel ve makine dilindeki kodlarını akış diyagramları ile birlikte<br />
rapora yazınız.<br />
2. 1. deney için $5040-$5080, 2. deney için $5060-$5080 aralığındaki bellek gözlerinin<br />
içeriklerini yazınız.<br />
3. 3. deneyin sonucunu açıklayınız.