Estou simulando o PIC12F675 (8 pinos) no MPLAB e MPASM (assembly).
Ao compilar está dando zero erros.
Ao simular no MPASM aparecem alguns comportamentos estranhos, que configuram erro. A instrução simples não surte efeito esperado.
Ex.1:
No banco 1, a direção do pino GP3 não muda para saída.
__Config _CP_OFF & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _EXTRC_OSC_NOCLKOUT & _MCLRE_OFF
...
#define STT STATUS
...
- Código: Selecionar todos
bsf STT, RP0 ; Banco 1
movlw b'11100101' ; Determina quais pinos são entradas e quais são saídas.
movwf TRISIO ; Entradas: GP5, GP2 e GP0. Saídas: GP4 e GP1.
bcf STT, RP0 ; Banco 0
TRISIO fica 00001101 e não 11100101. Bits 8, 7 e 6 não importam.
Ex.2:
#define Trans GPIO,GP4
...
- Código: Selecionar todos
bsf Trans ; Saída em ‘1’. Lógica invertida.
O bit GPIO,GP4 não sai de '0'. GP4 = 0
Ex.3:
#define VR GPIO,GP1
...
- Código: Selecionar todos
bsf VR
O bit GPIO,GP1 não sai de '0'. GP1 = 0
Já confirmei a nomenclatura GPIO, GP1, GP2, GP3, GP4 e GP5 com os respectivos endereços no arquivo P12F675.INC da Microchip e conferem. Também como a compilação não acusou erro, os nomes estão corretos.
Alguém sabe o que está ocorrendo?
MOR_AL