你好 小弟使用本站的範例程式(乘法器)但是仍然跑不出所需的乘積 以下是小的簡單的程式 麻煩大家幫忙看看 謝謝大家
LIST p=16F877
#INCLUDE<p16F877.INC>
x equ 0x20
y equ 0x21
res_lo equ 0x22
res_hi equ 0x23
ORG 00H
BSF STATUS,RP0 ;切換到BANK1
CLRF TRISD ;定PORTD為輸出接腳
CLRF TRISC
BCF STATUS,RP0 ;切換到BANK0
; movlw 0xff
; movwf PORTD
main:
BCF STATUS,5
BCF STATUS,6
movlw B'10101010'
movwf x
movlw B'01010101'
movwf y
clrf res_lo
clrf res_hi
call ddd
bbb:
movf x,w
movwf res_hi;高位元放在res_hi movwf PORTC
MOVF res_lo;高位元放在res_lo
movwf PORTD
goto main
ddd: ;乘法器的副程式
btfsc y,0
goto l0
btfsc y,1
goto l1
btfsc y,2
goto l2
btfsc y,3
goto l3
btfsc y,4
goto l4
btfsc y,5
goto l5
btfsc y,6
goto l6
btfsc y,7
goto l7
clrf x
goto l8
l0:
rrf x,f
rrf res_lo,f
btfsc y,1
addwf x,w
l1:
rrf x,f
rrf res_lo,f
btfsc y,2
addwf x,w
l2:
rrf x,f
rrf res_lo,f
btfsc y,3
addwf x,w
l3:
rrf x,f
rrf res_lo,f
btfsc y,4
addwf x,w
l4:
rrf x,f
rrf res_lo,f
btfsc y,5
addwf x,w
l5:
rrf x,f
rrf res_lo,f
btfsc y,6
addwf x,w
l6:
rrf x,f
rrf res_lo,f
btfsc y,7
addwf x,w
l7:
rrf x,f
rrf res_lo,f
l8:
RETURN
END
;;;;;;;;=================================================================;;;;;;;;;;;