NX P/V NC Trong đó :

Một phần của tài liệu Thiết kế, thi công và viết chương trình điều khiển mạch thực hành cho Z80 CPU. (Trang 46 - 47)

Trong đó : C : cờ carry N : Coơng hay trừ P/V : cờ Parity hay tràn H : cờ nụa carry Z : Cờ zero S : cờ dâu X : khođng dùng.

Moơt trong hai thanh ghi cờ Z80 bao goăm 6 bit mang thođng tin veă các tráng thái được set hay reset bởi các phép toán. ( bit 3 và bit 5 khođng được dùng ) 4 bit có theơ kieơm tra ( C, P/V, Z và S ) dùng làm đieău kieơn cho các leơnh Jump, Call hay Return. Hai cờ khođng kieơm tra được là ( H và N ) và được dùng cho các phép toán sô hĩc BCD.

Cờ carry ( C ) :

Bit cờ Carry được set hay reset phú thuoơc vào phép toán được thi hành. Leơnh ‘ADD’ và leơnh ‘Subtract’ có theơ set cờ Carry.

Trong các leơnh RLA, RRA, RLS, và RRS bit carry được dùng như là môi lieđn kêt giữa LSB và MSB cho các thanh ghi hay boơ nhớ bât kỳ. Trong các leơnh RLCA, RLC và SLA cờ carry chứa giá trị cuôi cùng được dịch ra từ bit 7 cụa thanh ghi hay boơ nhớ. Trong các leơnh RRCA, RRC, SRA, SRL carry chứa giá trị cuôi cùng được dịch ra từ bit 0 cụa thanh ghi hay boơ nhớ. Trong các leơnh logic AND, OR, XOR carry sẽ bị reset.

Cờ carry cũng có theơ được set ( SFC ) và bù ( CCF ).

Cờ coơng / trừ ( N ) :

Cờ này được dùng khi hieơu chưnh thaơp phađn thanh ghi tích lũy ( DAA ) đeơ phađn bieơt leơnh ADD và SUBTRACT. Khi dùng leơnh ADD, N sẽ được đaịt ở mức logic 0. Khi dùng leơnh SUBTRACT N sẽ được đaịt ở mức logic 1.

Cờ chẵn lẹ / tràn ( P/V) :

Cờ này được set phú thuoơc vào phép toán được thi hành.

Với các phép toán sô hĩc, cờ này báo tràn khi kêt quạ trong thanh ghi tích lũy lớn hơn +127 hay nhỏ hơn -128. Đieău kieơn tràn có theơ được xác định nhờ vào các bit dâu cụa các toán háng.

Theđm vào đó các phép toán khác dâu sẽ khođng gađy tràn. Khi coơng các toán háng cùng dâu và kêt quạ là dâu khác, cờ tràn được set.

Ví dú :

+120 = 0111 1000 ADDEND +105 = 0110 1001 AUGEND

+225 = 1110 0001 (-95) SUM

Hai sô coơng lái và kêt quạ vượt quá +127 và 2 toán háng dương có kêt quạ là sô ađm (-95), đađy là kêt quạ sai. Cờ tràn được set.

Đôi với phép trừø, tràn có theơ xạy ra khi các toán háng khác dâu. Các toán háng cùng dâu sẽ khođng bao giờ gađy tràn.

Ví dú :

+127 0111 1111 MINUEND (-) -64 1100 0000 SUBTRAHEND

+191 1011 1111 DIFFERENCE

Cờ bán Carry ( H ) :

Cờ bán carry ( H ) sẽ được set hay reset phú thuoơc vào carry và borrow giữa bit 3 và 4 cụa phép toán sô hĩc 8 bit. Cờ này được dùng khi hieơu chưnh thaơp phađn thanh ghi tích lũy ( DAA ) đeơ làm đúng kêt quạ cụa phép toán coơng hay trừ sô BCD. Cờ H sẽ là set(1) hay reset (0) theo bạng sau :

H Coơng Trừ

1 Carry từ bit 3 đên bit 4 Mượn từ bit 4

0 Khođng có Carry từ bit 3 đên bit 4 Khođng mượn từ bit 4

Cờ zero ( Z ) :

Cờ zero được set hay reset nêu kêt quạ cụa leơnh là 0.

Đôi với các phép toán logic và sô hĩc 8 bit, cờ Z sẽ được set leđn 1 nêu noơi dung thanh ghi tích lũy là 0.

Đôi với leơnh so sánh, cờ Z sẽ được set leđn 1 nêu noơi dung cụa thanh ghi tích lũy và noơi dung cụa boơ nhớ được chư bởi caịp thanh ghi HL giông nhau.

Khi kieơm tra bit trong thanh ghi hay boơ nhớ, cờ Z sẽ chứa tráng thái bù cụa bit được chư định ( xem Bit b,s ).

Khi đang nhaơp hay xuât 1 byte giữa boơ nhớ với thiêt bị I/O ( INI, IND, OUTI, OUTD ) nêu kêt quạ cụa B-1 là 0 thì cờ Z được set. Đôi với byte được nhaơp từ thiêt bị I/O dùng IN r,(C) , cờ Z sẽ được set đeơ cho biêt byte nhaơp baỉng zero.

Cờ dâu ( S ) :

Cờ dâu chứa tráng thái cụa bit có trĩng sô lớn nhât cụa thanh ghi tích lũy ( Bit 7 ).Moơt sô dương được phađn bieơt bởi ‘0’ ở bit 7 và sô ađm là ‘1’.

Khi nhaơp byte từ thiêt bị I/O vào thanh ghi, IN r,(C) cờ S sẽ chư hoaịc sô dương (S=0) hoaịc sô ađm (S=1).

Một phần của tài liệu Thiết kế, thi công và viết chương trình điều khiển mạch thực hành cho Z80 CPU. (Trang 46 - 47)

Tải bản đầy đủ (DOC)

(147 trang)
w