Re: [linux-assembly] Declare strings on stack, gas

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



--
To unsubscribe from this list: send the line "unsubscribe linux-assembly" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Linux C Programming]     [Linux for Hams]     [DCCP]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux