I
itachi012587
Guest
Hei!
Löysin koodi Internetissä, mutta en ymmärrä, miten koodi toimii.Onko kellään ajatusta, miten koodi toimii?Selittäkää minulle edelleen.
Kiitos.;------------------------------------------------- ---------------------------
B2_BCD BCF asema, 0, selkeä tehdä vähän
movlw ,16
movwf count
clrf R0
clrf R1
clrf R2
loop16 rlf L_byte, f
rlf H_byte, f
rlf R2, f
rlf R1, f
rlf R0, f
;
decfsz määrä, f, rutiinia BCD muuntaminen
goto adjDEC
retlw 0
;
adjDEC movlw R2
movwf fsr
soita adjBCD, ei pankin vaihtaminen on aina
,, Epäsuora pääsy RAM
movlw R1
movwf fsr
call adjBCD
;
movlw R0
movwf fsr
call adjBCD
;
goto loop16
;
adjBCD movlw 3
addwf 0, W
movwf Temp
btfsc temp, 3, testi, jos tulos> 7
movwf indf
movlw 30
addwf 0, W
movwf Temp
btfsc temp, 7, testi, jos tulos> 7
movwf indf, jollei MSD
retlw 0
;------------------------------------------------- ---------------------------
; Järjestä tulos kuin numerot 1,2,3.
bcdsplit movf R1, w, tuo ensimmäinen napostella
andlw 0fH, peittää ylempi napostella
movwf digit1; Lähetä näyttää rutiinia muuttuja.
movf R2, w, tuo toinen numero!
andlw 0F0h, peittää alemman napostella.
movwf digit2; Lähetä näyttää rutiinia muuttuja.
swapf digit2, f, kun swaping!
movf R2, w, taas tuo lowbyte
andlw 0fH, peittää ylempi napostella
movwf digit3, lähetä se näyttää rutiini muuttuja
tuoton
Löysin koodi Internetissä, mutta en ymmärrä, miten koodi toimii.Onko kellään ajatusta, miten koodi toimii?Selittäkää minulle edelleen.
Kiitos.;------------------------------------------------- ---------------------------
B2_BCD BCF asema, 0, selkeä tehdä vähän
movlw ,16
movwf count
clrf R0
clrf R1
clrf R2
loop16 rlf L_byte, f
rlf H_byte, f
rlf R2, f
rlf R1, f
rlf R0, f
;
decfsz määrä, f, rutiinia BCD muuntaminen
goto adjDEC
retlw 0
;
adjDEC movlw R2
movwf fsr
soita adjBCD, ei pankin vaihtaminen on aina
,, Epäsuora pääsy RAM
movlw R1
movwf fsr
call adjBCD
;
movlw R0
movwf fsr
call adjBCD
;
goto loop16
;
adjBCD movlw 3
addwf 0, W
movwf Temp
btfsc temp, 3, testi, jos tulos> 7
movwf indf
movlw 30
addwf 0, W
movwf Temp
btfsc temp, 7, testi, jos tulos> 7
movwf indf, jollei MSD
retlw 0
;------------------------------------------------- ---------------------------
; Järjestä tulos kuin numerot 1,2,3.
bcdsplit movf R1, w, tuo ensimmäinen napostella
andlw 0fH, peittää ylempi napostella
movwf digit1; Lähetä näyttää rutiinia muuttuja.
movf R2, w, tuo toinen numero!
andlw 0F0h, peittää alemman napostella.
movwf digit2; Lähetä näyttää rutiinia muuttuja.
swapf digit2, f, kun swaping!
movf R2, w, taas tuo lowbyte
andlw 0fH, peittää ylempi napostella
movwf digit3, lähetä se näyttää rutiini muuttuja
tuoton