Advertisement
Guest User

Untitled

a guest
May 5th, 2016
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. \\JC Skok, jeżeli przeniesienie 72h
  2. \\JZ Skok, jeżeli zero 74h
  3. \\JNO Skok, jeżeli brak przepełnienia 71h
  4.  
  5. link l1: ct
  6. link l2: rdm
  7.  
  8. link ra: 0,1,2,z
  9. link rb: 8,9,10,z
  10.  
  11. equ ax:r0
  12. equ cx:r1
  13. equ dx:r2
  14. equ bx:r3
  15. equ sp:r4
  16. equ bp:r5
  17. equ si:r6
  18. equ ddi:r7
  19. equ cs:r8
  20. equ ss:r9
  21. equ ds:r10
  22. equ es:r11
  23. equ ip:r12
  24. equ pom1:r13
  25. equ pom2:r14
  26. equ rr:r15
  27.  
  28. accept cs:4567h
  29. accept ip:8000h
  30.  
  31. accept cx:0005h
  32. accept dx:5200h
  33. accept si:9600h
  34. accept ax:0000h
  35. accept bx:000Fh
  36.  
  37. accept ss:0002h
  38. accept sp:0001h
  39.  
  40. accept bp:0000h
  41.  
  42. \69XX = nope \\1001 0001 0000 0010 // 5X - push 4X-INC 9X-XCHNG
  43. dw 4D670h:6900h
  44. , 40FFh
  45. , 4BAAh
  46. , E2FEh
  47. , E302h
  48. , 4100h
  49. , 4100h
  50. , 5000h
  51. , 5300h
  52. , 5100h
  53. , 5800h
  54. , 5B00h
  55. , 5900h
  56. , 9100h
  57. , 4900h
  58. , E3F6h
  59. , 6900h
  60.  
  61. dw 00020h:ffffh,0021h,0001h
  62. macro mov reg1,reg2:{or reg1,reg2,z;}\podres leszek jest reg2
  63. macro inc reg1:{add reg1,0001h,reg1,z; load rm,flags;}\podres leszek zdal +1
  64. macro dec reg1:{sub reg1,reg1,0,z; load rm,flags;}\podres leszek nie zdal -1
  65. \\ 69 - nope 4(0-7) - inc 4(8-F)-dec 90-xchng 5(0-7)-push 5(8-F)-pop
  66. \\72 jc 74 jz E2 loop E3 JCXZ
  67.  
  68. odczyt
  69. {mov pom1,cs;}
  70. {mov rq,ip;}
  71. {cjs nz,obadfiz;}
  72. {and nil,pom1,pom1;oey;ewl;}
  73. {and nil,pom2,pom2;oey;ewh;}
  74. {R; or rr,bus_d,z;cjp rdm,cp;}
  75. \\dekodowanie
  76.  
  77. \\nope czyli nic
  78. {and rq,rr,FF00h;}
  79. {xor nil,rq,6900h; load rm,flags;}
  80. {cjp rm_z, nope;}
  81.  
  82. {and rq,rr,F800h;} \\ 1111 1000 0000 0000
  83. {xor nil,rq,4000h; load rm,flags;} \\ XXXX X000 0000 0000
  84. {cjp rm_z, incc;} \\
  85.  
  86. {and rq,rr,F800h;} \\ 1111 1000 0000 0000
  87. {xor nil,rq,4800h; load rm,flags;} \\ XXXX X000 0000 0000
  88. {cjp rm_z, decc;} \\
  89.  
  90. {and rq,rr,F800h;}
  91. {xor nil,rq,9000h; load rm,flags;}
  92. {cjp rm_z, xchng;}
  93.  
  94. {and rq,rr,F800h;}
  95. {xor nil,rq,5000h; load rm,flags;}
  96. {cjp rm_z, pusheen;}
  97.  
  98. {and rq,rr,F800h;}
  99. {xor nil,rq,5800h; load rm,flags;}
  100. {cjp rm_z, popeen;}
  101.  
  102. {and rq,rr,FF00h;}
  103. {xor nil,rq,7200h; load rm,flags;}
  104. {cjp rm_z, jc;}
  105.  
  106. {and rq,rr,FF00h;}
  107. {xor nil,rq,7400h; load rm,flags;}
  108. {cjp rm_z, jzz;}
  109.  
  110. {and rq,rr,FF00h;}
  111. {xor nil,rq,7100h; load rm,flags;}
  112. {cjp rm_z, jno;}
  113.  
  114. {and rq,rr,FF00h;}
  115. {xor nil,rq,E200h; load rm,flags;}
  116. {cjp rm_z, looper;}
  117.  
  118. {and rq,rr,FF00h;}
  119. {xor nil,rq,E300h; load rm,flags;}
  120. {cjp rm_z, JCXZ;}
  121.  
  122. {end;}
  123. nope
  124. {jmap zapispow;}
  125.  
  126. incc
  127. {or nil,rr,rr;oey;ewb;}
  128. {load rm,rn;}
  129. {add rb,rb,z,nz; load rm,flags;cem_c;}
  130. {load rn,rm;}
  131. {jmap zapispow;}
  132.  
  133. decc
  134. {or nil,rr,rr;oey;ewb;}
  135. {load rm,rn;}
  136. {sub rb,rb,z,z; load rm,flags;cem_c;}
  137. {load rn,rm;}
  138. {jmap zapispow;}
  139.  
  140. \\JCXZ
  141. JCXZ
  142. {xor nil,cx,0000h; load rm,flags;}
  143. {cjp rm_z, JCXZc;}
  144. {jmap zapispow;}
  145. JCXZc
  146. {and rq,rr,0080h;}
  147. {xor nil,rq,0080h; load rm,flags;}
  148. {cjp rm_z, JCXZp;}
  149. {jmap JCXZm;}
  150. JCXZp
  151. {and rq,rr,00FFh;}
  152. {or rq,rq,FF00h;}
  153. {add ip,ip,rq,z;}
  154. {jmap odczyt;}
  155. JCXZm
  156. {and rq,rr,00FFh;}
  157. {add ip,ip,rq,z;}
  158. {jmap odczyt;}
  159. \\
  160.  
  161. \\looper
  162. looper
  163. {dec cx;}
  164. {xor nil,cx,0000h; load rm,flags;}
  165. {cjp !rm_z, looperc;}
  166. {jmap zapispow;}
  167. looperc
  168. {and rq,rr,0080h;}
  169. {xor nil,rq,0080h; load rm,flags;}
  170. {cjp rm_z, looperp;}
  171. {jmap looperm;}
  172. looperp
  173. {and rq,rr,00FFh;}
  174. {or rq,rq,FF00h;}
  175. {add ip,ip,rq,z;}
  176. {jmap odczyt;}
  177. looperm
  178. {and rq,rr,00FFh;}
  179. {add ip,ip,rq,z;}
  180. {jmap odczyt;}
  181. \\
  182.  
  183. \\ jc
  184. jc
  185. {cjp rn_c, jcc;}
  186. {jmap zapispow;}
  187. jcc
  188. {and rq,rr,0080h;}
  189. {xor nil,rq,0080h; load rm,flags;}
  190. {cjp rm_z, jcp;}
  191. {jmap jcm;}
  192. jcp
  193. {and rq,rr,00FFh;}
  194. {or rq,rq,FF00h;}
  195. {add ip,ip,rq,z;}
  196. {jmap odczyt;}
  197. jcm
  198. {and rq,rr,00FFh;}
  199. {add ip,ip,rq,z;}
  200. {jmap odczyt;}
  201. \\end jc
  202.  
  203. \\ jzz
  204. jzz
  205. {cjp rn_c, jzzc;}
  206. {jmap zapispow;}
  207. jzzc
  208. {and rq,rr,0080h;}
  209. {xor nil,rq,0080h; load rm,flags;}
  210. {cjp rm_z, jzzp;}
  211. {jmap jzzm;}
  212. jzzp
  213. {and rq,rr,00FFh;}
  214. {or rq,rq,FF00h;}
  215. {add ip,ip,rq,z;}
  216. {jmap odczyt;}
  217. jzzm
  218. {and rq,rr,00FFh;}
  219. {add ip,ip,rq,z;}
  220. {jmap odczyt;}
  221. \\end jc
  222.  
  223. \\ jno
  224. jno
  225. {cjp !rn_v, jnoc;}
  226. {jmap zapispow;}
  227. jnoc
  228. {and rq,rr,0080h;}
  229. {xor nil,rq,0080h; load rm,flags;}
  230. {cjp rm_z, jnop;}
  231. {jmap jnom;}
  232. jnop
  233. {and rq,rr,00FFh;}
  234. {or rq,rq,FF00h;}
  235. {add ip,ip,rq,z;}
  236. {jmap odczyt;}
  237. jnom
  238. {and rq,rr,00FFh;}
  239. {add ip,ip,rq,z;}
  240. {jmap odczyt;}
  241. \\end jc
  242.  
  243. xchng
  244. {or nil,rr,rr;oey;ewb;}
  245. {or rq,rb,z;}
  246. {or rb,ax,z;}
  247. {or ax,rq,z;}
  248. {jmap zapispow;}
  249.  
  250. pusheen
  251. {or nil,rr,rr;oey;ewb;}
  252. {dec sp;}
  253. {cjs rm_c, heilss;}
  254. {mov pom1,ss;}
  255. {mov rq,sp;}
  256. {cjs nz,obadfiz;}
  257. {and nil,pom1,pom1;oey;ewl;}
  258. {and nil,pom2,pom2;oey;ewh;}
  259. {W ; or nil,z,rb;oey;cjp rdm,cp;}
  260. {jmap zapispow;}
  261.  
  262. popeen
  263. {or nil,rr,rr;oey;ewb;}
  264. {mov pom1,ss;}
  265. {mov rq,sp;}
  266. {cjs nz,obadfiz;}
  267. {and nil,pom1,pom1;oey;ewl;}
  268. {and nil,pom2,pom2;oey;ewh;}
  269. {R; or rb,bus_d,z;cjp rdm,cp;}
  270. {inc sp;}
  271. {cjs rm_z, heilss2;}
  272. {jmap zapispow;}
  273.  
  274. heilss
  275. {dec ss;}
  276. {and sp,sp,000Fh;}
  277. {crtn nz;}
  278.  
  279. heilss2
  280. {add ss,1000h,ss,z; load rm,flags;}
  281. {crtn nz;}
  282.  
  283. zapispow
  284. {inc ip;}
  285. {cjs rm_z,poprawcs; }
  286. {jmap odczyt;}
  287.  
  288. poprawcs
  289. {add cs,cs,1000h,z;}
  290. {crtn nz;}
  291.  
  292. obadfiz
  293. {load rm,z;}
  294. {and pom2,pom2,z;}
  295. {push nz,3;}
  296. {sll pom1,pom1;}
  297. {sl.25 pom2,pom2;}
  298. {rfct;}
  299. {load rm,z;}
  300. {add pom1,pom1,rq,z; load rm,flags;}
  301. {add pom2,pom2,0,rm_c;}
  302. {load rm,z;}
  303. {crtn nz;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement