vak: (Улыбка)
[personal profile] vak
Стартовый адрес программы в большинстве современных 32-битных операционных систем (Windows, Linux, BSD) равен 0x0400000? Понятно, что не ноль: чтобы обращение по нулевому указателю давало ошибку. Но почему именно 4 мегабайта? Этому есть вполне логичное объяснение.

В 64-битных системах другой начальный адрес, а именно 0x100000000 (4 гигабайта).

Date: 2014-10-14 08:14 (UTC)
From: [identity profile] ircicq.livejournal.com
у .COM не было заголовка.
этот формат - наследие CP/M

Date: 2014-10-14 08:22 (UTC)
From: [identity profile] b00ter.livejournal.com
У EXE он был. :)

Date: 2014-10-14 08:47 (UTC)
From: [identity profile] archaicos.livejournal.com
У DOS'овского .EXE нет ограничения подобного тому, что есть у .COM.