Executable COM
Aquesta entrada o secció sobre el tema dels formats de fitxer no menciona les fonts necessàries o les persones que hi són presents són insuficients . |
Un fitxer executable COM de MS-DOS ( CO re i M age [1] ) és un format de fitxer executable per a codi de 16 bits , dissenyat per a programes molt senzills: el fitxer és la imatge exacta del programa a la memòria RAM i el primer La instrucció que cal executar es troba necessàriament a la posició 256 del fitxer, que no pot superar els 65536 bytes (64 kilobytes). No hi ha segments ni reubicacions per fer. Ara ha caigut en desús: és compatible amb les versions modernes de Windows només per compatibilitat.
Originalment, el terme .COM s'utilitzava en els sistemes operatius DEC de miniordinadors i mainframe dels anys setanta per referir-se a un fitxer de text que contenia ordres executables. CP / M de 8 bits i MS-DOS van redefinir el terme, és a dir, fitxers executables binaris. Les tres lletres de COM s'han de distingir del domini d'Internet de primer nivell .com (que prové de comercial ). Històricament, aquesta similitud s'ha utilitzat amb finalitats d'estafa per part d'algun malware .
El format de fitxer MS-DOS
Aquest format va ser el primer format executable implementat tant en CP / M com en MS-DOS: no conté cap capçalera ni metadades, només codi i dades. Aquesta simplicitat té el seu preu: el programa només pot tenir una longitud de 65.280 (0xFF00) bytes, és a dir, 256 bytes menys de 64 KiB , i tot ha d’estar contingut en un únic segment.
Com que el fitxer no conté cap informació de reubicació, el programa contingut sempre s'ha de carregar i executar a l'adreça fixa de 0x0100 (d'aquí la limitació de longitud). Això no va ser un problema a les màquines de 8 bits: per exemple, la CPU Intel 8080 només podia gestionar 64 KiB de RAM i el CP / M es reservava els primers 256 bytes de memòria del sistema, mentre que els programes només podien començar. . El format .COM s’adaptava perfectament a aquesta arquitectura.
Les màquines de 16 i 32 bits, d'altra banda, podien gestionar molta més memòria i també eren multitarea : ja que el programa només es podia executar a l'adreça predeterminada, era possible executar un i un sol programa .COM alhora . I, a més, amb una longitud màxima de 64 KB, deixava molta memòria RAM inutilitzada. Per aquestes raons, el format .COM va caure ràpidament en ús a mesura que es van establir aquestes arquitectures.
Fins i tot si el format .COM és idèntic entre CP / M i MS-DOS, això no vol dir que un fitxer .COM es pugui executar indiferentment a les dues plataformes: les trucades al sistema operatiu són completament diferents i, a més, el CP / M les màquines es construeixen al voltant de processadors 8080, 8085 o Z80, incompatibles amb les arquitectures x86 que utilitzaven MS-DOS. No obstant això, és possible escriure fitxers .COM " duals" que contenen dues versions diferents del mateix codi, una per a CP / M i una per a MS-DOS; aquest fitxer .COM es pot executar de manera indiferent a les dues plataformes.
Nota
- ^ Guia de l'usuari Turbo Assembler , pàg. 229.