À ! Còn một lỗi cực kì quan trọng khiến chương trình mô phỏng của bạn bị tịt ngòi.
Đoạn cuối cùng code của bạn:
Code:
;..........................................TAO HAM DELAY...................................;
DELAY
CLRW
MOVLW B'10110100'
MOVWF REG_L
DECFSZ REG_L
RETURN
;.............................................................................................;
END
Lệnh DECFSZ (Decrement F skip if zero):có cấu trúc như sau:
Trích:
DECFSZ bien,d
LENH1
LENH2
|
Lệnh này sẽ giảm
bien xuống
1 đơn vị, nếu
bien khác
0 thì
LENH1 được thực thi, nếu
bien bằng
0 thì
LENH1 được bỏ qua, nghĩa là
LENH2 được thực thi.
d nhận một trong hai giá trị
0 hoặc
1
Nếu
d=0, kết quả giảm bien se được lưu vào thanh ghi
W (bien -> W),
Nếu
d=1, kết quả giảm
bien sẽ được lưu vào
bien (bien -> bien)