b'\n_START_ARTICLE_\nArchivo COM\n_START_SECTION_\nPlataformas que lo soportan\n_START_PARAGRAPH_\nEl formato a\xc3\xban es ejecutable en muchas plataformas modernas basadas en Windows, pero se ejecuta en un subsistema emulando MS-DOS que fue eliminado de las variantes x64._NEWLINE_Los ficheros COM tambi\xc3\xa9n pueden ser ejecutados en emuladores de DOS como DOSBox, en cualquier plataforma que soporte estos emuladores. Originalmente el COM era la abreviatura de "comando" ya que los ficheros con extensi\xc3\xb3n .com conten\xc3\xadan el c\xc3\xb3digo de los comandos b\xc3\xa1sicos que se pod\xc3\xadan ejecutar en la m\xc3\xa1quina._NEWLINE_Varias utilidades del sistema, como la versi\xc3\xb3n de MS-DOS de more, usaban este formato, al mismo tiempo que las primeras y peque\xc3\xb1as aplicaciones del sistema, como el juego de IBM Alley Cat.\n_START_SECTION_\nFormato Binario\n_START_PARAGRAPH_\nEl formato COM es quiz\xc3\xa1s el formato ejecutable m\xc3\xa1s simple de todos. En las versiones orignales de MS-DOS no conten\xc3\xada metadatos, s\xc3\xb3lo c\xc3\xb3digo y datos, se cargaba en el desplazamiento 0x0100 de un solo segmento y se ejecutaba._NEWLINE_Debido a la segmentaci\xc3\xb3n de la memoria no es necesaria la relocalizaci\xc3\xb3n._NEWLINE_Sin embargo su simpleza tiene un precio: el binario tiene un tama\xc3\xb1o m\xc3\xa1ximo de 65,280 (0xFF00) bytes y almacena todo su c\xc3\xb3digo y datos en un segmento. Esto no era un problema en los primeros ordenadores de 8-bits, pero es la raz\xc3\xb3n principal por la que este formato cay\xc3\xb3 en desuso con la introducci\xc3\xb3n de los procesadores de 16-bits y luego con los de 32-bits debido a sus mayores memorias segmentadas._NEWLINE_En la arquitectura de la CPU Intel 8080, s\xc3\xb3lo se pueden direccionar 65,536 bytes de memoria (rango de memorias de 0x0000 a 0xFFFF). Bajo CP/M, la primera p\xc3\xa1gina de esta memoria, de 0x0000 a 0x00FF, estaba reservada para uso del sistema, y cualquier programa de usuario ten\xc3\xada que ser cargado exactamente en la direcci\xc3\xb3n 0x0100 para ser ejecutado. Los ficheros COM se ajustan a este modelo perfectamente. Hay que darse cuenta de que no hab\xc3\xada posibilidad de ejecutar m\xc3\xa1s de un programa o comando a la vez: el programa cargado en 0x0100 era ejecutado, y ning\xc3\xban otro. _NEWLINE_Aunque el formato de fichero es el mismo en MS-DOS y CP/M, esto no significa que los programas de CP/M se puedan ejecutar directamente bajo MS-DOS o viceversa, los ficheros COM de MS-DOS contienen instrucciones x86, mientras que los ficheros COM de CP/M contienen instrucciones 8080, 8085 o Z80. Adem\xc3\xa1s, los ficheros COM de MS-DOS a menudo dependen de llamadas al sistema operativo proporcionadas exclusivamente por MS-DOS a trav\xc3\xa9s de la interrupci\xc3\xb3n 21h. Es posible crear un fichero COM pesado que puedan ejecutar las dos familias de procesadores._NEWLINE_En sistemas, subsistemas y emuladores DOS m\xc3\xa1s nuevos que MS-DOS, los ejecutables COM pueden contener el n\xc3\xbamero m\xc3\xa1gico 0x4D0x5A que, en ASCII, simboliza los caracteres MZ, iniciales de Mark Zbikowski._NEWLINE_Los ficheros pueden tener nombres con extensi\xc3\xb3n .COM pero no tener el formato descrito anteriormente, esto se sabe gracias a un n\xc3\xbamero m\xc3\xa1gico al principio del fichero. Por ejemplo, el fichero COMMAND.COM en DR-DOS 6 est\xc3\xa1 actualmente en el formato ejecutable de DOS, indicado por el n\xc3\xbamero m\xc3\xa1gico de este. Bajo CP/M 3, si el primer byte de un fichero COM es 0xC9 entonces esto indica la presencia de una cabecera de 256 bytes, ya que 0xC9 corresponde a la instrucci\xc3\xb3n RET de 8080. Esto significa que el fichero COM terminar\xc3\xa1 inmediatamente si se ejecuta en una versi\xc3\xb3n anterior de CP/M que no soporte esta extensi\xc3\xb3n.\n_START_SECTION_\nPrecedencia de ejecuci\xc3\xb3n\n_START_PARAGRAPH_\nSi un directorio contiene dos ficheros uno COM y otro EXE con el mismo nombre (sin incluir la extensi\xc3\xb3n), el fichero COM se ejecutar\xc3\xa1 antes. Por ejemplo, si un directorio contiene dos ficheros llamados nota.com y nota.exe, lo siguiente ejecutar\xc3\xa1 el fichero nota.com:_NEWLINE_C:\\>nota_NEWLINE_Si el usuario quiere ejecutar nota.exe, tiene que usar expl\xc3\xadcitamente el nombre completo del fichero:_NEWLINE_C:\\>nota.exe'