Páginas: [1]
|
 |
|
Autor
|
Tema: ayuda con programacion de lenguaje de maquina (Leído 382 veces)
|
prosk8er
Desconectado
Mensajes: 245
La sabiduría me persigue pero yo soy mas rapido...
|
estoy comenzando y no tengo idea de como el lenguaje de maquina funciona. Tengo que escribir un programa que sume las potencia de 2 y que ponga la respuesta en la memoria FF. Buscando en internet, muchos hablan que esto es parecido a basic... pero tampoco tengo conocimieto de basic. Luego encontre esta pagina http://www.textfiles.com/apple/mllessons.txt y parece que lo explica bien, pero no tengo idea de que es lo que esta haciendo. me gustaria que me explicaran esto, 1000:A9 C8 8D 48 06 1000G que significa cada termino? que es 1000? que es A9? La pagina tambien habla de cambiar de hexadecimal a decimal, como lo hacen? $1000 en HEX es 4096 en DECIMAL?? nehc
|
|
|
|
|
En línea
|
|
|
|
prosk8er
Desconectado
Mensajes: 245
La sabiduría me persigue pero yo soy mas rapido...
|
agrego: en el apendice de mi libro dice op-code operand descripcion 1 RXY LOAD the register R with the bit pattern found in the memory cell whose address is XY Example 14A3 would cause the contents of the memory cell located at address A3 to be place in register 4. A ver si tambien me pueden explicar esto por favor.  De donde salio LOAD? NEHC
|
|
|
|
|
En línea
|
|
|
|
|
Hendrix
|
Por lo que veo estas intentando programar en lenguaje maquina (no ensamblador) y ni siquiera sabes pasar de Hexa a decimal???? Te recomiendo una cosa, no pierdas el tiempo 
|
|
|
|
|
En línea
|
Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.340
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
¿Parecido a Basic?  Adhiero a lo dicho por Hendriҳ. De cualquier manera el 1000 es la direccion de comienzo del codigo y A9 es LDA. Y si, ahi mismo explica casi todo lo que preguntas. La G justo al lado del 1000 debe ser de GO. " 1000 IS THE ADDRESS OF A9 WHICH IS THE MACHINE CODE FOR LOAD THE ACCUMULATOR (LDA) IMMEDIATELY." "1000- A9 C1 LDA #$C1" Esto es para Apple y evidentemente no sirve para PC ... ¿¿Que libro estas usando?? Lo del LOAD, esta muy claro lo que hace con solo leer la descripcion que pegaste, es una instruccion del microprocesador.
|
|
|
|
|
En línea
|
|
|
|
skapunky
Electronik
Colaborador
Desconectado
Mensajes: 1.222
www.killtrojan.es
|
1000:A9 C8 8D 48 06 Vamos paso a paso, el 1000 es la dirección de memoria interna donde se alojan los opcodes. Los opcodes como bien a dicho hendrix es algo mas bajo que el propio lenguaje ensamblador... En cuanto a lo que cada opcode equivale no tengo ni warra, pero para que te hagas una idea, te pondré un par de ejemplos en cross-assembler de 8 bits con 1 opcodes cualquierde ejemplo. 1º EjemploEl comando MUL que multiplica A*B, su opcode es 48. Así en ASM escribiriamos: Mul A,B El opcode equivalente a Mul A,B seria A4, que seria su opcode o codigo hexadecimal equivalente. Evidentemente los opcodes los tendrás de buscar segun para lo que estés programando, yo el ejemplo de opcode que te puesto es para programación de microcontroladores de la família MCxx51. Un saludo y a buscar los opcodes! Como curiosidad, si abres un debugger y en la memoria interna escribes los conjuntos de opcodes, tendrás un bonito programa en ensamblador con sus equivalente jejeje. PD: siento no poder especificar mas sobre el tema, pero no se pata que programas. "1000 IS THE ADDRESS OF A9 WHICH IS THE MACHINE CODE FOR LOAD THE ACCUMULATOR (LDA) IMMEDIATELY."
"1000- A9 C1 LDA #$C1"
Esto es para Apple y evidentemente no sirve para PC ... ¿¿Que libro estas usando?? Lo anterior...tonteria al canto 
|
|
|
|
« Última modificación: 27 Marzo 2008, 22:15 por skapunky »
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.340
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Lo anterior...tonteria al canto  El unico problema es que lo anterior es citado del enlace que dejo prosk8er en su primer mensaje. Y muchisimas gracias por explicar que era 1000, esta claro que nadie lo hizo antes (no sea cosa que alguien crea que leiste el hilo completo). Aunque nada mejor que los ejemplos por supuesto. Esta claro que tu mensaje si es un verdadero aporter 
|
|
|
|
|
En línea
|
|
|
|
skapunky
Electronik
Colaborador
Desconectado
Mensajes: 1.222
www.killtrojan.es
|
Me refiero al comentario de que es para Apple...
No me voy a discutir, lo unico que me refiero esque segun el lenguaje asm utilizado los opcodes varian y primero uno a de tener muy claro para que esta programando. No seria la 1 vez que viese a alguien que esta programando asm sin saber para que y es importante al principio tener claro para que tipo de arquitectura se hace..ya que sinó después vienen los lios padres.
Almenos he aportado un ejemplo para la arquitectura de micros de la familia XX51 y su equivalente OPCODE del comando MUL. No me dedico a decir sarnezes de Apple. Seguro que el mejor aporte seria decirle lo que equivale los opcodes que a puesto.
Pero quiza es más valuoso que el usuario sepa que hay tablas de equivalencias, así la proxima vez no tendrá de volver a preguntar una duda como esa y aprendera mucho mas.
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.340
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Me refiero al comentario de que es para Apple... Copiaria el mensaje original de prosk8er pero no parece que seas capaz de entenderlo. No seria la 1 vez que viese a alguien que esta programando asm sin saber para que y es importante al principio tener claro para que tipo de arquitectura se hace..ya que sinó después vienen los lios padres. Si, y veo que sabes cual es. Almenos he aportado un ejemplo para la arquitectura de micros de la familia XX51 y su equivalente OPCODE del comando MUL. No me dedico a decir sarnezes de Apple. Seguro que el mejor aporte seria decirle lo que equivale los opcodes que a puesto. Ahi mismo en lo que el dejo en su primer mensaje explica ESOS opcodes por los cuales pregunto. Seguro que tu ejemplo le sirvio mas 
|
|
|
|
|
En línea
|
|
|
|
skapunky
Electronik
Colaborador
Desconectado
Mensajes: 1.222
www.killtrojan.es
|
Esta preguntando que significan los opcodes: 1000:A9 C8 8D 48 06 - Paso de perder el tiempo discutiendo contigo, seguramente prosk8er se ha hecho una idea. Si tienes algun problema por MP o escribele a el-brujo explicandole tus penas. Si no lo entiendes me avisas y ya miraremos con algun admin que ayuda te podemos ofrecer. 1 saludo.
|
|
|
|
|
En línea
|
|
|
|
Eternal Idol N&P
Desconectado
Mensajes: 1.340
Assembly (x86/x64), C/C++, Kernel Mode (WDM/WDF)
|
Esta preguntando que significan los opcodes: Como dije, copiar el mensaje seria inutil, esta claro que tu capacidad de comprension es muy limitada. - Paso de perder el tiempo discutiendo contigo, seguramente prosk8er se ha hecho una idea. Perfecto, ni que pudiera obtener algo con un minimo sentido de este intercambio pero es cierto, seguramente ya se habia hecho una idea desde el momento en que se le respondio lo que pregunto. Si tienes algun problema por MP o escribele a el-brujo explicandole tus penas. Si no lo entiendes me avisas y ya miraremos con algun admin que ayuda te podemos ofrecer. Aplicate el cuento.
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|