비트 수학 루틴을위한 F84 16>

M

mypooka

Guest
<img src="http://www.edaboard.com/images/smiles/icon_lol.gif" alt="웃음" border="0" />아마도 이들은 사람들이 새로운 몇 가지 유용합니다
난 수학을 설정 이들 16f84 위해 루틴

16 비트 수학 부문, 뺄셈, 곱셈!
희망이 도움이 누군가!목록 피 = 16F84
포함 ""p16F84.inc
;
;
CBLOCK 0x0C
ACCaLO
ACCaHI

ACCbLO
ACCbHI

ACCcLO
ACCcHI

ACCdLO
ACCdHI
온도
기호
ENDC
;
;
;************************************************* ******************
; 더블 정밀 사업부
;************************************************* ******************
; ACCb에 대한 테스트 및 가치에 ACCa 상수로드
;-------------------
오를 org에서

movlw의 오
movwf ACCaHI; 나누는 번호!
movlw 디부 10 '; 후 도망가!로드 ACCa = FF로 = D15
movwf ACCaLO
;
movlw 015
movwf ACCbHI가; 수를 나눌 수 있습니다!
movlw의 07C; 결과의 분열도
movwf ACCbLO;로드 예 : 157C = d5500
;---------------
전화 D_divS; ACCC에 남은
; remander = 63
고토 그만 그만
;
;-------------
D_divS
통화 설정
clrf ACCcHI
clrf ACCcLO
dloop bcf 상태으로 C
rlf의 ACCdLO,여
rlf ACCdHI,여
rlf의 ACCcLO,여
rlf ACCcHI,여
movf ACCaHI, 승
subwf ACCcHI, 승;> 수표면 C
btfss 상태, 지
고토 nochk
movf ACCaLO, 승
subwf ACCcLO, 승, LSB를 MSB가 있는지 확인 후 평등한
C가; 휴대 설정하면 C>, nochk 상태 btfss
고토 nogo
movf ACCaLO, 승;으로 캘리포니아 C
subwf ACCcLO,여
btfss 상태으로 C
decf ACCcHI,여
movf ACCaHI, 승
subwf ACCcHI,여
bsf 상태는으로 C;) (결과를 교대로 b 1
nogo rlf ACCbLO,여
rlf ACCbHI,여
decfsz 온도,여; 루프 검사까지 모든 비트가
고토 dloop
;
retlw 0
;************************************************* ******************
;
설정은 0x10을 movlw; 16 교대를
movwf 온도
movf ACCbHI, 승; 이동 ACCb ACCd에
movwf ACCdHI
movf ACCbLO, 승
movwf ACCdLO
clrf ACCbHI
clrf ACCbLO
retlw 0


;************************************************* ***************목록 피 = 16F84
포함 ""p16F84.inc

CBLOCK 0x0C

온도
ACCaLO은, 제품 불렀다!
ACCaHI

ACCbLO
ACCbHI; 처음 엑스 번호

ACCcLO; 두 번째 숫자는!
ACCcHI

ENDC

오를 org에서
;*************************************************
; 증식 하위 rutine!
;*************************************************
고토 4달러
clrf ACCaLO
clrf ACCaHI
NOP
NOP

clrf ACCaLO
clrf ACCaHI

movlw의 0x0A
movwf ACCbLO; 첫 번째 숫자의 낮은 8bits
movlw의 0x00
movwf ACCbHI; 첫 번째 숫자의 상위 8bits

movlw의 0x6F
movwf ACCcLO 두 번째 숫자의 낮은 8bits
movlw의 0x19
movwf ACCcHI 두 번째 숫자의 상위 8bits

movlw .16; 운영 비트 16
movwf 온도

여기에 각 비트 루프 루프;

rrf ACCbHI, f를; 시프트 배율기 다운
rrf의 ACCbLO, f를; 하나씩

btfss 상태으로 C; 추가하는 경우, 설정 비트가됩니다
고토 건너뛰기;에 피승수
; "제품"
movf ACCcHI, 우
addwf ACCaHI, f를
movf ACCcLO, 우
addwf ACCaLO, f를
btfsc 상태으로 C
incf ACCaHI, f를

스킵 및 피승수 해봐 최대
bcf 상태으로 C; 루프 주변
rlf의 ACCcLO, f를
rlf ACCcHI, f를

decfsz 온도,여
고토 루프
;
; 결과 ACCaLO입니다 안에 ACCaHI

고토 그만 그만

끝목록 피 = 16F84
포함 ""p16F84.inc

CBLOCK 0x0C
온도
ACCaLO;
ACCaHI

ACCbLO
ACCbHI; 첫번째 숫자

ACCcLO; 두 번째 숫자는!
ACCcHI

ACCdLO
ACCdHI

ENDC

;************************************************* *
; 빼기 하위 rutine!
;************************************************* *
오를 org에서
;--------------------------
;에 대한 뺄셈 코드 테스트
;--------------------------

;--------------------

movlw의 0x8A
movwf ACCaHI; 예를 번호
movlw의 0x06
movwf ACCaLO

movlw의 0x8A
movwf ACCbHI
movlw의 0x0A
movwf ACCbLO
;-------------------

;----------
movf ACCaHI, 승, 빼기 하이 바이트 1
subwf ACCbHI, 승; 바 = C
movwf ACCcHI; 가게 안녕 결과
;----------

movf ACCaLO, 승, 빼기 낮은 바이트 다음
subwf ACCbLO, 승, 결과에 ACCbLO 가게
movwf ACCcLO; 가게 소호 결과

btfss 상태는으로 C; 세트를 들고 높은 바이트를하는 경우 12월하지 마십시오
decf ACCcHI,여

iorwf ACCcHI가 승; 제로를 확인 평등을위한
btfsc 상태, 지; 없다면, 제로 점프 오버
고토 EqualLess; 같음, 점프 코드
btfsc ACCcHI, 7h; 실행하는 경우, 번호는 부정적
고토 EqualLess; 여기면> 이동 B가!또, 점프 오버

대단한 고토 훌륭한; 여기면 <가자 B가!
;
; 결과 ACCcLO과 안에있는 ACCcHI

EqualLess

그만 고토가;



;
;

 

Welcome to EDABoard.com

Sponsor

Back
Top