Ayuda con los comandos del ASM.
Soy nuevo con los PIC y hay cosas básicas que no entiendo.
Código:
ADDWF W. es Work donde guarda algún dato temporalmente. f y d, creo que es "f" significa fuente de los datos y "d" destino de los datos. ¿ME podrían ayudar si esto es así o es otra cosa? |
Hola,
No te podré ayudar en nada, pero, me llama la atención que crees que "f" es la fuente de los datos y "d" destino de los mismos. En español bien podría ser así, en inglés, he visto traducir "fuente" como "source", y "destino" como "target"... y ahora es cuando repito que de poco te habrá servido esto que digo... :( |
Diaaaablos!!. mira, no entiendo mucho lo que planteas compañero REHome, esas letras que llamas f, d y w, no se que representan realmente para ti, pero estuve leyendo y mecionabas las palabras "Acumulador", "Registros"..., y creo que de lo poco que se de ASM nunca he visto un registro llamado ni "f", ni "d" ni "w",...
bueno, puede que lo que te este diciendo no te sirva para nada o que ya conozcas esto pero por si acaso: mira, el microprocesador consta de varios registros, denominados, AX, BX, CX y DX , cada uno de ellos cumple una función en específico, que no las recuerdo ahora, pero usando estos registros(son como secciones del micro...) es que los programas hacen sus operaciones matemáticas y otras... entonces, para sumar dos valores se deben introducir sol operandos en los registros y mandar a operar al ordenador con un operador llamado ADD, mas o menos, mira este codiguito: Código:
mov ax, 100 // muevo para el registro ax, 100 MOV Destino, Fuente ADD Destino, Fuente ... es decir, destino en el primer caso sería donde almacenarás un nuevo valor, pude ser uno de los registros, si pongo: mov dx, 10h: lo que estoy haciendo es introducir en el registro dx el valor 10h... en el segundo caso, se hace una suma, por ejemplo mov ax, 10 add ax, 10 aqui se coloca en el registro ax el valor 10 y luego se le suma 10 más, al final el resultado se guarda en el registro Destino que es AX en este caso: otro ejemplo: Código:
mov ax, 150 saludos, aeff! |
Ya me dijeron la respuesta que yo quiero.
Cita:
Cita:
Cita:
En tu resultado da 300. Veo que te expresas muy bien en asm. Pues se parece mucho a los PIC. He dado 8085 en electrónica y se parece mucho al que mencionas. Muchas gracias por la ayuda. ¿Qué compilador es el más adecuado para manejar los procesadores 8085, 8086, 8088 cosas de estas? |
¿Qué crees que da en un PIC 16F84A?
Cita:
|
Cita:
Moves el contenido del registro W a la dirección hexa 10h Cargas 150 decimal en el registro W Moves el contenido del registro W a la dirección hexa 11h Moves el contenido del registro W a la dirección hexa 13h Moves el contenido de la dirección hexa 10h al registro W Le sumas lo que tenias en el registro W a la dirección hexa 11h y lo guardas en W Moves el contenido del registro W a la dirección hexa 13h Por lo tanto, tenes en: W = 300 decimal 10h = 150 decimal 11h = 150 decimal 13h = 300 decimal Saludos |
La franja horaria es GMT +2. Ahora son las 17:02:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi