¿Qué es el código de máquina?

Machine Code, también conocido como lenguaje de máquina, es el lenguaje elemental de las computadoras. Es leída por la unidad central de procesamiento (CPU) de la computadora, está compuesta de números binarios digitales y parece una secuencia muy larga de ceros y unos. Finalmente, el código fuente de cada lenguaje de programación legible por humanos debe ser traducido al lenguaje máquina por un compilador o un intérprete, porque el código binario es el único lenguaje que el hardware de la computadora puede entender.

Cada CPU tiene su propio lenguaje de máquina específico. El procesador lee y maneja las instrucciones, que le indican a la CPU que realice una tarea simple. Las instrucciones se componen de un cierto número de bits. Si las instrucciones para un procesador en particular son 8 bits, por ejemplo, la primera parte de 4 bits (el código de operación) le dice a la computadora qué hacer y los segundos 4 bits (el operando) le dice a la computadora qué datos usar.

01001000 01100101 01101100 01101100 01101111 00100001

Dependiendo del procesador, los conjuntos de instrucciones de una computadora pueden tener la misma longitud, o pueden variar, dependiendo de la instrucción específica. La arquitectura del procesador particular determina cómo se modelan las instrucciones. La ejecución de las instrucciones está controlada por el firmware o el cableado interno de la CPU.

Los programadores humanos rara vez, si alguna vez, tratan directamente con el código de la máquina. Si los desarrolladores están depurando un programa en un nivel bajo, podrían usar una impresión que muestre el programa en su forma de código de máquina. La impresión, que se llama volcado, es muy difícil y funciona con una herramienta llamada volcado. Los programas de utilidad utilizados para crear volcados a menudo representarán cuatro bits por un solo hexadecimal para facilitar la lectura del código de la máquina y contener otra información sobre el funcionamiento de la computadora, como la dirección de la instrucción que se estaba ejecutando en el momento en que se inició el volcado. .

Muchas aplicaciones se desarrollan en lenguajes de programación que no se compilan en código de máquina eficiente antes de la implementación, pero que un intérprete traduce al código de máquina mientras se ejecuta la aplicación.

El código de la máquina son los 1 y 0 reales que la máquina entiende y que le dicen qué hacer a continuación. Para simplificar, esos 1 y 0 se pueden traducir a números decimales o números hexadecimales. Dado que ciertos números le dicen a la CPU que haga una cosa y otros números le dicen que haga otra cosa, entonces los números pueden recibir un valor de texto comprensible para los humanos. Por ejemplo, el número 65 podría ser un comando que le dice a la CPU que ponga un valor en el acumulador. El comando completo podría verse como 65 127. Ahora, dado que 65 se usa para cargar el acumulador, podemos asignar el número 65 para que sea igual a LDA. Entonces ahora el comando se vería como LDA 127. Esto ahora se llama lenguaje ensamblador.

El siguiente paso sería tomar una serie de comandos diferentes y encadenarlos juntos y luego asignar una sola palabra legible por humanos que hará que se ejecute esta cadena de comandos. Digamos que se han creado una serie de comandos de ensamblador que imprimirán una serie de caracteres en la pantalla. Asignamos la palabra “Imprimir” a la secuencia de comandos y parte de lo que necesita para que funcione es que debe ir seguida de una cadena de caracteres entre comillas, como Imprimir “Hola Mundo”.

Si después de crear el programa que solo hace esta cosa simple, compílelo y mire el código compilado, todo lo que veríamos son 1 y 0 que, para los humanos, no significa absolutamente nada (a menos que pueda traducir en su cabeza) sino a la CPU es lo ÚNICO que entiende.

Espero que esto ayude aunque sea un poco.

1’s y 0’s bro …….

Para evitar que pierdas el tiempo aprendiendo binario … No tiene sentido. no importa lo bueno que seas, si no sabes algo en demanda. Usted es inútil.

¿¿¿¿¿¿¿¿¿¡¡¡¡QUÉ!!!!?????????

Bro… .. Solo aprende Python o Ruby o Java o C # o C ++ o C …… .. A quién le importa….

No respondí tu pregunta porque sé que no conocías a la otra. Si lo hicieras, entonces no hubieras preguntado …….

More Interesting

¿Qué significa que las funciones de activación (como ReLU) en NN inducen la escasez en las unidades ocultas?

¿El parámetro C afecta a una clase SVM?

¿Por qué es que los RNN con conexiones desde la salida al estado oculto pueden expresar menos máquinas de turing?

Cómo implementar el análisis de sentimientos en proyectos de retroalimentación de clientes

¿Cómo decidimos entre usar la factorización a priori o matriz para el filtrado colaborativo?

¿Cuáles son las probabilidades de ingresar a un programa de posgrado de aprendizaje automático en una escuela superior si mi experiencia en investigación es en bioinformática y algo de experiencia en investigación en PNL?

¿Qué elementos de los sistemas operativos generales de una organización deben ser compatibles y reforzarse mutuamente?

Karpathy mencionó durante una conferencia que es posible reemplazar la capa FC al final de una CNN con una capa de agrupación promedio. ¿Alguien lo ha intentado?

¿Es aconsejable crear una aplicación basada en el aprendizaje automático y el procesamiento de imágenes sin comprender el concepto matemático subyacente?

¿De qué fuente será mejor aprender el aprendizaje automático?

¿Qué significa decir que dos clasificadores son independientes?

¿Qué conocimiento se requiere para usar bibliotecas de aprendizaje automático pero no implementarlas?

¿Cuál es la relación entre los clasificadores uno contra uno, conjunto y SVM?

¿Qué es la indexación semántica latente?

¿Cómo genera el modelo generativo muestras de ruidos?