miércoles, 22 de mayo de 2019

Direccionamiento directo e indirecto

Los modos de direccionamiento son un aspecto fundamental cuando se diseña la arquitectura de un procesador, porque definen muchas de las características que se ven reflejadas cuando es puesto en marcha, características que involucran: la ubicación de los datos sobre los que operan las instrucciones, el tamaño de las constantes, los registros que se pueden considerar como operandos en una instrucción y el alcance de los saltos.
En los microcontroladores AVR se observan 7 modos de direccionamiento:

  1. Directo por registro.
  • COM R1
  • INC   R2 
  • SER   R3
  1. Directo a Registro I/O.
  • OUT PORTB,R13
  • IN     R15, PINA
  1. Directo a memoria de datos(SRAM).
  • LDS R16,0x110
  • STS 0x0100,R5
  1. Indirecto a memoria de datos.
  • LD R5,Y
  • ST X,R11
  1. Indirecto a memoria de código(Flash Program).
  • LPM 
  • LPM R3,Z
  • SPM
  1. Inmediato.
  • ANDI R17,0xF3
  • SUBI  R19,0x12
  • ORI    R31,0x03
  • LDI    R16,0x25
  1. Direccionamiento en bifurcaciones.  
  • RJMP    -20
  • RCALL 32
  • BREQ   15
  • BRNE   -10
  • BRGE   10
  • IJMP
  • ICALL
  • JMP
  • CALL

En la imagen se muestra algunas transferencias de datos.

Transferencia de datos
  • Se puede observar que las transferencias directas usa direcciones de memoria de manera directa.
  • Las transferencias indirectas hacia la memoria de datos usa a los apuntadores X,Y,Z. 
  • las transferencias indirectas hacia la memoria de programa(FLASH) únicamente se puede usar el apuntador Z con las instrucciones LPM,SPM.
Algunos AVR tienen 160 registros de I/O extendidos por ejemplo el Atmega 328P, Atmega88, Atmega168,Atmega 8U2/16U2/32U2 entre otro , aquí se encuentran registros como EIMSK,EICRA(registros de interrupción externa) entre otros . Pero en el caso de los atmega 32 no tienen estos registros E/S extendidos por ello la memoria SRAM interna empieza desde 60 hex hasta RAMEND(085F).


No hay comentarios:

Publicar un comentario

Uso del firmware original de la grabadora USBasp AVR en MX-USBASP (clon chino)

Te vendieron un USBisp pensado que es un USBasp?? Hace 2 meses compré un "USBasp" fui a probarlo y no funcionó....pensé me estafar...