· EEM332

EEM332 Mikroişlemciler: 8086 Ödevleri ve Çalışma Soruları

EEM332 – Mikroişlemciler · 29.03.2004 · 18.10.2026

Bu yazı, Başkent Üniversitesi EEM332 Mikroişlemciler ders arşivindeki ilgili notları ve uygulamaları bir araya getiriyor (2004–2006). 2004 ve 2005 ödev grupları, komut kodlama, adresleme, donanım ve program izleme soruları. Belgelerin PDF arşiv kopyaları ve varsa kaynak kodları yazının sonunda ZIP olarak indirilebilir.

EEM%20332%20odev11

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 1/Grup 1

ÖNEMLİ BİLGİ: -Ödevleri 29 Mart 2004 Salı günü saat 17.00’ye kadar C302-B no’lu ofise teslim edebilirsiniz. -Ödevlerinizi, grubunuzu da belirterek, beyaz A4 kağıda hazırlayınız ve gerekiyorsa bir köşesinden zımbalayarak teslim ediniz (poşet dosya kabul edilmeyecektir). -Sadece adınızın bulunduğu gruba ait soruları cevaplayınız. Grup listesini web sayfasında bulabilirsiniz. -Kendi grubunuza ait olmayan soruları cevaplamanız durumunda ödev notunuz sıfır olarak değerlendirilecektir.

1) Aşağıda verilen komutlardan hangilerinin 8086/88 Assembly komutlarıyla kodlanıp

kodlanamadığını belirtin. Kodlanamayan var ise nedenini açıklayın.

a.MOV AX,27 g.MOV DS,9BF2 b.MOV AL,97F h.MOV CX,397 c.MOV CS,3490 i.MOV AX,23FB9 d.MOV BX,CS j.MOV AX,DL e.MOV CS,BH k.MOV CH,AX f.MOV DS,BX l.MOV SI,9516

2) Aşağıda verilen registerlar offset olarak kullanılmaktadır. Mantıksal adrese (logical

address) ulaşmak için default segmentlerin kullanıldığı varsayılırsa, her offset

registerinin ilgili olduğu segment registerını belirtiniz.

(a) BP (b) DI (c) IP (d) SI (e) SP (f) BX

3) Aşağıda verilen işlemler için CF, PF, AF, ZF ve SF durumlarını bulunuz.

a. MOV BL,9FH b. MOV AL,23H c. MOV DX,10FFH

ADD BL,61H           ADD AL,97H                ADD DX,1

4) CS=1000, DS=2000, SS=3000, SI=4000, DI=5000, BX=6080, BP=7000,

AX=25FF, CX=8791 ve DX=1299 olarak verilmiştir. Aşağıdaki işlemler için kullanılan

hafıza yerlerinin (memory location) fiziksel adreslerini ve bu adreslerde saklanan değerleri belirtiniz.

(a) MOV [SI],AL (b) MOV[SI+BX+8],AH (c) MOV [BX],AX (d) MOV [DI+6],BX (e) MOV [DI][BX]+28,CX (f) MOV[BP][SI]+10,DX (g) MOV [3600],AX (h) MOV[BX]+30,DX (i) MOV [BP]+200,AX

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 1/Grup 1 (j) MOV [BP+SI+100],BX (k) MOV [SI]+50,AH (l) MOV [DI+BP+100],AX

5) Aşağıda verilenler için adresleme modlarının ne olduğunu belirtiniz.

(a) MOV AX,DS (b) MOV BX,5678H (c) MOV CX,[3000] (d) MOV AL,CH (e) MOV [DI],BX (f) MOV AL,[BX] (g) MOV DX,[BP+DI+4] (h) MOV CX,DS (i) MOV [BP+6],AL (j) MOV AH,[BX+SI+50] (k) MOV BL,[SI]+10 (l) MOV [BP][SI]+12,AX

6) Aşağıda verilen komutlar işletildikten sonra komutlarda adı geçen registerların ve

CF, ZF, PF içeriklerini gösteriniz.

a. MOV AX,6AB3

MOV BX,98F1
ADD AL,BL

ADC AH,BH ;add with carry

b. DATA1 DB 4CH

DATA2 DB 6EH
DATA3 DB ?            ;data3 is empty and located in memory
MOV DH,DATA1          ;data1=4ch
SUB DH,DATA2          ;data2=6eh
JNC NEXT              ;JUMP if not carry
NOT DH                ;1’s complement
INC DH                ;increase one
NEXT:MOV DATA3,DH

7) Aşağıdaki sorularda istenilen işlemlerin gerçekleşmesi için gereken assembly

kodlarını yazınız. (AL=0FH ‘dir)

a. AND komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? b. SHL komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? c. ROR komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? d. STC ve SHR komutlarını kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır?

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 1/Grup 1

