Help me translate subroutine from Assembly to Picbasic Pro

Status
Not open for further replies.

jojokatada

Full Member level 5
Joined
Jan 13, 2005
Messages
255
Helped
19
Reputation
38
Reaction score
4
Trophy points
1,298
Activity points
2,122
if portb high picbasic pro

hi could anyone help me to translate the subroutine in assembly to picbasic pro
i want to use pic16f877a and checking each bit of portb if it is high then porta corresponding bit set to high

here is the assembly subroutine

checking portb

btfsc portb, 0
bsf porta, 0
btfsc portb, 1
bsf porta, 1
btfsc portb, 2
bsf porta, 2
btfsc portb, 3
bsf porta, 3

return

appreciate for anyone could help
 

translate from assembly to picbasic

easy...
LOOP:
TRISA=$ff 'port a is input
TRISB=0 'portb is output
PORTB=PORTA
GOTO LOOP

Added after 27 seconds:

easy...

TRISA=$ff 'port a is input
TRISB=0 'portb is output
LOOP:
PORTB=PORTA
GOTO LOOP
 

Re: subroutine for picbasic

appreciate but that not a subroutine for picbasic pro and i want to check each individual pin not the whole port
 

Re: subroutine for picbasic

trisb=$FF
trisa=0

checking portb:
if portb.0=1 then porta.0=1
if portb.1=1 then porta.1=1 ; etc.
return

but it has no sense; if portb.0 returns to '0', porta.0 still remains on '1'.
 

Re: subroutine for picbasic

yo5oqa said:
trisb=$FF
trisa=0

checking portb:
if portb.0=1 then porta.0=1
if portb.1=1 then porta.1=1 ; etc.
return

but it has no sense; if portb.0 returns to '0', porta.0 still remains on '1'.


where do i put the endif ?
is it ok every end of if

if portb.0 =1 then porta.0 =1
endif
 

Re: subroutine for picbasic

If there is a single instruction after 'then', on the same line, you don't need 'endif';
... if you have more than one it is like this:
if portb.0=1 then
porta.0=1
portc.0=1
endif
if ... then
...
...
endif ; etc
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…