nbb3i
07-02-2010, 08:26 AM
Trước đây mình mới chỉ tìm hiểu về PIC thông qua ngôn ngữ C và trình dịch CCS. Bây giờ muốn quay lại nghiên cứu lại ngôn ngữ ASM để có thể hiểu sâu hơn về phương thức làm việc của dòng vi xử lý này.
Bạn nào có thể giúp mình giải đáp thắc mắc sau đây với:
#define DATA input(PIN_B0)
int32 pointer[];
int32 counter=0,timer=0;
for(counter=1;counter<10000000;counter++)
{
if (DATA==1)
{
pointer[timer]=counter;
timer++;
}
while(DATA==1) counter++;
}
Đoạn trên mình định lập trình để ghi lại sườn lên của một tín hiệu chu kỳ lớn nhưng bề rộng xung nhỏ. trong vòng for gồm 2 lệnh là tăng counter và so sánh DATA. Tuy nhiên thắc mắc của mình là:
- Những lệnh trên có thể viết lại bằng ASM như thế nào?
- Số chu kỳ lệnh tương xứng với các lệaanh ASM đó có tính được hay không?
Ai biết xin giải đáp giúp mình với nhé! Xin cảm ơn! :)
Bạn nào có thể giúp mình giải đáp thắc mắc sau đây với:
#define DATA input(PIN_B0)
int32 pointer[];
int32 counter=0,timer=0;
for(counter=1;counter<10000000;counter++)
{
if (DATA==1)
{
pointer[timer]=counter;
timer++;
}
while(DATA==1) counter++;
}
Đoạn trên mình định lập trình để ghi lại sườn lên của một tín hiệu chu kỳ lớn nhưng bề rộng xung nhỏ. trong vòng for gồm 2 lệnh là tăng counter và so sánh DATA. Tuy nhiên thắc mắc của mình là:
- Những lệnh trên có thể viết lại bằng ASM như thế nào?
- Số chu kỳ lệnh tương xứng với các lệaanh ASM đó có tính được hay không?
Ai biết xin giải đáp giúp mình với nhé! Xin cảm ơn! :)