8) Aşağıda verilen komutlardan ilk üçü çalıştırıldıktan sonra Stack Segment ve ikinci

üçü çalıştırıldıktan sonra registerların değeri ne olur? (SP=1245, AX=1122, BX=3344, CX=5566, DX=7788)

SS:1238

PUSH AX                SS:1239
PUSH CX                SS:1240
PUSH BX                                              AX

SS:1241

SS:1243 BX

POP DX                 SS:1243                       CX
POP AX                 SS:1244                       DX
POP BX                                               SP

SS:1245

SP=?

EEM%20332%20odev12

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 1/Grup 2

ÖNEMLİ BİLGİ: -Ödevleri 29 Mart 2004 Salı günü saat 17.00’ye kadar C302-B no’lu ofise teslim edebilirsiniz. -Ödevlerinizi, grubunuzu da belirterek, beyaz A4 kağıda hazırlayınız ve gerekiyorsa bir köşesinden zımbalayarak teslim ediniz (poşet dosya kabul edilmeyecektir). -Sadece adınızın bulunduğu gruba ait soruları cevaplayınız. Grup listesini web sayfasında bulabilirsiniz. -Kendi grubunuza ait olmayan soruları cevaplamanız durumunda ödev notunuz sıfır olarak değerlendirilecektir.

1) Aşağıda verilen komutlardan hangilerinin 8086/88 Assembly komutlarıyla kodlanıp

kodlanamadığını belirtin. Kodlanamayan var ise nedenini açıklayın.

a.MOV SI,9516 g.MOV DS,9BF2 b.MOV CX,397 h.MOV AL,97F c.MOV DS,BX i.MOV CS,3490 d.MOV CH,AX j.MOV CS,BH e.MOV AX,DL k.MOV BX,CS f.MOV AX,23FB9 l.MOV AX,27

2) Aşağıda verilen registerlar offset olarak kullanılmaktadır. Mantıksal adrese (logical

address) ulaşmak için default segmentlerin kullanıldığı varsayılırsa, her offset

registerinin ilgili olduğu segment registerını belirtiniz.

(a) BX (b) SI (c) IP (d) DI (e) SP (f) BP

3) Aşağıda verilenler için adresleme modlarının ne olduğunu belirtiniz.

(a) MOV AX,DS (b) MOV [DI],BX (c) MOV CX,[3000] (d) MOV [BP][SI]+12,AX (e) MOV BX,5678H (f) MOV AL,[BX] (g) MOV [BP+6],AL (h) MOV CX,DS (i) MOV DX,[BP+DI+4] (j) MOV AH,[BX+SI+50] (k) MOV BL,[SI]+10 (l) MOV AL,CH

4) CS=2000, DS=3000, SS=4000, SI=1000, DI=5000, BX=8060, BP=7000,

AX=FF25, CX=9187 ve DX=9912 olarak verilmiştir. Aşağıdaki işlemler için kullanılan

hafıza yerlerinin (memory location) fiziksel adreslerini ve bu adreslerde saklanan değerleri belirtiniz.

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 1/Grup 2 (a) MOV [SI],AL (b) MOV[SI+BX+8],AH (c) MOV [BX],AX (d) MOV [DI+6],BX (e) MOV [DI][BX]+28,CX (f) MOV[BP][SI]+10,DX (g) MOV [3600],AX (h) MOV[BX]+30,DX (i) MOV [BP]+200,AX (j) MOV [BP+SI+100],BX (k) MOV [SI]+50,AH (l) MOV [DI+BP+100],AX

5) Aşağıda verilen işlemler için CF, PF, AF, ZF ve SF durumlarını bulunuz.

a. MOV BL,9FH b. MOV DX,10FFH c. MOV AL,23H

ADD BL,61H             ADD DX,1                  ADD AL,97H

6) Aşağıda verilen komutlar işletildikten sonra komutlarda adı geçen registerların ve

CF, ZF, PF içeriklerini gösteriniz.

a. MOV AX,6AB3

MOV BX,F198
ADD AL,BL

ADC AH,BH ;add with carry

b. DATA1 DB 4CH

DATA2 DB 6EH
DATA3 DB ?            ;data3 is empty and located in memory
MOV DH,DATA1          ;data1=4ch
SUB DH,DATA2          ;data2=6eh
JNC NEXT              ;JUMP if not carry
NOT DH                ;1’s complement
INC DH                ;increase one
NEXT:MOV DATA3,DH

7) Aşağıdaki sorularda istenilen işlemlerin gerçekleşmesi için gereken assembly

kodlarını yazınız. (AL=0FH ‘dir) a. ROR komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? b. STC ve SHR komutlarını kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? c. AND komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? d. SHL komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır?

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 1/Grup 2

8) Aşağıda verilen komutlardan ilk üçü çalıştırıldıktan sonra Stack Segment ve ikinci

üçü çalıştırıldıktan sonra registerların değeri ne olur? (SP=1245, AX=8877, BX=6655 CX=4433, DX=2211)

SS:1238

PUSH AX                SS:1239
PUSH CX                SS:1240
PUSH BX                                              AX

SS:1241

SS:1243 BX

POP DX                 SS:1243                       CX
POP AX                 SS:1244                       DX
POP BX                                               SP

SS:1245

SP=?

EEM332%20odev21

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 2/Grup 1

ÖNEMLİ BİLGİ: -Ödevleri 13 Mayıs 2005 Cuma günü saat 17.00’ye kadar C302- B no’lu ofise teslim edebilirsiniz. -Ödevlerinizi, grubunuzu da belirterek, beyaz A4 kağıda hazırlayınız ve gerekiyorsa bir köşesinden zımbalayarak teslim ediniz (poşet dosya kabul edilmeyecektir). -Sadece adınızın bulunduğu gruba ait soruları cevaplayınız. Grup listesini web sayfasında bulabilirsiniz. -Kendi grubunuza ait olmayan soruları cevaplamanız durumunda ödev notunuz sıfır olarak değerlendirilecektir.

1) 16F877 PIC entegresinin ADC bölümünü kısaca özetleyiniz.

Çözünürlük=resolution?, Step size?, convertion time=?

2) I/O işlemlerinde interrupt (kesme) ve polling arasında avantaj ve dezavantajları

açısından karşılaştırma yapınız.

3) 8086 işlemci tabanlı sistemde 8255 ve 8253 entegreleri kullanılmıştır. 300 Hz’lik

kare dalga elde etmek için 8255 veya 8253 kullanarak iki ayrı program yazınız.

4) Verilen port devresinde; OUT ......., AL komutu için boşluğa gereken adresi

yazınız.

5) CPU10 slide 2’de verilen sıcaklığın durumuna göre LED kontrol programını PIC

16F877 ile çalışacak şekilde yeniden yazınız. Sıcaklık sayısal olarak Port C’den alınacaktır. Çıkış Led’leri Port B’ye bağlanacaktır.

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 2/Grup 1

6) Verilen port devresinde portların adresini yazınız ve hangi portun giriş ve

hangisinin çıkış olduğunu belirtiniz.

16) Port A’nın adresinin 68H olmasını için , 8255 için kullanılan I/O devresinde

NAND kullanarak 8 bitlik adres için decoding devresini oluşturunuz.

17) Verilen devrede her portun adresini bulunuz.

EEM332%20odev22

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 2/Grup 2

ÖNEMLİ BİLGİ: -Ödevleri 13 Mayıs 2005 Cuma günü saat 17.00’ye kadar C302- B no’lu ofise teslim edebilirsiniz. -Ödevlerinizi, grubunuzu da belirterek, beyaz A4 kağıda hazırlayınız ve gerekiyorsa bir köşesinden zımbalayarak teslim ediniz (poşet dosya kabul edilmeyecektir). -Sadece adınızın bulunduğu gruba ait soruları cevaplayınız. Grup listesini web sayfasında bulabilirsiniz. -Kendi grubunuza ait olmayan soruları cevaplamanız durumunda ödev notunuz sıfır olarak değerlendirilecektir.

1) 8086 işlemci tabanlı sistemde 8255 ve 8253 entegreleri kullanılmıştır. 250 Hz’lık

kare dalga elde etmek için 8255 veya 8253 kullanarak iki ayrı program yazınız.

2) Verilen port devresine bakarak boşluklara gereken adresi ve komutu yazınız.

……… AL, ……….

3) CPU10 slide 2’de verilen sıcaklığın durumuna göre LED kontrol programını PIC

16F84 ile çalışacak şekilde yeniden yazınız. Sıcaklık sayısal olarak Port B’den alınacaktır. Çıkış Led’leri Port A’ya bağlanacaktır.

4) Port A’nın adresinin 68H olmasını için , 8255 için kullanılan I/O devresinde NAND

kullanarak 8 bitlik adres için decoding devresini oluşturunuz.

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 Mikroişlemciler Ödev 2/Grup 2

5) Verilen port devresinde portların adresini yazınız ve hangi portun giriş ve

hangisinin çıkış olduğunu belirtiniz.

6) Verilen devrede her portun adresini bulunuz. Şekilde port A’dan alınan verinin

kendisi port B’ye ve tersi port C’ye gönderilecektir.

7) 16F877 PIC entegresinin ADC bölümünü kısaca özetleyiniz.

Çözünürlük=resolution?, Step size?, Convertion time=?

8) I/O işlemlerinde interrupt (kesme) ve polling arasında avantaj ve dezavantajları

açısından karşılaştırma yapınız.

q

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 – Mikroişlemciler

