Ja, dat klopt. Door TRISB compleet 0 te maken, maak je PORTB compleet uitgang. Je zet ze ook aan door 0xFF naar PORTB (0x06) te schrijven. Wat
Misschien is het een idee om een schema van je schakeling te plaatsen. Misschien zit er wel een fout in je schakeling.
Ik neem aan dat je in je ASM ook hebt aangegeven met welke PIC je werkt, je de include file voor de 627a ook daadwerkelijk in je code include en je de fuses ook allemaal instelt?
En wat Jochem ook al aangeeft, voorkom directe adressering waar mogelijk. Over een half jaar (of in mijn geval al over een week ) weet je niet meer welk register er op adres 0x06 zit. Als je dan ook nog eens code gaat schrijven voor andere PIC's gaat 't helemaal leuk worden, want dan kan er op 0x06 zomaar een ander register zitten (of in het geval van b.v. de 16F676 helemaal niets).
Als laatste, zorg dat je code altijd in een eindeloze loop draait. In dit geval niet van heel groot belang, maar het kan je in de toekomst heel veel werk schelen: het kan voorkomen dat je zoekt naar een 'bug' terwijl het probleem veroorzaakt wordt door je code die eindigt.
Jou code wordt dan dus als volgt:
pic asm code:
org 0x00
banksel TRISB
movlw 0x00
movwf TRISB
banksel PORTB
main
movlw 0xFF
movwf PORTB
goto main
end