Búsqueda personalizada
Regístrate gratis para participar de los foros, o si ya estás registrado haz login.
| comentario del autor | Mie Abr 13, 2005 1:05 am | |
|
empesemos un lenguaje cualquiera por ejemplo el c o c++ previo a dirijirse al microprocesador osea al ejecutarlo este pasa a un lenguaje ensamblador? y luego este pasa a lenguanje binario? y a partir de aqui la maquina lo puede manejar osea lo ultimo seria este el lenguaje de maquina? Esto parese mu tonto pero es la mi realidad...... |
||
| sin valorar | Dom Abr 17, 2005 9:41 am | |
|
MOVE A,B significaría mover el contenido del registro B al contenido del registro A Esta instrucción tiene una representación única en 0's y 1's en la arquitectura de computadora que la soporte. Una instrucción en un lenguaje como C, C++, Pascal, Basic, etc. no necesariamente tiene una representación equivalente de una sola instrucción en lenguaje ensamblador de una máquina específica; generalmente esta se traduce en dos o más (sino es que en cientos o miles) instrucciones de máquina. Por poner un ejemplo, la instrucción a = b + c se podría traducir en lenguaje de máquina como mover el contenido de la localidad de memoria referenciada por la variable "c" en un registro mover el contenido de la localidad de memoria referenciada por la variable "b" en otro registro sumar estos registros mover el resultado de la suma en la localidad de memoria referenciada por la variable "a" Esto es a modo de ejemplo y depende del lenguaje de ensamblador considerado ya que hay arquitecturas de computadoras que ya tienen incorporadas instrucciones que directamente suman dos localidades de memoria y la dejan en otra, por lo que la instrucción arriba mencionada si tendría una traducción directa en una sola instrucción de máquina. Pero están por ejemplo las instrucciones que despliegan un mensaje en pantalla del tipo printf ("hola, mundo"); en C, cout << "hola, mundo"; en C++, WRITE ('hola, mundo'); en Pascal o print "hola, mundo" en Basic las cuales si requieren bastantes instrucciones de máquina. Cuando se programa en en lenguaje como C, C++ u otros se necesita un programa especial para que traduzca las instrucciones del programa y las podamos ejecutar en la computadora que estemos usando. Estos programas generalmente son los compiladores (y digo generalmente ya que antes se usaban mucho los intérpretes que son programas que ejecutan línea por línea los programas) y éstos usualmente producen como salida un archivo el cual se puede ejecutar directamente en la computadora. Por ejemplo para las computadoras con cpu's Pentium se usan principalmente dos tipos de sistemas operativos: Windows y Linux, tanto en uno como en otro existen compiladores para C, C++ y muchos otros lenguajes de programación. Dependiendo del compilador que escojamos y del sistema operativo tendremos un programa en código binario que ejecute el programa compilado el cual será distinto (en instrucciones de máquina) al de otro compilador aunque realize la misma tarea y estemos usando la misma máquina con procesador Pentium. Generalmente el compilador no traduce un programa en un lenguage como C, C++ u otros a mnemónicos de lenguage ensamblador sino que directamente produce un archivo en código binario de máquina pero hay compiladores que tienen la opción de producir un archivo con mnemónicos en ensamblador del programa. |
||
| sin valorar | Dom May 22, 2005 6:35 am | |
|
en el lenguaje ensamblador la forma de escribir es en numeros hexdecimal es decir contando asi:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. y para programar tienes que jugar con los registros de la cpu que estas usando ejm: mov ah,01(h) mov bh,02(h) etc .la diferencia entre el lenguaje de alto nivel como c++, y el lenguaje de bajo nivel como ensamblador , es que el programador en el lenguaje ensamblador debe conocer la cpu por dentro para poder usar los registros que tiene esta |
||