FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ayuda con los comandos del ASM.
Soy nuevo con los PIC y hay cosas básicas que no entiendo.
Código:
ADDWF Acción Suma el contenido del acumulador y el registro dado, y el resultado lo guarda en d Sintaxis ADDWF f,d Funcionamiento Add W to file register (Añade W al registro) Hexadecimal 07 ff Bits (OPCODE) 00 0111 dfff ffff Operación d = W + f (d puede ser W ó f). Descripción Esta instrucción suma el contenido de un registro específico al contenido de W donde f puede ser un registro cualquiera con un determinado valor. Comentarios Aunque ya conocemos el funcionamiento del bit d, lo repetiré de nuevo para el resto de instrucciones: - Si vale 1, el resultado se guarda en el registro f - Si vale 0, el resultado se guarda en el acumulador W 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?
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
#2
|
||||
|
||||
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... |
#3
|
||||
|
||||
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 add ax, 150 // le sumo al 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 mov dx, 150 add ax, dx saludos, aeff! |
#4
|
|||
|
|||
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?
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. Última edición por REHome fecha: 21-02-2008 a las 20:27:12. |
#5
|
|||
|
|||
¿Qué crees que da en un PIC 16F84A?
Cita:
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino. |
#6
|
||||
|
||||
Cargas 150 decimal en el registro W
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
__________________
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
linea de comandos y bpl | juanmdq | Varios | 8 | 25-01-2008 15:44:18 |
comandos de impresion | federicorl | Impresión | 4 | 07-09-2006 22:03:49 |
Ayuda con conexion a bases de datos desde linea de comandos | k_bron | Conexión con bases de datos | 3 | 31-08-2006 21:23:31 |
messenger por comandos | Cosgaya | Varios | 0 | 01-02-2006 12:58:17 |
Ejecutar comandos del DOS? | Carlos Arevalo | Varios | 3 | 12-11-2003 07:50:41 |
|