PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 31-12-2005, 09:00 PM   #2
mafd_47a
Đệ tử 3 túi
 
Tham gia ngày: Sep 2005
Bài gửi: 54
:
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    COUNT1F
               
GOTO       LOOP2
               
RETURN
LOOP2      DECFSZ    COUNT2W
               
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

thay đổi nội dung bởi: mafd_47a, 31-12-2005 lúc 09:03 PM.
mafd_47a vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 06:34 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam