avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] Using in/out Instructions with ATmega128


From: Thomas D. Dean
Subject: [avr-gcc-list] Using in/out Instructions with ATmega128
Date: Mon, 04 May 2009 15:36:55 -0700

I have
# avr-gcc --version
avr-gcc (GCC) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
...

I want to use the ATmega128 and in/out instructions for registers below
0x40.  

# avr-gcc   -mmcu=atmega128  -c -o 4x40-lcd.o xxx.c
# avr-gcc    -mmcu=atmega128  4x40-lcd.o -o xxx.elf  -lc
# avr-objdump   -d xxx.elf
...
804:    a2 e3           ldi     r26, 0x32       ; 50
 806:   b0 e0           ldi     r27, 0x00       ; 0
 808:   e2 e3           ldi     r30, 0x32       ; 50
 80a:   f0 e0           ldi     r31, 0x00       ; 0
 80c:   80 81           ld      r24, Z
 80e:   8f 70           andi    r24, 0x0F       ; 15
 810:   80 62           ori     r24, 0x20       ; 32
 812:   8c 93           st      X, r24
...

This can be done with four instructions, in, andi, ori, and, out.  And,
6 fewer clocks.

How do I force avr-gcc to use in and out instructions on the ATmega128?

tomdean






reply via email to

[Prev in Thread] Current Thread [Next in Thread]