tset5a.pp 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. {$ifdef fpc}
  2. {$packset 1}
  3. {$endif fpc}
  4. {$z1}
  5. type
  6. ta = set of 0..7;
  7. tb = set of 0..15;
  8. tc = set of 0..23;
  9. td = set of 0..31;
  10. te = set of 0..127;
  11. var
  12. r: packed record
  13. ve: te;
  14. vd: td;
  15. vc: tc;
  16. vb: tb;
  17. va: ta;
  18. b1,b2,b3: byte;
  19. end;
  20. begin
  21. r.b1 := $ff;
  22. r.b2 := $ff;
  23. r.b3 := $ff;
  24. r.va := [];
  25. r.vb := [];
  26. r.vc := [];
  27. r.vd := [];
  28. r.ve := [];
  29. r.va := [3..4];
  30. r.vb := r.va;
  31. if r.b1 <> $ff then
  32. halt(1);
  33. if r.va <> [3..4] then
  34. halt(1);
  35. if r.vb <> [3..4] then
  36. halt(1);
  37. if r.vc <> [] then
  38. halt(1);
  39. if r.vd <> [] then
  40. halt(1);
  41. if r.ve <> [] then
  42. halt(1);
  43. r.vc := r.va;
  44. if r.b1 <> $ff then
  45. halt(1);
  46. if r.va <> [3..4] then
  47. halt(1);
  48. if r.vb <> [3..4] then
  49. halt(1);
  50. if r.vc <> [3..4] then
  51. halt(1);
  52. if r.vd <> [] then
  53. halt(1);
  54. if r.ve <> [] then
  55. halt(1);
  56. r.vd := r.va;
  57. if r.b1 <> $ff then
  58. halt(1);
  59. if r.va <> [3..4] then
  60. halt(1);
  61. if r.vb <> [3..4] then
  62. halt(1);
  63. if r.vc <> [3..4] then
  64. halt(1);
  65. if r.vd <> [3..4] then
  66. halt(1);
  67. if r.ve <> [] then
  68. halt(1);
  69. r.ve := r.va;
  70. if r.b1 <> $ff then
  71. halt(1);
  72. if r.va <> [3..4] then
  73. halt(1);
  74. if r.vb <> [3..4] then
  75. halt(1);
  76. if r.vc <> [3..4] then
  77. halt(1);
  78. if r.vd <> [3..4] then
  79. halt(1);
  80. if r.ve <> [3..4] then
  81. halt(1);
  82. r.b1 := $ff;
  83. r.b2 := $ff;
  84. r.b3 := $ff;
  85. r.va := [];
  86. r.vb := [];
  87. r.vc := [];
  88. r.vd := [];
  89. r.ve := [];
  90. r.vb := [0,2,3];
  91. r.va := r.vb;
  92. if r.b1 <> $ff then
  93. halt(2);
  94. if r.va <> [0,2,3] then
  95. halt(2);
  96. if r.vb <> [0,2,3] then
  97. halt(2);
  98. if r.vc <> [] then
  99. halt(2);
  100. if r.vd <> [] then
  101. halt(2);
  102. if r.ve <> [] then
  103. halt(2);
  104. r.vc := r.vb;
  105. if r.b1 <> $ff then
  106. halt(2);
  107. if r.va <> [0,2,3] then
  108. halt(2);
  109. if r.vb <> [0,2,3] then
  110. halt(2);
  111. if r.vc <> [0,2,3] then
  112. halt(2);
  113. if r.vd <> [] then
  114. halt(2);
  115. if r.ve <> [] then
  116. halt(2);
  117. r.vd := r.vb;
  118. if r.b1 <> $ff then
  119. halt(2);
  120. if r.va <> [0,2,3] then
  121. halt(2);
  122. if r.vb <> [0,2,3] then
  123. halt(2);
  124. if r.vc <> [0,2,3] then
  125. halt(2);
  126. if r.vd <> [0,2,3] then
  127. halt(2);
  128. if r.ve <> [] then
  129. halt(2);
  130. r.ve := r.vb;
  131. if r.va <> [0,2,3] then
  132. halt(2);
  133. if r.vb <> [0,2,3] then
  134. halt(2);
  135. if r.vc <> [0,2,3] then
  136. halt(2);
  137. if r.vd <> [0,2,3] then
  138. halt(2);
  139. if r.ve <> [0,2,3] then
  140. halt(2);
  141. r.b1 := $ff;
  142. r.b2 := $ff;
  143. r.b3 := $ff;
  144. r.va := [];
  145. r.vb := [];
  146. r.vc := [];
  147. r.vd := [];
  148. r.ve := [];
  149. r.vc := [5,6,7];
  150. r.va := r.vc;
  151. if r.b1 <> $ff then
  152. halt(3);
  153. if r.va <> [5,6,7] then
  154. halt(3);
  155. if r.vc <> [5,6,7] then
  156. halt(3);
  157. if r.vb <> [] then
  158. halt(3);
  159. if r.vd <> [] then
  160. halt(3);
  161. if r.ve <> [] then
  162. halt(3);
  163. r.vb := r.vc;
  164. if r.b1 <> $ff then
  165. halt(3);
  166. if r.va <> [5,6,7] then
  167. halt(3);
  168. if r.vb <> [5,6,7] then
  169. halt(3);
  170. if r.vc <> [5,6,7] then
  171. halt(3);
  172. if r.vd <> [] then
  173. halt(3);
  174. if r.ve <> [] then
  175. halt(3);
  176. r.vd := r.vc;
  177. if r.b1 <> $ff then
  178. halt(3);
  179. if r.va <> [5,6,7] then
  180. halt(3);
  181. if r.vb <> [5,6,7] then
  182. halt(3);
  183. if r.vc <> [5,6,7] then
  184. halt(3);
  185. if r.vd <> [5,6,7] then
  186. halt(3);
  187. if r.ve <> [] then
  188. halt(3);
  189. r.ve := r.vc;
  190. if r.b1 <> $ff then
  191. halt(3);
  192. if r.va <> [5,6,7] then
  193. halt(3);
  194. if r.vb <> [5,6,7] then
  195. halt(3);
  196. if r.vc <> [5,6,7] then
  197. halt(3);
  198. if r.vd <> [5,6,7] then
  199. halt(3);
  200. if r.ve <> [5,6,7] then
  201. halt(3);
  202. r.b1 := $ff;
  203. r.b2 := $ff;
  204. r.b3 := $ff;
  205. r.va := [];
  206. r.vb := [];
  207. r.vc := [];
  208. r.vd := [];
  209. r.ve := [];
  210. r.vd := [1,3,5];
  211. r.va := r.vd;
  212. if r.b1 <> $ff then
  213. halt(4);
  214. if r.va <> [1,3,5] then
  215. halt(4);
  216. if r.vd <> [1,3,5] then
  217. halt(4);
  218. if r.vc <> [] then
  219. halt(4);
  220. if r.vb <> [] then
  221. halt(4);
  222. if r.ve <> [] then
  223. halt(4);
  224. r.vb := r.vd;
  225. if r.b1 <> $ff then
  226. halt(4);
  227. if r.va <> [1,3,5] then
  228. halt(4);
  229. if r.vb <> [1,3,5] then
  230. halt(4);
  231. if r.vd <> [1,3,5] then
  232. halt(4);
  233. if r.vc <> [] then
  234. halt(4);
  235. if r.ve <> [] then
  236. halt(4);
  237. r.vc := r.vd;
  238. if r.b1 <> $ff then
  239. halt(4);
  240. if r.va <> [1,3,5] then
  241. halt(4);
  242. if r.vb <> [1,3,5] then
  243. halt(4);
  244. if r.vc <> [1,3,5] then
  245. halt(4);
  246. if r.vd <> [1,3,5] then
  247. halt(4);
  248. if r.ve <> [] then
  249. halt(4);
  250. r.ve := r.vd;
  251. if r.b1 <> $ff then
  252. halt(4);
  253. if r.va <> [1,3,5] then
  254. halt(4);
  255. if r.vb <> [1,3,5] then
  256. halt(4);
  257. if r.vc <> [1,3,5] then
  258. halt(4);
  259. if r.vd <> [1,3,5] then
  260. halt(4);
  261. if r.ve <> [1,3,5] then
  262. halt(4);
  263. r.b1 := $ff;
  264. r.b2 := $ff;
  265. r.b3 := $ff;
  266. r.va := [];
  267. r.vb := [];
  268. r.vc := [];
  269. r.vd := [];
  270. r.ve := [];
  271. r.ve := [0,7];
  272. r.va := r.ve;
  273. if r.b1 <> $ff then
  274. halt(5);
  275. if r.va <> [0,7] then
  276. halt(5);
  277. if r.ve <> [0,7] then
  278. halt(5);
  279. if r.vc <> [] then
  280. halt(5);
  281. if r.vd <> [] then
  282. halt(5);
  283. if r.vb <> [] then
  284. halt(5);
  285. r.vb := r.ve;
  286. if r.b1 <> $ff then
  287. halt(5);
  288. if r.va <> [0,7] then
  289. halt(5);
  290. if r.vb <> [0,7] then
  291. halt(5);
  292. if r.ve <> [0,7] then
  293. halt(5);
  294. if r.vd <> [] then
  295. halt(5);
  296. if r.vc <> [] then
  297. halt(5);
  298. r.vc := r.ve;
  299. if r.b1 <> $ff then
  300. halt(5);
  301. if r.va <> [0,7] then
  302. halt(5);
  303. if r.vb <> [0,7] then
  304. halt(5);
  305. if r.vc <> [0,7] then
  306. halt(5);
  307. if r.ve <> [0,7] then
  308. halt(5);
  309. if r.vd <> [] then
  310. halt(5);
  311. r.vd := r.ve;
  312. if r.b1 <> $ff then
  313. halt(5);
  314. if r.va <> [0,7] then
  315. halt(5);
  316. if r.vb <> [0,7] then
  317. halt(5);
  318. if r.vc <> [0,7] then
  319. halt(5);
  320. if r.vd <> [0,7] then
  321. halt(5);
  322. if r.ve <> [0,7] then
  323. halt(5);
  324. end.