Advertisement
Guest User

zad2

a guest
Dec 12th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.79 KB | None | 0 0
  1. Warunek01: POB Liczba //0 nie jest pierwszą
  2. SOZ Niepierwsza
  3. ODE Jeden
  4. SOZ Niepierwsza // 1 tez nie jest pierwsza
  5.  
  6. 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
  7. DNS
  8. POB Liczba
  9. DNS
  10. SDP Reszta //po skoku do podprogramu, na szczycie stosu znajuje sie adres powrotu
  11. PZS
  12. SOZ Niepierwsza
  13. POB Licznik
  14. ODE Dwa
  15. SOM Pierwsza // pobieramy licznik i sprawdzamy czy jest >= 2 jesli nie to sprawdziliśmy wszyskie możliwe dzielniki i liczba jest pierwsza
  16. DOD Jeden // jezeli licznik >=2 dodajemy 1 żeby uzyskać licznik=licznik-1
  17. SOB Main // kolejny przebieg pętli
  18. Pierwsza: POB Jeden // jeżeli pierwsza w AK będzie 1, koniec programu
  19. STP
  20.  
  21. Niepierwsza: POB Jeden // jezeli niepierwsza w AK będzie 0, koniec proramu
  22. ODE Jeden
  23. STP
  24.  
  25. Reszta: PZS
  26. ŁAD Adr //ten adres pobieramy i ładujemy do zmiennej która go zapamieta
  27. PZS
  28. ŁAD Dzielna //pobieramy ze stosu liczbę i ładujemy do zmiennej
  29. PZS
  30. ŁAD Dzielnik //jak nazwa wskazuje
  31. POB Dzielna
  32.  
  33. LiczR: ODE Dzielnik // dzielenie przez odejmowanie
  34. SOZ Break // jezeli wyjdzie 0 to podzielna, trzeba wyjść z pętli
  35. SOM Break // jezeli wyjdzie minus to nie podzielna, trzeba wyjsć z pętli
  36. SOB LiczR // kolejne przejście pętli
  37.  
  38. Break: DNS //dodajemy na stos zawartość AK
  39. POB Adr
  40. DNS //pobieramy i dodajemy na stos adres powrotu z podprogramu
  41. PWR // wracamy z podprogramu
  42.  
  43.  
  44. Liczba: RST 7
  45. Licznik: RPA
  46. Jeden: RST 1
  47. Dwa: RST 2
  48. Adr: RPA
  49. Dzielna: RPA
  50. Dzielnik: RPA
  51. Maszyna W, sprawdzanie liczby pierwszej
  52.  
  53. ----------
  54.  
  55. //tablica ILE RAZY WYST liczba wieksza niz podana
  56. POB ZERO
  57. LAD I_WYST
  58. POB N
  59. PETLA: ODE ST1
  60. LAD LICZNIK
  61. SOM KONIEC
  62.  
  63. ET: POB TAB
  64. ODE WYST
  65. SOM IR
  66. SOZ DALEJ
  67.  
  68. POB I_WYST
  69. DOD ST1
  70. LAD I_WYST
  71.  
  72. DALEJ: POB ET
  73. DOD ST1
  74. LAD ET
  75. POB LICZNIK
  76. SOB PETLA
  77.  
  78. IR: SOB DALEJ
  79.  
  80.  
  81. KONIEC: POB I_WYST
  82. STP
  83.  
  84. LICZNIK: RPA
  85. ST1: RST 1
  86. N: RST 6
  87. //liczba ktora bedzie szukac ile razy wystepuje
  88. WYST: RST 6
  89. I_WYST: RPA
  90. ZERO: RST 0
  91.  
  92. TAB: RST 10
  93. RST 2
  94. RST 6
  95. RST 4
  96. RST 7
  97. RST 6
  98.  
  99. ----------
  100.  
  101. //tablica PODAJ MAX i wsadz do ostatniej komorki
  102. POB ZERO
  103. LAD MAX
  104. POB N
  105. PETLA: ODE ST1
  106. LAD LICZNIK
  107. SOM KONIEC
  108.  
  109. ET: POB TAB
  110. LAD POM
  111. ODE MAX
  112. SOM IR
  113. POB POM
  114. LAD MAX
  115.  
  116. DALEJ: POB ET
  117. DOD ST1
  118. LAD ET
  119. POB LICZNIK
  120. SOB PETLA
  121.  
  122. IR: SOB DALEJ
  123.  
  124. KONIEC: POB MAX
  125. DNS
  126. STP
  127.  
  128. ZERO: RST 0
  129. LICZNIK: RPA
  130. ST1: RST 1
  131. N: RST 6
  132. MAX: RPA
  133. POM: RPA
  134. TAB: RST 10
  135. RST 22
  136. RST 6
  137. RST 4
  138. RST 7
  139. RST 16
  140.  
  141. ----------
  142.  
  143. //tablica PODAJ MIN i wsadz do najm komorki +/-
  144. POB TAB
  145. LAD MIN
  146. POB N
  147. PETLA: ODE ST1
  148. LAD LICZNIK
  149. SOM KONIEC
  150.  
  151. ET: POB TAB
  152. LAD POM
  153. ODE MIN
  154. SOM M_W
  155.  
  156. DALEJ: POB ET
  157. DOD ST1
  158. LAD ET
  159. POB LICZNIK
  160. SOB PETLA
  161.  
  162. M_W: POB POM
  163. LAD MIN
  164. SOB DALEJ
  165.  
  166. KONIEC: POB MIN
  167. //do najm komorki cos tu
  168. STP
  169.  
  170. LICZNIK: RPA
  171. ST1: RST 1
  172. N: RST 6
  173. MIN: RPA
  174. POM: RPA
  175. TAB: RST 10
  176. RST 22
  177. RST 6
  178. RST 1
  179. RST 7
  180. RST 16
  181.  
  182. ----------
  183.  
  184. //tablica ILE RAZY COS WYSTEPUJE
  185. POB ZERO
  186. LAD I_WYST
  187. POB N
  188. PETLA: ODE ST1
  189. LAD LICZNIK
  190. SOM KONIEC
  191.  
  192. ET: POB TAB
  193. ODE WYST
  194. SOZ IR
  195.  
  196. DALEJ: POB ET
  197. DOD ST1
  198. LAD ET
  199. POB LICZNIK
  200. SOB PETLA
  201.  
  202. IR: POB I_WYST
  203. DOD ST1
  204. LAD I_WYST
  205. SOB DALEJ
  206.  
  207.  
  208. KONIEC: POB I_WYST
  209. STP
  210.  
  211. LICZNIK: RPA
  212. ST1: RST 1
  213. N: RST 6
  214. //liczba ktora bedzie szukac ile razy wystepuje
  215. WYST: RST 6
  216. I_WYST: RPA
  217. ZERO: RST 0
  218.  
  219. TAB: RST 10
  220. RST 2
  221. RST 6
  222. RST 4
  223. RST 5
  224. RST 6
  225.  
  226. ----------
  227.  
  228. //tablica ILE RAZY COS WYSTEPUJE liczba mniejsza niz podana
  229. POB ZERO
  230. LAD I_WYST
  231. POB N
  232. PETLA: ODE ST1
  233. LAD LICZNIK
  234. SOM KONIEC
  235.  
  236. ET: POB TAB
  237. ODE WYST
  238. SOM IR
  239.  
  240. DALEJ: POB ET
  241. DOD ST1
  242. LAD ET
  243. POB LICZNIK
  244. SOB PETLA
  245.  
  246. IR: POB I_WYST
  247. DOD ST1
  248. LAD I_WYST
  249. SOB DALEJ
  250.  
  251.  
  252. KONIEC: POB I_WYST
  253. STP
  254.  
  255. LICZNIK: RPA
  256. ST1: RST 1
  257. N: RST 6
  258. //liczba ktora bedzie szukac ile razy wystepuje
  259. WYST: RST 6
  260. I_WYST: RPA
  261. ZERO: RST 0
  262.  
  263. TAB: RST 10
  264. RST 2
  265. RST 6
  266. RST 4
  267. RST 7
  268. RST 6
  269.  
  270. ----------
  271.  
  272. [Opcje]
  273. Połączenie=1
  274. Inkrementacja=0
  275. Logiczne=0
  276. Arytmetyczne=0
  277. Stos=1
  278. RejestrX=0
  279. RejestrY=0
  280. Przerwania=0
  281. Wejście=0
  282. Znaczniki=0
  283. Adres=5
  284. Kod=4
  285. [Rozkazy]
  286. Liczba=12
  287. Nazwa1=stp
  288. Nazwa2=dod
  289. Nazwa3=ode
  290. Nazwa4=pob
  291. Nazwa5=lad
  292. Nazwa6=sob
  293. Nazwa7=som
  294. Nazwa8=soz
  295. Nazwa9=dns
  296. Nazwa10=pwr
  297. Nazwa11=pzs
  298. Nazwa12=sdp
  299. [stp]
  300. Linie=5
  301. Linia1=// zakończenie programu
  302. Linia2=ROZKAZ STP;
  303. Linia3=Argumenty 0;
  304. Linia4=czyt wys wei il;
  305. Linia5=stop;
  306. [dod]
  307. Linie=5
  308. Linia1=// (Ak)+((Ad))->Ak
  309. Linia2=ROZKAZ DOD;
  310. Linia3=czyt wys wei il;
  311. Linia4=wyad wea;
  312. Linia5=czyt wys weja dod weak wyl wea;
  313. [ode]
  314. Linie=5
  315. Linia1=// (Ak)-((Ad))->Ak
  316. Linia2=ROZKAZ ODE;
  317. Linia3=czyt wys wei il;
  318. Linia4=wyad wea;
  319. Linia5=czyt wys weja ode weak wyl wea;
  320. [pob]
  321. Linie=5
  322. Linia1=// ((Ad))->Ak
  323. Linia2=ROZKAZ POB;
  324. Linia3=czyt wys wei il;
  325. Linia4=wyad wea;
  326. Linia5=czyt wys weja przep weak wyl wea;
  327. [lad]
  328. Linie=5
  329. Linia1=// (Ak)->(Ad)
  330. Linia2=ROZKAZ LAD;
  331. Linia3=czyt wys wei il;
  332. Linia4=wyad wea wyak wes;
  333. Linia5=pisz wyl wea;
  334. [sob]
  335. Linie=5
  336. Linia1=// skok bezwarunkowy
  337. Linia2=ROZKAZ SOB;
  338. Linia3=Argumenty 1;
  339. Linia4=czyt wys wei il;
  340. Linia5=wyad wea wel;
  341. [som]
  342. Linie=6
  343. Linia1=// skok gdy (AK) < 0
  344. Linia2=ROZKAZ SOM;
  345. Linia3=czyt wys wei il;
  346. Linia4=JEZELI Z TO @ujemne GDY NIE @dodatnie;
  347. Linia5=@ujemne wyad wea wel KONIEC;
  348. Linia6=@dodatnie wyl wea;
  349. [soz]
  350. Linie=6
  351. Linia1=// skok gdy (AK) = 0
  352. Linia2=ROZKAZ SOZ;
  353. Linia3=czyt wys wei il;
  354. Linia4=JEZELI zak TO @zero GDY NIE @niezero;
  355. Linia5=@zero wyad wea wel KONIEC;
  356. Linia6=@niezero wyl wea;
  357. [dns]
  358. Linie=6
  359. Linia1=rozkaz dns;
  360. Linia2=argumenty 0;
  361. Linia3=czyt wys wei il;
  362. Linia4=dws;
  363. Linia5=wyws wea wyak wes;
  364. Linia6=pisz wyl wea;
  365. [pwr]
  366. Linie=5
  367. Linia1=rozkaz pwr;
  368. Linia2=argumenty 0;
  369. Linia3=czyt wys wei il;
  370. Linia4=wyws wea iws;
  371. Linia5=czyt wys as wea wel;
  372. [pzs]
  373. Linie=5
  374. Linia1=rozkaz pzs;
  375. Linia2=argumenty 0;
  376. Linia3=czyt wys wei il;
  377. Linia4=wyws wea iws;
  378. Linia5=czyt wys weja przep weak wyl wea;
  379. [sdp]
  380. Linie=6
  381. Linia1=rozkaz sdp;
  382. Linia2=argumenty 1;
  383. Linia3=czyt wys wei il;
  384. Linia4=dws;
  385. Linia5=wyws wea wyls wes;
  386. Linia6=pisz wyad wel wea;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement