tailieunhanh - Bài giảng hợp ngữ - Chương 3

Tài liệu tham khảo Bài giảng hợp ngữ gồm 9 chương - Chương 3 Các lệnh nhảy | Bài giảng hợp ngữ Chương III Các lệnh nhảy CHƯƠNG III CÁC LỆNH NHẢY Thanh ghi cờ và các cờ trạng thái Thanh ghi cờ dài 16 bít mỗi bít được gọi là một cờ và có công dụng riêng. Dưới đây là vị trí của các cờ 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF Ta thấy bộ vi xử lý 8086 mới sử dụng 9 bít của thanh ghi cờ sau đây là tên và chức năng của các cờ Bit Tên cờ Kí hiệu 0 Cờ nhớ Carry Flag CF 2 Cờ chẵn lẻ Parity Flag PF 4 Cờ nhớ phụ Auxiliary Flag AF 6 Cờ Zero Zero Flag ZF 7 Cờ dấu Sign Flag SF 11 Cờ tràn OverFlow Flag OF 8 Cờ bẫy Trap Flag TF 9 Cờ ngắt Interrupt Flag IF 10 Cờ định hướng Direction Flag DF Các cờ chia làm hai nhóm khác nhau Nhóm cờ trạng thái gồm 6 cờ CF PF AF ZF SF OF và nhóm cờ điều khiển gồm 3 cờ TF IF DF . Trong chương này ta sẽ tập trung tìm hiểu các cờ trạng thái còn các cờ điều khiển sẽ trình bày sau. Mỗi khi môt lệnh trong chương trình được thực hiện thì trạng thái của bộ vi xử lý lại thay đổi sự thay đổi này được phản ánh trong các cờ trạng thái. Để hiểu rõ hơn vấn đề này ta sẽ xem xét một vài cờ trạng thái hay dùng nhất. Cờ nhớ CF Ví dụ xét các lệnh sau đây MOV AX 0FFFFh ADD AX 1 Trước khi thực hiện lệnh ADD thì AX FFFFh 1111 1111 1111 1111b 65535 Sau khi thực hiện phép cộng với 1 thì AX bằng bao nhiêu 1111 1111 1111 1111b __1 1 0000 0000 0000 0000b Thanh ghi AX dài 16 bit nên sau lệnh ADD thì AX 0 Phép cộng đã không còn chính xác do kết quả vượt quá phạm vi chứa của AX gọi là hiện tượng tràn khi cộng số không dấu . Khi đó cờ CF được thiết lập bằng 1. Như vậy cờ CF sẽ được thiết lập khi thực hiện phép cộng có nhớ ở bít Msb hoặc khi thực hiện phép trừ có vay ở bít Msb. Cờ Zero ZF Ví dụ xét các lệnh sau đây 24 Bài giảng hợp ngữ Chương III Các lệnh nhảy MOV CX 2Ah SUB CX 2Ah Sau khi thực hiện lệnh SUB thì CX 0 cờ ZF được thiết lập bằng 1. Như vậy cờ ZF sẽ được thiết lập khi kết quả của lệnh vừa thực hiện bằng 0. Cờ tràn OF Ví dụ xét các .