ADD

Retrojen Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla



Komut Boyut Op Kod Süre (ts) Bayrak Etkisi Yapılan İş
ADD A,(HL) 1 86 7 ***V0* A=A+[HL]
ADD A,(IX+n) 3 DD 86 XX 19 ***V0* A=A+[IX+n]
ADD A,(IY+n) 3 FD 86 XX 19 ***V0* A=A+[IY+n]
ADD A,r 1 80+rb 4 ***V0* A=A+r
ADD A,N 2 C6 XX 7 ***V0* A=A+N
ADD HL,BC 1 09 11 --*-0* HL=HL+BC
ADD HL,DE 1 19 11 --*-0* HL=HL+DE
ADD HL,HL 1 29 11 --*-0* HL=HL+HL
ADD HL,SP 1 39 11 --*-0* HL=HL+SP
ADD IX,BC 2 DD 09 15 --*-0* IX=IX+BC
ADD IX,DE 2 DD 19 15 --*-0* IX=IX+DE
ADD IX,IX 2 DD 29 15 --*-0* IX=IX+IX
ADD IX,SP 2 DD 39 15 --*-0* IX=IX+SP
ADD IY,BC 2 FD 09 15 --*-0* IY=IY+BC
ADD IY,DE 2 FD 19 15 --*-0* IY=IY+DE
ADD IY,IY 2 FD 29 15 --*-0* IY=IY+IY
ADD IY,SP 2 FD 39 15 --*-0* IY=IY+SP


BU başlık bir taslaktır. Düzenleyerek iyileştirmeye çalışınız.


a) "C" biti (Elde biti) kullanılan toplama komutları:

a-1) 8 bitlik toplama komutları

ADC A,(HL) --> HL registerinde tutulan sayının gösterdiği adresin içeriği ile Akünün içeriği "C" biti kullanılar toplanır. Sonuç Aküde tutulur.

ADC A,(IX+d) ve ADC A,(IY+d) : Yukarıdaki komut gibidir. Ancak IX ve IY registerlerinde tutulan sayıya "d" ile belirtilen sayı eklenerek bulunan yeni değerin gösterdiği adresin içeriği Aküye yüklenir.

ADC A,r --> Akü ile herhangi bir registerin içeriği "C" biti kullanılarak toplanır ve sonuç Aküde tutulur. "r" yerine A,B,C,D,E,H,L gelebilir.

ADC A,nn --> Akü ile 8 bitlik sabit bir sayı, "C" biti kullanılarak toplanır ve sonuç Aküde tutulur.

a-2)16 bitlik toplama komutları:

"C" biti kullanılan 16 bitlik toplama komutları sadece HL registeriyle kullanılır.

ADC HL,BC --> HL ile BC'nin içeriği "C" biti kullanılarak toplanır ve sonuç HL'de tutulur. ADC HL,DE --> HL ile DE'nin içeriği "C" biti kullanılarak toplanır ve sonuç HL'de tutulur. ADC HL,HL --> HL ile HL'nin içeriği "C" biti kullanılarak toplanır ve sonuç HL'de tutulur. ADC HL,SP --> HL ile SP'nin içeriği "C" biti kullanılarak toplanır ve sonuç HL'de tutulur.

NOT : Bir register kendisiyle toplandığında registerdeki değer 2 ile çarpılmış olur. NOT : "C" biti toplama sırasında sonucu etkiler. Etkilememesi için "C" bitinin sıfırlanması gerekir. "CCF" komutu "Clear Carry Flag" demektir ve "C" bitini "0" yapar.


b) "C" biti (Elde biti) kullanılmaya toplama komutları :

b-1) 8 bitlik komutlar:

Bu tip komutlarda "C" bitinin durumu dikkate alınmaz. İşlem yapılır ve sonuç Aküde tutulur.

ADD A,(HL) ADD A,(IX+d) ADD A,(IY+d)

ADD A,r --> "r" yerine A,B,C,D,E,H,L gelebilir.

ADD A,nn

b-2) 16 bitlik komutlar :

"C" bitinin durumu dikkate alınmaz, sonuç hedef registerde tutulur. Hatırlatma : Bir komuttan sonra yazılan ilk parametre hedef, ikinci parametre kaynaktır.

ADD HL,BC ADD HL,DE ADD HL,HL ADD HL,SP

ADD IX,BC ADD IX,DE ADD IX,IX ADD IX,SP

ADD IY,BC ADD IY,DE ADD IY,IY ADD IY,SP

Kaynak: http://retrojen.org/pano/index.php?topic=539.msg4225#msg4225 [hades|hades]