"prefix" means you want to use percent signs('%') before your registers. "noprefix" means you don't. From what I've been able to determine, that's the only difference, and it has nothing to do with dollar signs('$'). Most Intel syntax assemblers (that I've used) don't prefix the registers with anything, but I like the idea of having a prefix to distinguish registers from labels. Unfortunately though, after years of using other assemblers, I'm too accustomed to NOT typing the prefix; so I've just given up trying and dropped the prefix.earlz wrote:
I'm not sure if it matters, but when I did gas with intel syntax in my OS, I didI'm not sure of the difference thoughCode: Select all
.intel_syntax noprefix
Just to remind people of my remaining question:
I've also determined that this gives the same warning:SimonZilch wrote:The second problem I ran into is a warning for this code:
. . .The warning is: "Warning: Treating `dword ptr [0xb8000]' as memory reference"Code: Select all
mov dword ptr [0xb8000], %eax
That doesn't make sense. Of course it's treating it as a memory reference. I very explicitly told it that it's a memory reference. . . .
So how do I get rid of this warning? Is my syntax wrong? If so, how do I do it right?
Code: Select all
.set VIDEO_MEM, 0xb8000 # same result with .eqv or .equiv instead of .set
mov dword ptr [VIDEO_MEM], eax
Any thoughts?