Assembler complains about use of $at after ".set noat" on sd instr

Rohit J mipsjunkie at gmail.com
Fri Oct 21 07:09:24 UTC 2011


Hi FreeBSD MIPS Gurus,

Am just starting on MIPS assembly in FreeBSD.

The code that I have was building just fine.
Then I added an line to a .S file @line# 513

     sd  k0, mpl(sp)

which on make gives an error that says :

 Assembler messages:
octeon_asm.S:440: Error: illegal operands `ld T3,8($7)'
octeon_asm.S:513: Error: Macro used $at after ".set noat"

The .S file has a noat directive
 .set noat

Silly Questions
1.	Why does sd instruction (store double word) end up using at ?
I checked the particular manual (Cavium Octeon H/w reference Manual)
and didn’t find anything about sd instr using register at.
2.	Why does it complain about ld instr so far up in the file away from
the place
new code was inserted?

Any pointers appreciated
Rohit


More information about the freebsd-mips mailing list