Assembly sorularım

Başlatan unknownperson, 17 Nisan 2016, 12:04:36

unknownperson

Z80 üzerinde Assembly dilini öğrenmeye çalışıyorum. Program atmıyorum sadece Z80 simulatöründe deneme yapıyorum, bazı sorularım var ve bu konu altında sormak istiyorum.

LD B,0
	LD A,0DH
	LD HL,0071H
LOOP 	LD C,(HL)
	INC B
	CP C
	INC HL
	JP NZ,LOOP
	LD A,B
	LD (0070H),A
	HALT


Böyle bir kodu 0071 den başlayan bir string'in uzunluğunu bulup (bitimindeki CR dahil) , 0070' e yazmak istiyorum. Kod doğru çalışıyor sıkıntı yok fakat ilk önce INC B komutunu CP C komutundan sonra ekledim ve şunu gördüm INC B komutu Zero flag'i etkiledi. Bildiğim iki şey var birincisi Flagleri sadece A etkiliyebiliyordu, İkinci bildiğim ise yapılan matematiksel işlemlerde sonuç A'da depolanıyor ya da A'yı etkiliyor gibi birşey. Diyelim ki yapılan matematiksel işlemler A da olsa B de olsa flagleri etkiliyor peki o zaman neden INC HL komutu flagi etkilemedi ?