RE: Unable to use a variable in instruction
A D <[email protected]> Mon, 15 Oct 2007 09:31:15 -0400
| Newsgroups | org.kernel.vger.linux-assembly |
|---|---|
| Message-ID | <[email protected]> |
>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 > mm: > .int 1, 2 > > .section .text > .globl _start > _start: > nop > movl x, %ecx #can't do this > > > > Kotler wrote: >>You're trying to access memory at address 4, not move the immediate >>value 4. Try "movl $x, %ecx". >> >> >> Plantz wrote: >>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 This problem is resolved now. Thanks for clarifying this. --DC _________________________________________________________________ Send a smile, make someone laugh, have some fun! Start now! http://www.freemessengeremoticons.ca/?icid=EMENCA122