DIV nguồn (Unsigned Divide)
3.4. Các cấu trúc lập trình cơ bản trong assembly
Thơng thường trong thực tế, người ta thường phân tích bài tốn và thiết kế chương trình (hệ thống nói chung) bằng phương pháp thiết kế từ trên xuống (top-down) tương ứng với kỹ thuật lập trình có cấu trúc.
Nội dung của phương pháp là chia bài toán tổng thể (hay chương trình đang thiết kế) thành những bài tốn nhỏ hơn (có thể là các khối chức năng). Các bài toán nhỏ này lại được chia thành các bài toán nhỏ hơn nữa cho đến khi mỗi bài toán nhỏ này trở thành những bài toán đơn giản, dễ thực hiện.
Việc lập trình giải quyết bài tốn nhỏ để tạo thành khối chức năng thành phần người ta thường sử dụng các cấu trúc lập trình cơ bản để thực hiện nhiệm vụ các khối đó. Với cách tiến hành như vậy làm cho chương trình viết ra trở thành “có cấu trúc”, mang theo những ưu điểm là rõ ràng, dễ phát triển, dễ hiệu chỉnh hoặc cải tiến và nâng cấp.
Khi phân tích và viết chương trình để giải quyết các cơng việc khác nhau ta có các cấu trúc lập trình cơ bản sau: • Cấu trúc tuần tự • Cấu trúc lựa chọn: o if dk then s1 [else s2] o case V of . . . [else] • Cấu trúc lặp: o while dk do s o repeat s1, s2, . . ., sn until dk o for index=v1 to v2 do s
Các cấu trúc lập trình cơ bản trên đều có một đặc điểm là “tính cấu trúc”. Chỉ có một lối vào cấu trúc và một lối ra cấu trúc đó.
Chúng ta đã được làm quen với các cấu trúc lập trình cơ bản khi viết chương trình trên ngôn ngữ bậc cao. Công việc của chúng ta giờ đây là làm thế nào để thực hiện các cấu trúc lập trình này bằng hợp ngữ (assembly). Chúng ta sẽ lần lượt nghiên cứu cách mô tả các cấu trúc lập trình cơ bản: