Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Część całkowita średniej arytmetycznej 9 liczb 16-bitowych:
- starsze equ X
- mlodsze equ Y
- LL equ starsze
- MM equ LL + 1
- HH equ MM + 1
- R0 mov #starsze
- R1 mov #mlodsze
- LL mov #0
- MM mov #0
- HH mov #0
- mean_ave:
- mov A, LL
- add A, @R0
- mov LL, A
- mov A, MM
- addc A, @R1
- mov MM, A
- mov A, HH
- addc A, #0 ;propagacja C do najstarszego bajtu
- mov HH, A
- inc R0
- inc R1
- djnz mean_ave, koniec
- integer:
- mov R6, #0; licznik ile razy zmieści się 9
- clr C
- minus:
- ;odjęcie od najmłodszego bajtu
- mov A, LL,
- subb A, #9
- mov LL, A
- mov A, MM
- subb MM, #0
- mov MM, A
- mov A, HH
- subb A, #0
- mov HH, A
- jc koniec
- inc R6
- jump minus
- koniec:
- ret
- Wyszukiwanie wzorca z sygnalizacją znalezienia:
- R1 mov #wzorzec
- R0 mov #szukane
- clr F_FLAG
- szukaj:
- mov A, @R0
- cjne A, R2, NOT_F
- setb F_FLAG
- ret
- NOT_F
- inc R0
- jmp szukaj
- Przeniesie N bajtów danych w pamięci zewnętrznej i adresy większe od 255:
- R6 mov #N
- R5 mov #HIGH_dst
- R6 mov #LOW_dst
- mov DPTR, #src_addr
- shift:
- movx A, @DPTR
- inc DPTR
- push DPH
- push DPL
- mov DPH, R5
- mov DPL, R6
- movx DPTR, @A
- inc DPTR
- mov R5, DPH
- mov R6, DPL
- pop DPH
- pop DPL
- djnz R6, shift
- Sortowanie w pamięci wewnętrznej N liczb
- sort:
- mov R7, #N-1
- mov R0, #adresStart
- mov R1, #adresStart+1
- clr FLAG
- cmp:
- mov A, @R1
- clr C
- subb A, @R0; jeśli C, to A > @R0
- jnc DALEJ
- mov A, @R1
- xch A, @R0
- mov @R1, A
- setb FLAG
- DALEJ:
- inc R0
- inc R1
- djnz R7, cmp
- jnb FLAG, KONIEC
- mov R7, #N-1
- clr FLAG
- jmp cmp
- koniec:
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement