Re: Unable to use a variable in instruction
Robert Plantz <[email protected]>
| Newsgroups | gmane.linux.assembly |
|---|---|
| Message-ID | <1192413717.5651.4.camel@ubuntu> |
On Sun, 2007-10-14 at 19:37 -0400, A D wrote:
> I'm having strange problem accessing a variable in a gnu assembly language program.
> When i write a code:
>
> .section .data
> x = 4
This is equivalent to writing
.equ x,4
> mm:
> .int 1, 2
>
> .section .text
> .globl _start
> _start:
> nop
So this instruction:
> movl x, %ecx #can't do this
is trying to move the 4 bytes stored at memory location 4 into the ecx
register. As the OS told you, you cannot do that.
The way to allocate an initialized 32-bit int in the .data section is:
x: .long 4
-
To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html