Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ljmp start
- org 0100h
- start:
- //punkt 6:
- ;wypelnienie 10 komórek pamieci
- mov a,#01h;
- mov dptr,#2000h;
- movx @dptr,a;
- mov a,#02h;
- inc dptr;
- movx @dptr,a;
- mov a,#01h;
- inc dptr;
- movx @dptr,a;
- mov a,#08h;
- inc dptr;
- movx @dptr,a;
- mov a,#06h;
- inc dptr;
- movx @dptr,a;
- mov a,#03h;
- inc dptr;
- movx @dptr,a;
- mov a,#07h;
- inc dptr;
- movx @dptr,a;
- mov a,#04h;
- inc dptr;
- movx @dptr,a;
- mov a,#00h;
- inc dptr;
- movx @dptr,a;
- mov a,#05h;
- inc dptr;
- movx @dptr,a;
- mov r6, #0 //min
- mov r7, #0 //max
- mov r0,#09h; ;r0 - zmienna zarzadzajaca petla
- petla: ;poczatek petli
- mov dptr,#02000h; ;Zapisanie do dptr miejsca w którym zaczyna sie 'tablica'
- movx a,@dptr; ;Zapisanie wartosci z komórki pamieci wskazywanej przez dptr do akumulatora
- mov r2,a; ;Zapisanie wartosci akumulatora w rejestrze r2
- inc dptr; ;przesuniecie wskaznika na nastepna komórke pamieci
- //w r2 oraz akum. jest aktalna wartosc z tablicy (przetwarzana)
- //sprawdzamy warunki
- subb a,r7; ; w tej i dwóch nastepnych liniach porownujemy wartosci w komorkach pamieci
- mov a,#00h;
- addc a,#00h; ;jesli wartosc akumulatora po wukonaniu tej operacji bedzie rowna 1 to znaczy ze komorki sa
- ;w zlej kolejnosci poniewaz odejmujac r2 od r3 uzyskamy zaporzyczenie 1 gdy r2>r3
- jnz zmien_max;
- powrot:
- dec r0; ;dekrementujemy r1
- mov a,r0; ;przepisujemy r1 do akumulatora
- // dec r0;
- jnz petla; ;jesli akumulator(czyli r0) jest rózne od zera to skaczemy do poczatku petli, jesli nie to konczymy wykonywanie petli
- zmien_max: ;kod odpowiedzialny za wymiane wartosci komorek
- mov a,r2;
- mov r7, a; //zapis do r7 nowego maxa
- jnz powrot; ;wracamy do petli
- nop
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement