por tcpipchip » 04 Ago 2007 16:09
Eu fiz um programa no CHFLASH em BASIC para ti...
PIC 16F877A
FREQ 4
OSCILLATOR CRYSTAL
BYTE a
a = a * a
Abaixo o codigo que ele gerou...
Espero que te ajude...
TCPIPCHIP
LIST P= 12F675
INCLUDE "P12F675.INC"
RADIX DEC
ORG 0X0000
CLRF STATUS
GOTO PROGRAM_START
AUX1_H EQU 0X20
AUX1_L EQU 0X21
AUX2_H EQU 0X22
AUX2_L EQU 0X23
AUX EQU 0X24
S0 EQU 0X25
S1 EQU 0X26
A EQU 0X27
MULU8
BCF STATUS, RP0
CLRF AUX1_H
MOVLW 0X08
MOVWF AUX2_H
MULU8_LOOP
BCF STATUS, C
BTFSS AUX1_L, 0
GOTO MULU8_SHIFT
MOVF AUX, W
ADDWF AUX1_H, F
MULU8_SHIFT
RRF AUX1_H, F
RRF AUX1_L, F
DECFSZ AUX2_H, F
GOTO MULU8_LOOP
MOVF AUX1_L, W
RETURN
PROGRAM_START
;
MOVF A, W
MOVWF S1
MOVF A, W
MOVWF AUX
MOVF S1, W
MOVWF AUX1_L
CALL MULU8
BCF STATUS, RP0
MOVWF A
END