[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-chat] Need help with simple inline assembly code
From: |
Ned Konz |
Subject: |
Re: [avr-chat] Need help with simple inline assembly code |
Date: |
Tue, 5 Jul 2005 17:57:03 -0700 |
User-agent: |
KMail/1.7.2 |
On Tuesday 05 July 2005 3:54 pm, Reza Naima wrote:
> I'm trying to generate a very fast (10mhz-ish) bit train from an avr
> running at ~15mhz. The only way i can think of doing it is using inline
> assembly. I've been trying to compile something like tihs, but I'm
> getting no love. Any suggestions?
How about putting the parentheses in the right places, for a start?
>
> int main(void) {
> while(1) {
> asm volatile("out %0, %1":: "I"
> (_SFR_IO_ADDR(PORTD))),"M" (254);
> asm volatile("nop"::);
> asm volatile("out %0, %1":: "I"
> (_SFR_IO_ADDR(PORTD))),"L" (0);
> asm volatile("nop"::);
> asm volatile("out %0, %1":: "I"
> (_SFR_IO_ADDR(PORTD))),"L" (0);
> asm volatile("nop"::);
> asm volatile("out %0, %1":: "I"
> (_SFR_IO_ADDR(PORTD))),"M" (254);
> asm volatile("nop"::);
> asm volatile("out %0, %1":: "I"
> (_SFR_IO_ADDR(PORTD))),"L" (0);
> asm volatile("nop"::);
> }
> return 0;
> }
int main(void) {
while(1) {
asm volatile("out %0, %1":: "I" (_SFR_IO_ADDR(PORTD)),"M"
(254));
asm volatile("nop"::);
asm volatile("out %0, %1":: "I" (_SFR_IO_ADDR(PORTD)),"L" (0));
asm volatile("nop"::);
asm volatile("out %0, %1":: "I" (_SFR_IO_ADDR(PORTD)),"L" (0));
asm volatile("nop"::);
asm volatile("out %0, %1":: "I" (_SFR_IO_ADDR(PORTD)),"M"
(254));
asm volatile("nop"::);
asm volatile("out %0, %1":: "I" (_SFR_IO_ADDR(PORTD)),"L" (0));
asm volatile("nop"::);
}
return 0;
}
--
Ned Konz
http://bike-nomad.com