Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Warunek01: POB Liczba //0 nie jest pierwszą
- SOZ Niepierwsza
- ODE Jeden
- SOZ Niepierwsza // 1 tez nie jest pierwsza
- Main: ŁAD Licznik //w AK jest teraz liczba -1 po sprawdzeniu początkowych warunków, czyli maksymalny dzielnik, ładujemy to do zmiennej która będzie odliczać kolejne dzielnia
- DNS
- POB Liczba
- DNS
- SDP Reszta //po skoku do podprogramu, na szczycie stosu znajuje sie adres powrotu
- PZS
- SOZ Niepierwsza
- POB Licznik
- ODE Dwa
- SOM Pierwsza // pobieramy licznik i sprawdzamy czy jest >= 2 jesli nie to sprawdziliśmy wszyskie możliwe dzielniki i liczba jest pierwsza
- DOD Jeden // jezeli licznik >=2 dodajemy 1 żeby uzyskać licznik=licznik-1
- SOB Main // kolejny przebieg pętli
- Pierwsza: POB Jeden // jeżeli pierwsza w AK będzie 1, koniec programu
- STP
- Niepierwsza: POB Jeden // jezeli niepierwsza w AK będzie 0, koniec proramu
- ODE Jeden
- STP
- Reszta: PZS
- ŁAD Adr //ten adres pobieramy i ładujemy do zmiennej która go zapamieta
- PZS
- ŁAD Dzielna //pobieramy ze stosu liczbę i ładujemy do zmiennej
- PZS
- ŁAD Dzielnik //jak nazwa wskazuje
- POB Dzielna
- LiczR: ODE Dzielnik // dzielenie przez odejmowanie
- SOZ Break // jezeli wyjdzie 0 to podzielna, trzeba wyjść z pętli
- SOM Break // jezeli wyjdzie minus to nie podzielna, trzeba wyjsć z pętli
- SOB LiczR // kolejne przejście pętli
- Break: DNS //dodajemy na stos zawartość AK
- POB Adr
- DNS //pobieramy i dodajemy na stos adres powrotu z podprogramu
- PWR // wracamy z podprogramu
- Liczba: RST 7
- Licznik: RPA
- Jeden: RST 1
- Dwa: RST 2
- Adr: RPA
- Dzielna: RPA
- Dzielnik: RPA
- Maszyna W, sprawdzanie liczby pierwszej
- ----------
- //tablica ILE RAZY WYST liczba wieksza niz podana
- POB ZERO
- LAD I_WYST
- POB N
- PETLA: ODE ST1
- LAD LICZNIK
- SOM KONIEC
- ET: POB TAB
- ODE WYST
- SOM IR
- SOZ DALEJ
- POB I_WYST
- DOD ST1
- LAD I_WYST
- DALEJ: POB ET
- DOD ST1
- LAD ET
- POB LICZNIK
- SOB PETLA
- IR: SOB DALEJ
- KONIEC: POB I_WYST
- STP
- LICZNIK: RPA
- ST1: RST 1
- N: RST 6
- //liczba ktora bedzie szukac ile razy wystepuje
- WYST: RST 6
- I_WYST: RPA
- ZERO: RST 0
- TAB: RST 10
- RST 2
- RST 6
- RST 4
- RST 7
- RST 6
- ----------
- //tablica PODAJ MAX i wsadz do ostatniej komorki
- POB ZERO
- LAD MAX
- POB N
- PETLA: ODE ST1
- LAD LICZNIK
- SOM KONIEC
- ET: POB TAB
- LAD POM
- ODE MAX
- SOM IR
- POB POM
- LAD MAX
- DALEJ: POB ET
- DOD ST1
- LAD ET
- POB LICZNIK
- SOB PETLA
- IR: SOB DALEJ
- KONIEC: POB MAX
- DNS
- STP
- ZERO: RST 0
- LICZNIK: RPA
- ST1: RST 1
- N: RST 6
- MAX: RPA
- POM: RPA
- TAB: RST 10
- RST 22
- RST 6
- RST 4
- RST 7
- RST 16
- ----------
- //tablica PODAJ MIN i wsadz do najm komorki +/-
- POB TAB
- LAD MIN
- POB N
- PETLA: ODE ST1
- LAD LICZNIK
- SOM KONIEC
- ET: POB TAB
- LAD POM
- ODE MIN
- SOM M_W
- DALEJ: POB ET
- DOD ST1
- LAD ET
- POB LICZNIK
- SOB PETLA
- M_W: POB POM
- LAD MIN
- SOB DALEJ
- KONIEC: POB MIN
- //do najm komorki cos tu
- STP
- LICZNIK: RPA
- ST1: RST 1
- N: RST 6
- MIN: RPA
- POM: RPA
- TAB: RST 10
- RST 22
- RST 6
- RST 1
- RST 7
- RST 16
- ----------
- //tablica ILE RAZY COS WYSTEPUJE
- POB ZERO
- LAD I_WYST
- POB N
- PETLA: ODE ST1
- LAD LICZNIK
- SOM KONIEC
- ET: POB TAB
- ODE WYST
- SOZ IR
- DALEJ: POB ET
- DOD ST1
- LAD ET
- POB LICZNIK
- SOB PETLA
- IR: POB I_WYST
- DOD ST1
- LAD I_WYST
- SOB DALEJ
- KONIEC: POB I_WYST
- STP
- LICZNIK: RPA
- ST1: RST 1
- N: RST 6
- //liczba ktora bedzie szukac ile razy wystepuje
- WYST: RST 6
- I_WYST: RPA
- ZERO: RST 0
- TAB: RST 10
- RST 2
- RST 6
- RST 4
- RST 5
- RST 6
- ----------
- //tablica ILE RAZY COS WYSTEPUJE liczba mniejsza niz podana
- POB ZERO
- LAD I_WYST
- POB N
- PETLA: ODE ST1
- LAD LICZNIK
- SOM KONIEC
- ET: POB TAB
- ODE WYST
- SOM IR
- DALEJ: POB ET
- DOD ST1
- LAD ET
- POB LICZNIK
- SOB PETLA
- IR: POB I_WYST
- DOD ST1
- LAD I_WYST
- SOB DALEJ
- KONIEC: POB I_WYST
- STP
- LICZNIK: RPA
- ST1: RST 1
- N: RST 6
- //liczba ktora bedzie szukac ile razy wystepuje
- WYST: RST 6
- I_WYST: RPA
- ZERO: RST 0
- TAB: RST 10
- RST 2
- RST 6
- RST 4
- RST 7
- RST 6
- ----------
- [Opcje]
- Połączenie=1
- Inkrementacja=0
- Logiczne=0
- Arytmetyczne=0
- Stos=1
- RejestrX=0
- RejestrY=0
- Przerwania=0
- Wejście=0
- Znaczniki=0
- Adres=5
- Kod=4
- [Rozkazy]
- Liczba=12
- Nazwa1=stp
- Nazwa2=dod
- Nazwa3=ode
- Nazwa4=pob
- Nazwa5=lad
- Nazwa6=sob
- Nazwa7=som
- Nazwa8=soz
- Nazwa9=dns
- Nazwa10=pwr
- Nazwa11=pzs
- Nazwa12=sdp
- [stp]
- Linie=5
- Linia1=// zakończenie programu
- Linia2=ROZKAZ STP;
- Linia3=Argumenty 0;
- Linia4=czyt wys wei il;
- Linia5=stop;
- [dod]
- Linie=5
- Linia1=// (Ak)+((Ad))->Ak
- Linia2=ROZKAZ DOD;
- Linia3=czyt wys wei il;
- Linia4=wyad wea;
- Linia5=czyt wys weja dod weak wyl wea;
- [ode]
- Linie=5
- Linia1=// (Ak)-((Ad))->Ak
- Linia2=ROZKAZ ODE;
- Linia3=czyt wys wei il;
- Linia4=wyad wea;
- Linia5=czyt wys weja ode weak wyl wea;
- [pob]
- Linie=5
- Linia1=// ((Ad))->Ak
- Linia2=ROZKAZ POB;
- Linia3=czyt wys wei il;
- Linia4=wyad wea;
- Linia5=czyt wys weja przep weak wyl wea;
- [lad]
- Linie=5
- Linia1=// (Ak)->(Ad)
- Linia2=ROZKAZ LAD;
- Linia3=czyt wys wei il;
- Linia4=wyad wea wyak wes;
- Linia5=pisz wyl wea;
- [sob]
- Linie=5
- Linia1=// skok bezwarunkowy
- Linia2=ROZKAZ SOB;
- Linia3=Argumenty 1;
- Linia4=czyt wys wei il;
- Linia5=wyad wea wel;
- [som]
- Linie=6
- Linia1=// skok gdy (AK) < 0
- Linia2=ROZKAZ SOM;
- Linia3=czyt wys wei il;
- Linia4=JEZELI Z TO @ujemne GDY NIE @dodatnie;
- Linia5=@ujemne wyad wea wel KONIEC;
- Linia6=@dodatnie wyl wea;
- [soz]
- Linie=6
- Linia1=// skok gdy (AK) = 0
- Linia2=ROZKAZ SOZ;
- Linia3=czyt wys wei il;
- Linia4=JEZELI zak TO @zero GDY NIE @niezero;
- Linia5=@zero wyad wea wel KONIEC;
- Linia6=@niezero wyl wea;
- [dns]
- Linie=6
- Linia1=rozkaz dns;
- Linia2=argumenty 0;
- Linia3=czyt wys wei il;
- Linia4=dws;
- Linia5=wyws wea wyak wes;
- Linia6=pisz wyl wea;
- [pwr]
- Linie=5
- Linia1=rozkaz pwr;
- Linia2=argumenty 0;
- Linia3=czyt wys wei il;
- Linia4=wyws wea iws;
- Linia5=czyt wys as wea wel;
- [pzs]
- Linie=5
- Linia1=rozkaz pzs;
- Linia2=argumenty 0;
- Linia3=czyt wys wei il;
- Linia4=wyws wea iws;
- Linia5=czyt wys weja przep weak wyl wea;
- [sdp]
- Linie=6
- Linia1=rozkaz sdp;
- Linia2=argumenty 1;
- Linia3=czyt wys wei il;
- Linia4=dws;
- Linia5=wyws wea wyls wes;
- Linia6=pisz wyad wel wea;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement