Điềukiện Côngviệc

Một phần của tài liệu Chương 4 - Lập trình bằng hợp ngữ với 8088 potx (Trang 28 - 29)

Côngviệc đúng sai Côngviệc Điềukiện đúng sai

Hình 4.6. Cấu trúc WHILE - DO Hình 4.7. Cấu trúc REPEAT - UNTIL

Ví dụ

Đếm số ký tự đọc đ−ợc từ bμn phím, khi gặp ký tự CR thì thôi.

Giải

Ta có thể thực hiện công việc trên bằng mẩu ch−ơng trình sau:

XOR CX,CX ; tổng số ký tự đọc đ−ợc lúc đầu lμ 0 MOV AH,1 ; hμm đọc ký tự từ bμn phím.

TIEP: INT 21H ; đọc một ký tự, AL chứa mã ký tự.

CMP AL,13 ; đọc đ−ợc CR ?

JE RA ; đúng, ra.

INC CX ; sai, thêm 1 ký tự vμo tổng.

JMP TIEP ; đọc tiếp.

RA: ; lối ra của cấu trúc.

Cấu trúc lặp REPEAT - UNTIL

Ngữ pháp (hình 4.7):

REPEAT Côngviệc UNTIL Điềukiện

Từ ngữ pháp của cấu trúc REPEAT-UNTIL ta thấy: Côngviệc đ−ợc thực hiện đầu tiên, điều đó có nghĩa lμ Côngviệc đ−ợc thực hiện ít nhất một lần. Điều kiện đ−ợc kiểm tra sau đó. Côngviệc đ−ợc lặp đi lặp lại cho tới khi Điềukiện đ−ợc thoả mãn. Điều nμy trong hợp ngữ hoμn toμn t−ơng đ−ơng với việc dùng lệnh CMP để kiểm tra Điềukiện vμ sau đó dùng lệnh nhảy có điều kiện để thoát khỏi vòng lặp.

Ví dụ

Đọc ký tự từ bμn phím cho tới khi gặp '$ ' thì thôi.

Giải

Ví dụ nμy chỉ lμm một phần công việc của ví dụ tr−ớc. Tại đây ta chỉ phải đọc các ký tự mμ không phải đếm số ký tự đọc đ−ợc.

Ta có thể thực hiện công việc trên bằng mẩu ch−ơng trình sau:

MOV AH,1 ; hμm đọc ký tự từ bμn phím.

TIEP: INT 21H ; đọc một ký tự.

CMP AL,'$' ; đọc đ−ợc đôla ? JNE TIEP ; ch−a,đọc tiếp.

RA: ; lối ra của cấu trúc.

Một phần của tài liệu Chương 4 - Lập trình bằng hợp ngữ với 8088 potx (Trang 28 - 29)