nevoie de ajutor în acest cod

I

itachi012587

Guest
Salut!

Am găsit un cod în Internet, dar eu nu înţeleg de modul în care funcţionează de cod.Are cineva o idee despre modul în care funcţionează codul?Te rog să-mi explice în continuare.

Mulţumesc.;------------------------------------------------- ---------------------------
B2_BCD bcf STATUS, 0; clar de biţi să
movlw .16
numărului de movwf
R0 clrf
R1 clrf
R2 clrf
loop16 L_byte RLF, f
H_byte RLF, f
R2 RLF, f
R1 RLF, f
R0 RLF, f
,
numărului de decfsz, F; de rutină pentru conversia BCD
adjDEC goto
retlw 0
,
adjDEC R2 movlw
FSR movwf
apel adjBCD; nici o bancă de comutare, întotdeauna
;; Acces indirect de RAM
R1 movlw
FSR movwf
de apel adjBCD
,
R0 movlw
FSR movwf
de apel adjBCD
,
Du-te la loop16
,
adjBCD movlw 3
addwf 0, W
Temp movwf
Temp btfsc, 3; de încercare în cazul în care rezultatul> 7
indf movwf
movlw 30
addwf 0, W
Temp movwf
Temp btfsc, 7; de testare în cazul în care rezultatul> 7
indf movwf; salva ca MSD
retlw 0
;------------------------------------------------- ---------------------------
; Aranjaţi rezultatul ca cifre 1,2,3.
R1 bcdsplit movf, W; aduce ciuguli primul
andlw 0Fh; masca ciuguli de sus
movwf digit1; trimite pentru a afişa variabilă de rutină.
R2 movf, W; aduce cifre secundă!
andlw 0F0h; masca ciuguli mai mici.
movwf digit2; trimite pentru a afişa variabilă de rutină.
swapf digit2, F; după swaping!

R2 movf, W; Din nou aduce lowbyte
andlw 0Fh; masca ciuguli de sus
movwf digit3, trimite-l pentru a afişa variabilă de rutină
întoarce

 
La o privire rapidă, codul arata ca deţin un număr de trei cifre (eventual pe un 3-Seven Segment Display).

La o privire mai atentă: există 2 funcţii de pe codul de asamblare.

1.) B2_BCD - Cred că aceasta este o metoda de a converti un octet pentru a BCD.de exemplu: B2_BCD (0x14) = 0x20; Acest lucru are un adjBCD subrutina

2.) Bcdsplit - extragerea de trei cifre din două registre fişierSubrutina adjBCD este prost scrise.Im pare rau pentru autor.Am ataşat dosar de asamblare, în cod C pentru o mai bună undertand app.Cu toate acestea eu sunt putin confundat cu rutina adjBCD.<img src="http://images.elektroda.net/91_1216792643_thumb.jpg" border="0" alt="need help in this code" title="au nevoie de ajutor în acest cod"/>
 

Welcome to EDABoard.com

Sponsor

Back
Top