🌀Loop
JMP
instruction có thể được sử dụng để thực hiện các vòng lặp. Ví dụ: đoạn mã sau đây có thể được sử dụng để thực thi phần thân vòng lặp 10 lần.
MOV CL, 10
L1:
<LOOP-BODY>
DEC CL
JNZ L1
Tuy nhiên, tập lệnh bộ xử lý bao gồm một tập các loop instruction để thực hiện lặp lại. Lệnh LOOP
cơ bản có cú pháp sau:
LOOP label
Trong đó, label
là target label xác định hướng chương trình như trong jmup instructions. Lệnh LOOP
giả định rằng thanh ghi ECX
chứa số vòng lặp. Khi lệnh loop
được thực thi, thanh ghi ECX được giảm và điều khiển nhảy đến target label, cho đến khi giá trị thanh ghi ECX (tức là bộ đếm) đạt đến giá trị bằng không.
Đoạn code ở trên có thể được viết như:
mov ECX,10
l1:
<loop body>
loop l1
Nếu bạn chưa hiểu lắm thì bạn có thể làm bài này cho nhớ :>>
Bài tập
Hãy làm theo bức ảnh sau: (bởi vì có thể bạn sẽ cần 1 vài câu lệnh khác mà tôi chưa đề cập trước đó để làm bài này nên bạn có thể vừa làm vửa tham khảo source page.

Last updated