Why avr-as doesn’t work

assemblyavr

I've got the following program, in AVR assembly:

.DEF    WR = R16

.ORG 0

SER    WR
OUT    0x24, WR

When I call avr-as beeep.s, where beeep.s contains the previous code, I get an error message:

beeep.s: Assembler messages:
beeep.s:1: Error: unknown pseudo-op: `.def'
beeep.s:5: Error: constant value required
beeep.s:5: Error: register number above 15 required
beeep.s:6: Error: constant value required

I can't find the origin of my error… What did I do wrong ?

Best Answer

Change .DEF with .EQU:

.EQU    WR, R16

.ORG 0

SER    WR
OUT    0x24, WR