COM (tiedostomuoto)

COM on ohjelmatiedostomuoto 8-bittisessä CP/M:ssä ja MS-DOS:ssa, joka sisältää suoritettavan tietokoneohjelman. Alun perin kaikki DOS-ohjelmat olivat COM-tiedostoja, mutta muodosta on sittemmin käytännössä luovuttu sen rajoitusten ja puuttuvan rakenteisuuden vuoksi. Nykyään jäljellä olevat COM-tiedostot ovat yleensä EXE-tiedostoja, joiden pääte on yhteensopivuussyistä muutettu. Järjestelmä tunnistaa tällaiset kuitenkin EXE-tiedostoiksi niiden otsikon perusteella.

Alun perin COM-tiedostopäätettä on käytetty DECin mini- ja mainframe-koneiden komentojonotiedostojen  (eräkäsittelytiedostojen, Command file) päätteenä 1970-luvulla. 

Jotkut virusten kirjoittajat ovat hyödyntäneet Internetin .com-verkkotunnuksen samankaltaisuutta.

MS-DOSin COM-tiedoston rakenne
COM-tiedostot ovat rakenteeltaan hyvin yksinkertaisia. Ne ovat käytännössä muistikuvatiedostoja (memory image, samaan tapaan kuin massamuistilevystä voidaan luoda), eikä niissä ole otsikkotietoja eikä metadataa, ainoastaan ohjelmakoodi. COM-ohjelmat alkavat muistiosoitteesta 0x100. Segmentti löytyy prosessorin DS-rekisteristä. Kaikki data ja ohjelmakoodi ovat samassa segmentissä. COM-ohjelman suurin koko on 64 kilotavua (miinus 256 tavua). Käyttöjärjestelmä ei myöskään tarjoa COM-ohjelmille minkäänlaista muistinhallintaa, joten ohjelman on huolehdittava siitä itse.

COM-muodon seuraaja on EXE. Jos hakupolussa on samanniminen .COM ja .EXE-päätteinen tiedosto, ohjelmaa käynnistettäessä COM-päätteinen ajetaan.

Tiedostomuodot