Estoy tratando de encontrar la dirección de 12 bits en hexadecimal, así como el banco de memoria que se está utilizando, mediante la última instrucción en las secuencias que se enumeran a continuación.
Antes de enumerar las secuencias, entiendo que la dirección de 12 bits utilizada debe ser 00da ffff ffff, donde d es 1 (resultado almacenado de nuevo en el registro), o 0 (resultado almacenado en WREG), y es 1 (usa BSR) o 0 (ignora BSR). Sin embargo, también he leído que la dirección de 12 bits se compone de 4 bits BSR y 8 bits de la instrucción ... ¿cuál es? ¿Se está utilizando la dirección 00da ffff ffff, o bbbb ffff ffff (donde las b indican el banco)?
La primera secuencia es:
MOVLW H'08'
MOVWF BSR
MOVF H'10',W
Como no incluí A (MOVF f, d, a), creo que esto ignora el BSR, por lo que diría que la dirección es 0000 0001 0000 o 0x010. Esto se almacenaría en el Banco 0.
La siguiente secuencia es
MOVLW H'08'
MOVWF BSR
MOVF H'10',W,A
Como incluí A aquí, debería usar los bits BSR para determinar el banco, lo que significa que la instrucción debería usar el Banco 8. Dicho esto, significa que la dirección es 00da ffff ffff = 0001 0001 0000 = 0x110, o que la dirección es 1000 0001 0000 = 0x810?