home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,561 of 4,675   
   Alexei A. Frounze to R.Wieser   
   Re: EXE program stack setup questions   
   07 Oct 18 14:47:08   
   
   From: alexfrunews@nospicedham.gmail.com   
      
   On Sunday, October 7, 2018 at 1:27:07 PM UTC-7, R.Wieser wrote:   
   > Alexei,   
   >    
   > > I thought my code did that, no?   
   >    
   > Maybe for you, but not for me (as I told you in my reply).   
      
   I'm confused by what you said or how you did it.   
      
   > Rethorical question: Do you think that maybe the difference in used    
   > assemblers and linkers could have something to do with it (which is why I    
   > explicitily mentioned I'm (still) using Borlands Tasm and Tlink) ?   
      
   I did use Borland's tasm (3.2) and tlink (3.01).   
      
   > Your assembler might find it fully logical to just conjure up a "default"    
   > stack when you do not declare any, mine doesn't.   
      
   This line   
     myseg segment para stack 'stack' use16   
   tells tasm that myseg *is* *the* stack segment.   
      
   > And if yours doesn't do that, why than doesn't your program start with an    
   > SS:SP of CS:0000 ?   
      
   Like I said, my code instructs tasm to treat   
   myseg as the stack segment. If I remove   
   "stack 'stack'" from that line, tlink will warn   
   me about not having stack.   
      
   >    And if thats so does than why aren't you understanding    
   > me ?     Don't you think that that is a problem  ?   
      
   Let's do a small experiment.   
   Using my latest code (unchanged) from a previous   
   post (name it tiny0.asm) and   
     tasm tiny0.asm   
     tlink tiny0.obj   
   make tiny0.exe.    
   Note any warning/error messages from tasm and tlink.   
      
   Post the file as hex. It should be only 576 bytes,   
   most of which are zeroes (tlink seems to blow the   
   .EXE header up from 32 bytes to 512).   
      
   Here's mine:   
   000: 4D 5A 40 00 02 00 00 00 │ 20 00 00 01 FF FF 00 00   
   010: 40 10 00 00 00 00 00 00 │ 3E 00 00 00 01 00 FB 30   
   020: 6A 72 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00   
   030: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00   
   ... more zeroes   
   1F0: 00 00 00 00 00 00 00 00 │ 00 00 00 00 00 00 00 00   
   200: 8C C8 8E D8 8E C0 50 53 │ E8 08 00 83 C4 04 B8 00   
   210: 4C CD 21 55 8B EC 83 EC │ 10 53 56 57 8D 7E F0 B9   
   220: 10 00 32 C0 FC F3 AA 8B │ 46 04 03 46 06 5F 5E 5B   
   230: 8B E5 5D C3 87 DB 87 DB │ 87 DB 87 DB 87 DB 87 DB   
      
   Alex   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca