İlk programım doğru mu?

Başlatan silentenigma, 11 Aralık 2012, 23:24:14

silentenigma

Merhabalar bu ilk mesajım ;D Yeni bir yolculuğa başlarken ilk ödevimin doğruluğunun teyidine ihityaç duydum burdaki değerli üstatlar tarafından.  ;) Ödevim şuydu: Assembler dilinde kullanılan komutlar ile ana bellekte A ve B adreslerinde bulunan sayılar üzerinde (A+B+C)-5 işlemini yapıp, sonucu D adresine saklayan program:

        ORG 100	/ Program 100 adresinden başlar
	LDA BES	/ BES'i AC ye yükle
	CMA	        / AC nin tümleyeneni al
	INC	        / AC yi 1 arttır, -5 i elde edilmiş olunur
	ADD A	/ A adresiyle AC yi topla
	ADD B	/ B adresiyle AC yi topla
	ADD C	/ C adresiyle AC yi topla
	STA D	/ AC'yi D adresine yaz
	HLT	        / Programı durdur
BES,  DEC -5	/ Decimal değer
	END	       / Sembolik programın bitişi


Yazdığım kod bu şekilde. Doğru mu yanlış mı yada daha farklı yazılabilir mi bilemiyorum. Yardım olabilecek herkese şimdiden sonsuz teşekkürler

94220039

Kodlar PIC Assembly'ye benzemiyor.

drmp

işlemcinin adını yazarsan daha iyi olur

z

#3
BES,  DEC -5   / Decimal değer

Yukarıdaki satırın anlamı BES adındaki alana -5 değerini yazmaksa

LDA  BES   / BES'i AC ye yükle
CMA        / AC nin tümleyeneni al
INC         / AC yi 1 arttır, -5 i elde edilmiş olunur
ADD A   / A adresiyle AC yi topla


satırlarındaki CMA, INC ve ADD A satırları eklenmemeli.

İşlemcinin LDA   #5 gibi immediate adresleme komutunu kullanırsan BES adında alan tanımlamana da gerek kalmaz.
Dogrudan 5 değerini Acumulatore yuklersin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Programlanabilir çip sülalesinin piyasadaki lakabı PIC dir, ondandır hocam.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mozkan87

Hocam arkadaş bilgisayar için sormuş. Bana PM atmış ama ben assemblyden pek anlamam.

silentenigma

İlginize öncelikle teşekkür ederim. Sorumun bir benzeri olan
https://www.picproje.org/index.php?topic=33139.0
aynı başlık altında olabileceğini düşündüğüm için buraya açtım konuyu.

Bilgisayar Organizasyonu adlı bir ders alıyorum. Ders içeriği M.Morris MANO'nun Bilgisayar Sistemleri Mimarisi kitabıyla paralel ilerliyor. Kitapta bu dil için "birleştirici dil" tanımı yapılmış. Konu olarak da "temel bilgisayarın programlanması" olarak geçiyor.

Az biraz reverse engineering ile uğraşmış biri olarak bunu x86 assembler dili biraz benzese de ile ilgili olmadığını biliyorum.

Erhan YILMAZ

Birleştirici dil tanımı assembly dilinin Türkçeye kötü bi çevrim olarak yapılmış olabilir eğer kitap çeviri ise. 68xx işlemcilerin komut kümesine benziyor.