Yes, but contiguous 0's are special and easy enough
to detect, and, it would not be difficult for the assembler
to include some initialization code. In the end, this is a
difference in philosophy, asm vs. higher level languages.
You don't expect an assembler to optimize that sort of thing,
but rather, to do exactly as it is told.
Now, I remember when g77 would actually include the
image of a zero-initialized array within a common block
in the executable.... at one point I had a 130MB
executable :-) . This is the opposite case, a high-level
language not optimizing that sort of thing.
Carlos.
At 06:37 PM 7/18/01 -0700, you wrote:
>On Wed, 18 Jul 2001, Sean 'Captain Napalm' Conner wrote:
>> some_buffer db 4096 dup(0)
>> end segment
>
>That EXPLICITLY calls for 4K of 0's.
>Virtually no assembler is clever enough to do a run-length compression.
>OTOH, If you wrote
> some_buffer db 4096 dup (?)
>it would set up 4K of "UNINITIALIZED" space, which it COULD compress out
>of the file, particularly if it is at the end.
>
>> . . . So it would be easy enough for a virus to scan the
>> executable for a portion that is nothing but zeros, and hide in there.
>It could always make space within the MICROS~1 copyright message.
>
>--
>Grumpy Ol' Fred cisin_at_xenosoft.com
>
>
--------------------------------------------------------------
Carlos E. Murillo-Sanchez carlos_murillo_at_nospammers.ieee.org
Received on Wed Jul 18 2001 - 21:57:54 BST
This archive was generated by hypermail 2.3.0
: Fri Oct 10 2014 - 23:33:53 BST