1.1) Aşağıdaki soruları yanıtlayınız.

a. Bir mikroişlemcinin hızını neler belirler?

b. ADD AX,BX ile ADD AX, [BX] arasındaki farkı yazınız.

c. DS=5010 ve PA(fiziksel adres)=51950 ise offset değeri nedir?

1.2) Belirlenen segment registerler hangi registerleri offset register olarak kullanır?

Segmet register CS DS ES SS .......... ............. ............ .............

1.3) Aşağıdaki registerlerden High ve Low olarak kullanılabilenleri işaretleyiniz.

a) CS b) AX c) DS d) SS e) BX f) DX g) CX h) SI i) DI

1.4) Verilen işlemlerin karşısına doğru (D) veya yanlış (Y) olarak işaretleyiniz.

MOV BL,AX
MOV DS,3456H
MOV [3456],[5634]
MOV AX,CS
ADD AX,[BX]+[2345]
MOV CL,5643H

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 – Mikroişlemciler

2.1) Aşağıda verilen komutlar işletildikten sonra komutlarda adı geçen registerların ve CF, ZF, PF içeriklerini gösteriniz.

a. MOV AX,6AB3

MOV BX,98F1
ADD AL,BL

ADC AH,BH ;add with carry

b. DATA1 DB 4CH

DATA2 DB 6EH
DATA3 DB ?            ;data3 is empty and located in memory
MOV DH,DATA1          ;data1=4ch
SUB DH,DATA2          ;data2=6eh
JNC NEXT              ;JUMP if not carry
NOT DH                ;1’s complement
INC DH                ;increase one
NEXT:MOV DATA3,DH

2.2) -2 ve -7 sayılarını toplayan ve sonucu CL registerina yazan kodu tamamlayınız. Kodun çalışması sonunda CL registerinin ve CF, ZF, PF, AF, SF durumunu gösteriniz.

MOV AL,___
MOV CL,___
ADD ___,___

2.3) CPU tabanlı sistemin belleğinden bir bölüm verilmiştir. Buna göre her işlemin sonucunda olan değişiklikler nelerdir? (DS=0040, SI= 0090h, BP = 0002h) adres data a) MOV AX,[SI] 00490h 35 b) MOV AX,[SI+1] 00491h 78 00492h B2 c) MOV AX,[SI][BP] 00493h 9C d) MOV [SI-BP][3],AX 00494h 0A e) MOV [94],AX

2.4) Aşağıdaki sorularda istenilen işlemlerin gerçekleşmesi için gereken assembly kodlarını yazınız. (AL=0FH ‘dir) a. AND komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? b. SHL komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? c. ROR komutunu kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır? d. STC ve SHR komutlarını kullanarak AL’nin içeriğini F0 yapınız. Bu durumda CF değeri ne olmalıdır?

Başkent Üniversitesi Elektrik-Elektronik Mühendisliği Bölümü EEM 332 – Mikroişlemciler

2.5) Aşağıda verilen komutlardan ilk üçü çalıştırıldıktan sonra Stack Segment ve ikinci üçü çalıştırıldıktan sonra registerların değeri ne olur? (SP=1245, AX=1122, BX=3344, CX=5566, DX=7788)

SS:123E

PUSH AX                SS:123F                         AX
PUSH CX                SS:1240                         BX
PUSH BX                SS:1241                         CX

SS:1242 DX

POP DX                 SS:1243                         SP
POP AX                 SS:1244
POP BX                 SS:1245

SP=?

ödev1

Başkent Üniversitesi Elektrik – Elektronik Mühendisliği Bölümü EEm332 Mikroişlemciler Ödev 1 / Grup 2

1)

a. KODLANIR. b. KODLANIR. c. KODLANIR. d. 16bit, 8 bit’e aktarılamaz. e. 8 bit, 16 bit’e partition yapılamaz. f. Overflow. 20 bit, 16bit’e aktarılamaz. g. Doğrudan deger atanamaz. h. Overflow. 12 bit, 8 bit’e aktarılamaz. i. Doğrudan değer atanamaz. j. 8 bit, 16 bit’e partition yapılamaz. k. KODLANIR. l. KODLANIR.

2)

a. BX->DS b. SI->DS,ES c. IP->CS d. DI->DS e. SP->SS f. BP->DS

3)

a. direct addressing b. c. d. base indexed direct addressing e. implied addressing f. g. base indexed direct addressing h. direct addressing i. base indexed direct addressing j. base indexed direct addressing k. l. direct addressing

Not: 2004 ödev föyünde “29 Mart 2004 Salı” yazmaktadır; 29 Mart 2004 Pazartesi günüdür. Tarih ifadesi kaynakta olduğu gibi bırakılmıştır.

eem332-odevler.zip

ZIP arşivi · 529 KB · 29.03.2004

⬇ (529 KB)