Trích:
Nguyên văn bởi chuabietgi
Nếu tôi dùng 2 biến địa chỉ count1 và count2 sau khi đã nạp "255" vào 2 biến trên như sau
PHP Code:
LOOP1 DECFSZ COUNT1, F
GOTO LOOP2
RETURN
LOOP2 DECFSZ COUNT2, W
GOTO LOOP2
GOTO LOOP1
Sau khi COUNT2 xuống 0,lệnh nhảy về LOOP1,rồi quay lại LOOP2
COUNT2 luc này có được 255 không?
Tôi viết và cho chạy SIM nhưng rất khó giải thích?
Phiền các bác giải giúp!
|
Đoạn Code bạn nói ở đây có phải là dùng cho hàm Delay đúng không
Nguyên tắc là như thế này
Tất nhiên là nó sẽ trở về 255 rồi vì câu lệnh tiếp theo nó sẽ tự dộng chuyển từ 0 đến 255.
Lưu ý đến ý nghĩa của lệnh Decfsz , lệnh này có tác dụng là trừ trước rồi mới check. Có nghĩa là nếu thanh ghi của bạn trước Decfsz bằng 1 thì nó sẽ kép, vì 1-1=0, và =0 nên nó sẽ nhảy
Còn nếu thanh ghi là 0 thì khi trừ 0-1 =255, khác 0
Chỉ đơn giản thế thôi
Àh còn một điều nữa là trong đoạn code của bạn sai lệnh goto main: phải sửa thành Return