Decoder.asm 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. call get_tbit
  2. jc label_1
  3. call get_tbit
  4. jc label_2
  5. call get_tbit
  6. jc label_3
  7. mov al,' '
  8. ret
  9. label_3: call get_tbit
  10. jc label_4
  11. mov al,'e'
  12. ret
  13. label_4: mov al,'a'
  14. ret
  15. label_2: call get_tbit
  16. jc label_5
  17. call get_tbit
  18. jc label_6
  19. call get_tbit
  20. jc label_7
  21. mov al,'o'
  22. ret
  23. label_7: mov al,'s'
  24. ret
  25. label_6: call get_tbit
  26. jc label_8
  27. mov al,'t'
  28. ret
  29. label_8: mov al,'n'
  30. ret
  31. label_5: call get_tbit
  32. jc label_9
  33. call get_tbit
  34. jc label_10
  35. mov al,'.'
  36. ret
  37. label_10: mov al,'i'
  38. ret
  39. label_9: mov al,'r'
  40. ret
  41. label_1: call get_tbit
  42. jc label_11
  43. call get_tbit
  44. jc label_12
  45. call get_tbit
  46. jc label_13
  47. call get_tbit
  48. jc label_14
  49. call get_tbit
  50. jc label_15
  51. mov al,0
  52. ret
  53. label_15: mov al,'E'
  54. ret
  55. label_14: mov al,'u'
  56. ret
  57. label_13: call get_tbit
  58. jc label_16
  59. mov al,'m'
  60. ret
  61. label_16: mov al,'A'
  62. ret
  63. label_12: call get_tbit
  64. jc label_17
  65. call get_tbit
  66. jc label_18
  67. call get_tbit
  68. jc label_19
  69. mov al,'l'
  70. ret
  71. label_19: mov al,'I'
  72. ret
  73. label_18: call get_tbit
  74. jc label_20
  75. mov al,'d'
  76. ret
  77. label_20: mov al,'R'
  78. ret
  79. label_17: call get_tbit
  80. jc label_21
  81. call get_tbit
  82. jc label_22
  83. mov al,'N'
  84. ret
  85. label_22: mov al,'S'
  86. ret
  87. label_21: mov al,'T'
  88. ret
  89. label_11: call get_tbit
  90. jc label_23
  91. call get_tbit
  92. jc label_24
  93. call get_tbit
  94. jc label_25
  95. call get_tbit
  96. jc label_26
  97. call get_tbit
  98. jc label_27
  99. mov al,'O'
  100. ret
  101. label_27: mov al,'h'
  102. ret
  103. label_26: mov al,'c'
  104. ret
  105. label_25: call get_tbit
  106. jc label_28
  107. mov al,'D'
  108. ret
  109. label_28: mov al,'g'
  110. ret
  111. label_24: call get_tbit
  112. jc label_29
  113. call get_tbit
  114. jc label_30
  115. call get_tbit
  116. jc label_31
  117. mov al,'L'
  118. ret
  119. label_31: mov al,'C'
  120. ret
  121. label_30: call get_tbit
  122. jc label_32
  123. mov al,'p'
  124. ret
  125. label_32: mov al,'U'
  126. ret
  127. label_29: call get_tbit
  128. jc label_33
  129. call get_tbit
  130. jc label_34
  131. mov al,'!'
  132. ret
  133. label_34: mov al,'y'
  134. ret
  135. label_33: mov al,'M'
  136. ret
  137. label_23: call get_tbit
  138. jc label_35
  139. call get_tbit
  140. jc label_36
  141. call get_tbit
  142. jc label_37
  143. call get_tbit
  144. jc label_38
  145. call get_tbit
  146. jc label_39
  147. mov al,'P'
  148. ret
  149. label_39: mov al,'v'
  150. ret
  151. label_38: mov al,'H'
  152. ret
  153. label_37: call get_tbit
  154. jc label_40
  155. mov al,'?'
  156. ret
  157. label_40: mov al,'b'
  158. ret
  159. label_36: call get_tbit
  160. jc label_41
  161. call get_tbit
  162. jc label_42
  163. call get_tbit
  164. jc label_43
  165. mov al,39
  166. ret
  167. label_43: mov al,'f'
  168. ret
  169. label_42: mov al,','
  170. ret
  171. label_41: call get_tbit
  172. jc label_44
  173. mov al,'G'
  174. ret
  175. label_44: mov al,'B'
  176. ret
  177. label_35: call get_tbit
  178. jc label_45
  179. call get_tbit
  180. jc label_46
  181. call get_tbit
  182. jc label_47
  183. call get_tbit
  184. jc label_48
  185. call get_tbit
  186. jc label_49
  187. mov al,'V'
  188. ret
  189. label_49: mov al,'k'
  190. ret
  191. label_48: mov al,'F'
  192. ret
  193. label_47: call get_tbit
  194. jc label_50
  195. mov al,'q'
  196. ret
  197. label_50: mov al,'w'
  198. ret
  199. label_46: call get_tbit
  200. jc label_51
  201. call get_tbit
  202. jc label_52
  203. call get_tbit
  204. jc label_53
  205. mov al,'K'
  206. ret
  207. label_53: mov al,'-'
  208. ret
  209. label_52: mov al,'W'
  210. ret
  211. label_51: call get_tbit
  212. jc label_54
  213. mov al,'J'
  214. ret
  215. label_54: mov al,'*'
  216. ret
  217. label_45: call get_tbit
  218. jc label_55
  219. call get_tbit
  220. jc label_56
  221. call get_tbit
  222. jc label_57
  223. call get_tbit
  224. jc label_58
  225. mov al,'z'
  226. ret
  227. label_58: mov al,'Y'
  228. ret
  229. label_57: call get_tbit
  230. jc label_59
  231. mov al,'j'
  232. ret
  233. label_59: mov al,'+'
  234. ret
  235. label_56: call get_tbit
  236. jc label_60
  237. call get_tbit
  238. jc label_61
  239. call get_tbit
  240. jc label_62
  241. mov al,'Q'
  242. ret
  243. label_62: mov al,133
  244. ret
  245. label_61: mov al,')'
  246. ret
  247. label_60: call get_tbit
  248. jc label_63
  249. call get_tbit
  250. jc label_64
  251. mov al,'Z'
  252. ret
  253. label_64: mov al,139
  254. ret
  255. label_63: mov al,'<'
  256. ret
  257. label_55: call get_tbit
  258. jc label_65
  259. call get_tbit
  260. jc label_66
  261. call get_tbit
  262. jc label_67
  263. call get_tbit
  264. jc label_68
  265. call get_tbit
  266. jc label_69
  267. mov al,149
  268. ret
  269. label_69: mov al,126
  270. ret
  271. label_68: mov al,138
  272. ret
  273. label_67: call get_tbit
  274. jc label_70
  275. mov al,135
  276. ret
  277. label_70: mov al,':'
  278. ret
  279. label_66: call get_tbit
  280. jc label_71
  281. call get_tbit
  282. jc label_72
  283. call get_tbit
  284. jc label_73
  285. mov al,127
  286. ret
  287. label_73: mov al,']'
  288. ret
  289. label_72: mov al,'#'
  290. ret
  291. label_71: call get_tbit
  292. jc label_74
  293. call get_tbit
  294. jc label_75
  295. mov al,'x'
  296. ret
  297. label_75: mov al,'X'
  298. ret
  299. label_74: mov al,145
  300. ret
  301. label_65: call get_tbit
  302. jc label_76
  303. call get_tbit
  304. jc label_77
  305. call get_tbit
  306. jc label_78
  307. call get_tbit
  308. jc label_79
  309. call get_tbit
  310. jc label_80
  311. mov al,136
  312. ret
  313. label_80: mov al,'`'
  314. ret
  315. label_79: mov al,'2'
  316. ret
  317. label_78: call get_tbit
  318. jc label_81
  319. call get_tbit
  320. jc label_82
  321. mov al,'0'
  322. ret
  323. label_82: mov al,131
  324. ret
  325. label_81: mov al,'1'
  326. ret
  327. label_77: call get_tbit
  328. jc label_83
  329. call get_tbit
  330. jc label_84
  331. call get_tbit
  332. jc label_85
  333. mov al,'/'
  334. ret
  335. label_85: mov al,'('
  336. ret
  337. label_84: mov al,'='
  338. ret
  339. label_83: call get_tbit
  340. jc label_86
  341. mov al,134
  342. ret
  343. label_86: mov al,'^'
  344. ret
  345. label_76: call get_tbit
  346. jc label_87
  347. call get_tbit
  348. jc label_88
  349. call get_tbit
  350. jc label_89
  351. call get_tbit
  352. jc label_90
  353. mov al,'3'
  354. ret
  355. label_90: mov al,'9'
  356. ret
  357. label_89: call get_tbit
  358. jc label_91
  359. mov al,152
  360. ret
  361. label_91: mov al,'4'
  362. ret
  363. label_88: call get_tbit
  364. jc label_92
  365. call get_tbit
  366. jc label_93
  367. call get_tbit
  368. jc label_94
  369. mov al,'}'
  370. ret
  371. label_94: mov al,'8'
  372. ret
  373. label_93: mov al,'\'
  374. ret
  375. label_92: call get_tbit
  376. jc label_95
  377. mov al,'"'
  378. ret
  379. label_95: mov al,144
  380. ret
  381. label_87: call get_tbit
  382. jc label_96
  383. call get_tbit
  384. jc label_97
  385. call get_tbit
  386. jc label_98
  387. call get_tbit
  388. jc label_99
  389. mov al,'&'
  390. ret
  391. label_99: mov al,141
  392. ret
  393. label_98: call get_tbit
  394. jc label_100
  395. mov al,'5'
  396. ret
  397. label_100: mov al,'6'
  398. ret
  399. label_97: call get_tbit
  400. jc label_101
  401. call get_tbit
  402. jc label_102
  403. mov al,146
  404. ret
  405. label_102: mov al,143
  406. ret
  407. label_101: call get_tbit
  408. jc label_103
  409. mov al,142
  410. ret
  411. label_103: mov al,147
  412. ret
  413. label_96: call get_tbit
  414. jc label_104
  415. call get_tbit
  416. jc label_105
  417. call get_tbit
  418. jc label_106
  419. call get_tbit
  420. jc label_107
  421. mov al,140
  422. ret
  423. label_107: mov al,'7'
  424. ret
  425. label_106: mov al,128
  426. ret
  427. label_105: call get_tbit
  428. jc label_108
  429. call get_tbit
  430. jc label_109
  431. mov al,129
  432. ret
  433. label_109: mov al,153
  434. ret
  435. label_108: call get_tbit
  436. jc label_110
  437. mov al,'$'
  438. ret
  439. label_110: mov al,'@'
  440. ret
  441. label_104: call get_tbit
  442. jc label_111
  443. call get_tbit
  444. jc label_112
  445. call get_tbit
  446. jc label_113
  447. call get_tbit
  448. jc label_114
  449. mov al,'['
  450. ret
  451. label_114: mov al,154
  452. ret
  453. label_113: mov al,'_'
  454. ret
  455. label_112: call get_tbit
  456. jc label_115
  457. mov al,'>'
  458. ret
  459. label_115: mov al,150
  460. ret
  461. label_111: call get_tbit
  462. jc label_116
  463. call get_tbit
  464. jc label_117
  465. call get_tbit
  466. jc label_118
  467. mov al,130
  468. ret
  469. label_118: mov al,'%'
  470. ret
  471. label_117: mov al,9
  472. ret
  473. label_116: call get_tbit
  474. jc label_119
  475. call get_tbit
  476. jc label_120
  477. mov al,156
  478. ret
  479. label_120: mov al,151
  480. ret
  481. label_119: call get_tbit
  482. jc label_121
  483. mov al,'{'
  484. ret
  485. label_121: call get_tbit
  486. jc label_122
  487. mov al,148
  488. ret
  489. label_122: mov al,'|'
  490. ret