математика практики за F84

M

mypooka

Guest
<img src="http://www.edaboard.com/images/smiles/icon_lol.gif" alt="Райски" border="0" />Може би те са полезни за някои по-нови хора
аз поставям тези практики математика за 16F84

16BIT математика разделяне, изваждане, умножение!
Надявам се тези помогне на някой!списък P = 16F84
включва "p16F84.inc"
;
;
CBLOCK 0x0C
ACCaLO
ACCaHI

ACCbLO
ACCbHI

ACCcLO
ACCcHI

ACCdLO
ACCdHI
Temp
Регистрация
ENDC
;
;
;************************************************* ******************
; Двоен Точност дивизия
;************************************************* ******************
; Заредете постоянни стойности на ACCA & ACCb за изпитване
;-------------------
Org 0h

movlw 0h
movwf ACCaHI; разделителната номер!
movlw d'10 ', след бягай!товари ACCA = FF = D15
movwf ACCaLO
;
movlw 015
movwf ACCbHI; броят да се разделят!
movlw 07C; също е резултат от разделянето
movwf ACCbLO; натоварване например: 157C = d5500
;---------------
повикване D_divS; остатъка в ККРБК
; Remander = 63
спрете спре Гото
;
;-------------
D_divS
покана за настройка
clrf ACCcHI
clrf ACCcLO
dloop ФБК СТАТУТ, С
rlf ACCdLO, F
rlf ACCdHI, F
rlf ACCcLO, F
rlf ACCcHI, F
movf ACCaHI, W
subwf ACCcHI, W; проверете дали> C
btfss СТАТУС, Z
Отидох в nochk
movf ACCaLO, W
subwf ACCcLO, W; ако MSB равен след проверка LSB
nochk btfss СТАТУС, C; да определя, ако в> един
Отидох в nogo
movf ACCaLO, W; ва в C
subwf ACCcLO, F
btfss СТАТУТ, С
ДЕГФ ACCcHI, F
movf ACCaHI, W
subwf ACCcHI, F
BSF STATUS, C; преминаване от 1 в б (резултат)
nogo rlf ACCbLO, F
rlf ACCbHI, F
decfsz Temp, F; линия, докато всички битове проверени
Отидох в dloop
;
retlw 0
;************************************************* ******************
;
настройка movlw 0x10; в продължение на 16 смени
movwf Temp
movf ACCbHI, W; ход ACCb да ACCd
movwf ACCdHI
movf ACCbLO, W
movwf ACCdLO
clrf ACCbHI
clrf ACCbLO
retlw 0

КРАЙ
;************************************************* ***************списък P = 16F84
включва "p16F84.inc"

CBLOCK 0x0C

Temp
ACCaLO; се нарича продукт!
ACCaHI

ACCbLO
ACCbHI; първо х броя

ACCcLO; втори номер!
ACCcHI

ENDC

Org 0h
;*************************************************
; Размножават rutine под!
;*************************************************
Отидох в 4 $
clrf ACCaLO
clrf ACCaHI
ноември
ноември

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 Temp

Loop; Loop Тук за всяка Bit

rrf ACCbHI, F; Shift определяне на коефициента
rrf ACCbLO, F; от една

btfss СТАТУС, C; Ако малко се определя, добавете
Отидох в Skip; на множимо на
; "Продукт"
movf ACCcHI, W
addwf ACCaHI, е
movf ACCcLO, W
addwf ACCaLO, е
btfsc СТАТУТ, С
incf ACCaHI, е

Skip; превключи на множимо и
ФБК СТАТУС, C; Loop Около
rlf ACCcLO, е
rlf ACCcHI, е

decfsz Temp, F
Отидох в Loop
;
; Резултатът е в ACCaHI, ACCaLO

спрете спре Гото

приключвамсписък P = 16F84
включва "p16F84.inc"

CBLOCK 0x0C
Temp
ACCaLO;
ACCaHI

ACCbLO
ACCbHI; първия брой

ACCcLO; втори номер!
ACCcHI

ACCdLO
ACCdHI

ENDC

;************************************************* *
; Изважда rutine под!
;************************************************* *
Org 0h
;--------------------------
; Тест код за изваждане
;--------------------------

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

movlw 0x8A
movwf ACCaHI; например номера
movlw 0x06
movwf ACCaLO

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

;----------
movf ACCaHI, W; Изваждане на високо Байт Първа
subwf ACCbHI, W; ба = C
movwf ACCcHI; магазин на високите резултати
;----------

movf ACCaLO, W; изважда Ниските Байт Следваща
subwf ACCbLO, W; съхранява в резултат ACCbLO
movwf ACCcLO; съхранява LO резултати

btfss СТАТУС, C; Не декември високо байт, ако изпълнява Комплект
ДЕГФ ACCcHI, F

iorwf ACCcHI, W; Проверка за равна на нула
btfsc СТАТУС, Z: Ако не нула, прескача
Отидох в EqualLess; равен с равен, Направо към Кодекса
btfsc ACCcHI, 7h; Ако брой е отрицателен, изпълнява
Отидох в EqualLess; ако A> B отидете тук!Иначе, прескача

Отидох в много големи, ако A <Б отидете тук!
;
; Резултати са в ACCcHI и ACCcLO

EqualLess

Отидох в спрете спиране;

приключвам

;
;

 
Czas zacząć wielkie budowanie i niszczenie! Jagex ogłasza premierę na Steamie wieloosobowej sieciowej strzelanki Block N Load, w której spryt jest tak samo ważny, jak celne oko.

Read more...
 

Welcome to EDABoard.com

Sponsor

Back
Top