Re: Declare strings on stack, gas

Daniel Hilst <[email protected]> Thu, 19 Apr 2012 16:07:31 +0000
Newsgroups org.kernel.vger.linux-assembly
Message-ID <[email protected]>
On 04/18/2012 07:34 PM, Robert Plantz wrote:
> On 4/18/2012 7:58 AM, Daniel Hilst wrote:
>> Is possible to declare strings on stack? I'm using mov + ebp offsets
>> to do something like that.. Is there an easier way to do it?
>>
>> Here is an sample off how I'm doing it: http://sprunge.us/UUZI
>>
>> The hex numbers are a "Hello World" string..
>> I have tried .assci without success :(
>>
>> Thanks in advance!
>>
>>
> Basically, you're asking if the compiler/assembler can initialize the
> stack to some known value. Since memory on the stack is dynamically
> allocated by the instructions:
>
> doit:
> push %ebp ; Save caller's base pointer
> mov %esp, %ebp ; Establish our base pointer
>
> sub $12, %esp ; Allocate memory on the stack
>
>
>
> the answer is 'no.' After you allocate stack memory (which now has
> garbage values), you need to copy known values there. Write your code in
> C and use the '-S' gcc option to see how the compiler does this. The
> '-S' option will generate the assembly language file foo.s from the C
> source file foo.c.
>
> --Bob
>
>
>

Thanks guys, the closest I got was use .text section and the %esi trick.
Now I know about stack dynamics.

Cheers!
-- 
Follow the white rabbit!