De instrucciones bitwise a código c de manera intuitiva

-4

Necesito poder reconocer lo que hace un código de ensamblaje. Puedo imaginarme las instrucciones básicas en código C en mi cabeza. Pero las instrucciones a nivel de bits como and 10000001 y xor 11111111 en el medio del código no son tan fáciles de comprender. ¿Alguien puede explicar cómo debo traducir intuitivamente las operaciones bitwise a código c?
Gracias

    
pregunta Yuri Borges

1 respuesta

0

Ignacio está acertado en su comentario, y agregaré que la funcionalidad del hardware está realmente más cerca del código de ensamblaje, por lo que sería mejor aprender el ensamblaje directamente en lugar de intentar traducir.

Los ejemplos particulares que presentaste tienen equivalentes directos de C, pero hay muchas operaciones de ensamblaje que no lo hacen (a pesar del énfasis de bajo nivel de C), por lo que rápidamente te meterás en problemas si te acercas a él de esa manera. Por ejemplo, la rotación de los bits en un byte con o sin un bit de acarreo podría ser torpe. Sé esto a ciencia cierta porque he traducido el código de ensamblaje del microcontrolador ajustado que he escrito en C para simulación (por ejemplo, cálculos matemáticos fraccionarios).

Compare con el aprendizaje de un lenguaje humano natural diferente: es posible que tenga que adoptar algunos paradigmas diferentes para que sea moderadamente fluido. En inglés, avanzamos hacia el futuro, lo que parece tener sentido hasta que te das cuenta de que hay otros idiomas en los que retrocedes: puedes ver lo que está detrás pero no lo que está por venir.

Usted querrá estudiar el conjunto de instrucciones, por supuesto, con énfasis en los modos de dirección, así como las funciones, pero también los registros de modelo de programación y así sucesivamente. Hay una variación mucho mayor de un procesador a otro que entre los tipos de 'C'.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas