.com (MS-DOS)

.com to rozszerzenie nazwy pliku dla plików wykonywalnych w systemie MS-DOS .

Format pliku

W czasach pierwszych procesorów Intela z serii x86, których przestrzeń adresowa była podzielona na „segmenty” do 64 KB , pliki „.com” były programami na tyle małymi, że mieściły się w całości w jednym segmencie. co pozwoliło im nie wymagać żadnego przemieszczania w celu załadowania ich do pamięci.

O ile natomiast pliki „.exe” wymagały, aby zawierały tablicę relokacji wskazującą wszystkie miejsca programu zawierające wartości, które należy przeliczyć zgodnie z adresem pamięci, do którego zostały załadowane, o tyle pliki „.com” zostały po prostu ładowany pod adres 100h dowolnego segmentu, po 256 bajtach informacji o środowisku, stąd dyrektywa ORG 100h, która zawsze uruchamia program przeznaczony do kompilacji w formacie com. Jedną z konwencji jest to, że dane są umieszczane na początku pliku, zaraz po instrukcji skoku do kodu wykonywalnego.

Ekstremalna prostota tego formatu stwarzała problem przy tworzeniu programów wymagających więcej niż 64 KB pamięci RAM, co wyjaśnia jego stopniowe porzucanie na rzecz formatu .exe . Niektóre pliki z rozszerzeniem .com są w formacie PE , system rozpoznaje je po pierwszych dwóch bajtach MZ.

Przykłady

Nadal istnieją programy z rozszerzeniem .compod systemem Windows , głównie programy przeznaczone zostanie uruchomiona z poziomu wiersza poleceń .