Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include p16f887.inc
- RegA equ 0x25 ; bank0
- RegB equ 0x26 ;
- aux equ 0x27
- RegC equ 0xB0 ; 0x30 bank 1
- RegD equ 0xB1 ; 0x31 bank 1
- M equ 0x125 ;0x25 bank 2
- main:
- BCF STATUS,RP1
- BCF STATUS,RP0
- MOVLW D'100'
- MOVWF RegA
- MOVLW D'50'
- MOVWF RegB
- BSF STATUS,RP0 ;{01} bank1
- MOVLW D'200'
- MOVWF RegC
- MOVLW D'20'
- MOVWF RegD
- ADDWF RegC,0 ;d=0 w=D
- BSF STATUS,RP1
- BCF STATUS,RP0 ;{10} bank2
- MOVWF M ; M=RegC+RegD
- RRF M,1 ; M=M/2
- BCF STATUS,RP0
- BCF STATUS,RP1 ;{00} bank0
- MOVF RegA,0 ;d=0 w=A
- ADDWF RegB,0 ;d=0 w=w+RegB
- MOVWF aux
- RRF aux,0; d=0 w=(A+B)/2
- BSF STATUS,RP1 ;{10} bank2
- ADDWF M,1 ;d=1 M=w+M
- RRF M,1 ;d=1 M=M/2
- NOP
- end
Advertisement
Add Comment
Please, Sign In to add comment