home *** CD-ROM | disk | FTP | other *** search
/ ticalc.org / ticalc_org_rev_b.iso / archives / 89 / asm / source / period.asm < prev    next >
Encoding:
Assembly Source File  |  2001-07-01  |  9.5 KB  |  352 lines

  1. ;//Periodic Table Lite
  2. ;//Ahmed El-Helw
  3. ;//ahmed@ticalc.org
  4. ;//Please use and learn from this source.  If you have any questions,
  5. ;//please let me know.  If you use anything from this source, please
  6. ;//give me the due credit.
  7.  
  8.  include "tios.h"
  9.  include "util.h"
  10.   
  11.  xdef _main
  12.  xdef _comment
  13.  xdef _ti89
  14.  
  15. _main:
  16.  jsr util::clr_scr
  17.  move.w #2,-(a7)
  18.  jsr tios::FontSetSys
  19.  move.w #0,-(a7)
  20.  pea title(pc)
  21.  move.w #0,-(a7)
  22.  move.w #0,-(a7)
  23.  jsr tios::DrawStrXY
  24.   
  25.  move.w #1,-(a7)
  26.  jsr tios::FontSetSys
  27.  move.w #4,-(a7)
  28.  pea option(pc)
  29.  move.w #25,-(a7)
  30.  move.w #1,-(a7)
  31.  jsr tios::DrawStrXY
  32.  
  33.  pea option2(pc)
  34.  move.w #33,-(a7)
  35.  move.w #1,-(a7)
  36.  jsr tios::DrawStrXY
  37.  
  38.  pea status(pc)
  39.  move.w #70,-(a7)
  40.  move.w #2,-(a7)
  41.  jsr tios::DrawStrXY
  42.  
  43.  move.w #0,-(a7)
  44.  jsr tios::FontSetSys
  45.  move.w #4,-(a7)
  46.  pea author(pc)
  47.  move.w #10,-(a7)
  48.  move.w #15,-(a7)
  49.  jsr tios::DrawStrXY
  50.   
  51.  lea 52(a7),a7
  52.  
  53.  move.w #0,d7
  54. main_loop:
  55.  move.w #4,-(a7)
  56.  pea dashes(pc)
  57.  move.w #80,-(a7)
  58.  move.w #0,-(a7)
  59.  jsr tios::DrawStrXY
  60.  lea 10(a7),a7
  61.  
  62.  bsr string_display_routine
  63.  bsr Get_Key
  64.  cmp.w #337,d0
  65.  bne.s not_going_left
  66.  tst.w d7
  67.  beq.s not_going_left
  68.  subq.w #1,d7
  69. not_going_left:
  70.  cmp.w #340,d0
  71.  bne.s not_going_right
  72.  cmp.w #118,d7 
  73.  beq.s not_going_right
  74.  addq.w #1,d7
  75. not_going_right:
  76.  cmp.w #264,d0
  77.  bne.s main_loop
  78.  rts
  79. string_display_routine:
  80.  move.w d7,d6
  81.  add.w d6,d6
  82.  add.w d6,d6
  83.  lea string_table(pc,d6.w),a1
  84. Display_String:
  85.  move.w #4,-(sp)     
  86.  move.l (a1),-(sp)
  87.  move.w #80,-(sp)
  88.  move.w #0,-(sp)
  89.  jsr tios::DrawStrXY           
  90.  lea 10(sp),sp
  91.  rts
  92.  
  93. Get_Key:
  94.  tst.w    tios::kb_vars+$1c          
  95.  beq.s    Get_Key                    
  96.  clr.w    tios::kb_vars+$1c          
  97.  move.w   tios::kb_vars+$1e,d0       
  98.  rts
  99.  
  100. string_table:
  101.  dc.l string1
  102.  dc.l string2
  103.  dc.l string3
  104.  dc.l string4
  105.  dc.l string5
  106.  dc.l string6
  107.  dc.l string7
  108.  dc.l string8
  109.  dc.l string9
  110.  dc.l string10
  111.  dc.l string11
  112.  dc.l string12
  113.  dc.l string13
  114.  dc.l string14
  115.  dc.l string15
  116.  dc.l string16
  117.  dc.l string17
  118.  dc.l string18
  119.  dc.l string19
  120.  dc.l string20
  121.  dc.l string21
  122.  dc.l string22
  123.  dc.l string23
  124.  dc.l string24
  125.  dc.l string25
  126.  dc.l string26
  127.  dc.l string27
  128.  dc.l string28
  129.  dc.l string29
  130.  dc.l string30
  131.  dc.l string31
  132.  dc.l string32
  133.  dc.l string33
  134.  dc.l string34
  135.  dc.l string35
  136.  dc.l string36
  137.  dc.l string37
  138.  dc.l string38
  139.  dc.l string39
  140.  dc.l string40
  141.  dc.l string41
  142.  dc.l string42
  143.  dc.l string43
  144.  dc.l string44
  145.  dc.l string45
  146.  dc.l string46
  147.  dc.l string47
  148.  dc.l string48
  149.  dc.l string49
  150.  dc.l string50
  151.  dc.l string51
  152.  dc.l string52
  153.  dc.l string53
  154.  dc.l string54
  155.  dc.l string55
  156.  dc.l string56
  157.  dc.l string57
  158.  dc.l string58
  159.  dc.l string59
  160.  dc.l string60
  161.  dc.l string61
  162.  dc.l string62
  163.  dc.l string63
  164.  dc.l string64
  165.  dc.l string65
  166.  dc.l string66
  167.  dc.l string67
  168.  dc.l string68
  169.  dc.l string69
  170.  dc.l string70
  171.  dc.l string71
  172.  dc.l string72
  173.  dc.l string73
  174.  dc.l string74
  175.  dc.l string75
  176.  dc.l string76
  177.  dc.l string77
  178.  dc.l string78
  179.  dc.l string79
  180.  dc.l string89
  181.  dc.l string81
  182.  dc.l string82
  183.  dc.l string83
  184.  dc.l string84
  185.  dc.l string85
  186.  dc.l string86
  187.  dc.l string87
  188.  dc.l string88
  189.  dc.l string89
  190.  dc.l string90
  191.  dc.l string91
  192.  dc.l string92
  193.  dc.l string93
  194.  dc.l string94
  195.  dc.l string95
  196.  dc.l string96
  197.  dc.l string97
  198.  dc.l string98
  199.  dc.l string99
  200.  dc.l string100
  201.  dc.l string101
  202.  dc.l string102
  203.  dc.l string103
  204.  dc.l string104
  205.  dc.l string105
  206.  dc.l string106
  207.  dc.l string107
  208.  dc.l string108
  209.  dc.l string109
  210.  dc.l string110
  211.  dc.l string111
  212.  dc.l string112
  213.  dc.l string113
  214.  dc.l string114
  215.  dc.l string115
  216.  dc.l string116
  217.  dc.l string117
  218.  dc.l string118
  219.  dc.l stringend
  220.  
  221. _comment dc.b "Periodic Table Light",0
  222.  
  223. title   dc.b "Periodic Table Light",0
  224. author  dc.b "Ahmed El-Helw <ahmed@ticalc.org>",0
  225. option  dc.b "Use the ",19,20," keys to change",0
  226. option2 dc.b "the element number.",0
  227. dashes  dc.b "--------------------------------",0
  228. status  dc.b "Number Element Symbol Mass",0
  229.  
  230. string1  dc.b     "1  Hydrogen  H  1.00794",0
  231. string2  dc.b     "2  Helium  He  4.00260",0
  232. string3  dc.b     "3  Lithium  Li  6.941",0
  233. string4  dc.b     "4  Beryllium  Be  9.01218",0
  234. string5  dc.b     "5  Boron  B  10.81",0
  235. string6  dc.b     "6  Carbon  C  12.011",0
  236. string7  dc.b     "7  Nitrogen  N  14.0067",0
  237. string8  dc.b     "8  Oxygen  O  15.9994",0
  238. string9  dc.b     "9  Flourine  F  18.998403",0
  239. string10 dc.b     "10  Neon  Ne  20.1797",0
  240. string11 dc.b     "11  Sodium  Na  22.98977",0
  241. string12 dc.b     "12  Magnesium  Mg  24.305",0
  242. string13 dc.b     "13  Aluminum  Al  26.98154",0
  243. string14 dc.b     "14  Silicon  Si  28.0855",0
  244. string15 dc.b     "15  Phosphorous  P  30.97376",0
  245. string16 dc.b     "16  Sulfur  S  32.066",0
  246. string17 dc.b     "17  Chlorine  Cl  35.453",0
  247. string18 dc.b     "18  Argon  Ar  39.948",0
  248. string19 dc.b     "19  Potassium  K  39.0983",0
  249. string20 dc.b     "20  Calcium  Ca  40.078",0
  250. string21 dc.b     "21  Scandium  Sc  44.9559",0
  251. string22 dc.b     "22  Titanium  Ti  47.88",0
  252. string23 dc.b     "23  Vanadium  V  50.9415",0
  253. string24 dc.b     "24  Chromium  Cr  51.996",0
  254. string25 dc.b     "25  Manganese  Mn  54.9380",0
  255. string26 dc.b     "26  Iron  Fe  55.847",0
  256. string27 dc.b     "27  Cobalt  Co  58.9332",0
  257. string28 dc.b     "28  Nickel  Ni  58.69",0   
  258. string29 dc.b     "29  Copper  Cu  63.546",0
  259. string30 dc.b     "30  Zinc  Zn  65.39",0
  260. string31 dc.b     "31  Gallium  Ga  69.72",0
  261. string32 dc.b     "32  Germanium  Ge  72.61",0
  262. string33 dc.b     "33  Arsenic  As  74.9216",0
  263. string34 dc.b     "34  Selenium  Se  78.96",0
  264. string35 dc.b     "35  Bromine  Br  79.904",0
  265. string36 dc.b     "36  Krypton  Kr  83.80",0
  266. string37 dc.b     "37  Rubidium  Rb  85.4678",0
  267. string38 dc.b     "38  Strontium  Sr  87.62",0
  268. string39 dc.b     "39  Yttrium  Y  88.9059",0
  269. string40 dc.b     "40  Zirconium  Zr  91.224",0
  270. string41 dc.b     "41  Niobium  Nb  92.9064",0
  271. string42 dc.b     "42  Molybdenum  Mo  95.94",0
  272. string43 dc.b     "43  Technetium  Tc  98",0
  273. string44 dc.b     "44  Ruthenium  Ru  101.07",0
  274. string45 dc.b     "45  Rhodium  Rh  102.9055",0
  275. string46 dc.b     "46  Palladium  Pd  106.42",0
  276. string47 dc.b     "47  Silver  Ag  107.8682",0
  277. string48 dc.b     "48  Cadmium  Cd  112.41",0
  278. string49 dc.b     "49  Indium  In  114.82",0
  279. string50 dc.b     "50  Tin  Sn  118.710",0
  280. string51 dc.b     "51  Antimony  Sb  121.757",0
  281. string52 dc.b     "52  Tellurium  Te  127.60",0
  282. string53 dc.b     "53  Iodine  I  126.9045",0
  283. string54 dc.b     "54  Xenon  Xe  131.29",0
  284. string55 dc.b     "55  Cesium  Cs  132.9054",0
  285. string56 dc.b     "56  Barium  Ba  137.33",0
  286. string57 dc.b     "57  Lanthanum  La  138.9055",0
  287. string58 dc.b     "58  Cerium  Ce  140.12",0
  288. string59 dc.b     "59  Praseodymium  Pr 140.9077",0
  289. string60 dc.b     "60  Neodymium  Nd  144.24",0
  290. string61 dc.b     "61  Promethium  Pm  145",0
  291. string62 dc.b     "62  Samarium  Sm  150.36",0
  292. string63 dc.b     "63  Europium  Eu  151.96",0
  293. string64 dc.b     "64  Gadolinium  Gd  157.25",0
  294. string65 dc.b     "65  Terbium  Tb  158.9254",0
  295. string66 dc.b     "66  Dysprosium  Dy  162.50",0
  296. string67 dc.b     "67  Holmium  Ho  164.9304",0
  297. string68 dc.b     "68  Erbium  Er  167.26",0
  298. string69 dc.b     "69  Thulium  Tm  168.9342",0
  299. string70 dc.b     "70  Ytterbium  Yb  173.04",0
  300. string71 dc.b     "71  Lutetium  Lu  174.967",0
  301. string72 dc.b     "72  Hafnium  Hf  178.49",0
  302. string73 dc.b     "73  Tantalum  Ta  180.9479",0
  303. string74 dc.b     "74  Tungsten  W  183.85",0
  304. string75 dc.b     "75  Rhenium  Re  186.207",0
  305. string76 dc.b     "76  Osmium  Os  190.2",0
  306. string77 dc.b     "77  Iridium  Ir  192.22",0
  307. string78 dc.b     "78  Platinum  Pt  195.08",0
  308. string79 dc.b     "79  Gold  Au  196.9665",0
  309. string80 dc.b     "80  Mercury  Hg  200.59",0
  310. string81 dc.b     "81  Thallium  Tl  204.38",0
  311. string82 dc.b     "82  Lead  Pb  207.2",0
  312. string83 dc.b     "83  Bismuth  Bi  208.9804",0
  313. string84 dc.b     "84  Polonium  Po  209",0
  314. string85 dc.b     "85  Astatine  At  210",0
  315. string86 dc.b     "86  Radon  Rn  222",0
  316. string87 dc.b     "87  Francium  Fr  223",0
  317. string88 dc.b     "88  Radium  Ra  226.0254",0
  318. string89 dc.b     "89  Actinum  Ac  227.0278",0
  319. string90 dc.b     "90  Thorium  Th  232.0381",0
  320. string91 dc.b     "91  Protactinium  Pa 231.0359",0
  321. string92 dc.b     "92  Uranium  U  238.0289",0
  322. string93 dc.b     "93  Neptunium  Np  237.048",0
  323. string94 dc.b     "94  Plutonium  Pu  244",0
  324. string95 dc.b     "95  Americium  Am  243",0
  325. string96 dc.b     "96  Curium  Cm  247",0
  326. string97 dc.b     "97  Berkelium  Bk  247",0
  327. string98 dc.b     "98  Californium  Cf  251",0
  328. string99 dc.b     "99  Einsteinium  Es  252",0
  329. string100 dc.b    "100  Fermium  Fm  257",0
  330. string101 dc.b    "101  Mendelevium  Md  258",0
  331. string102 dc.b    "102  Nobelium  No  259",0
  332. string103 dc.b    "103  Lawrencium  Lr  260",0
  333. string104 dc.b    "104  Rutherfordium  Rf  261",0
  334. string105 dc.b    "105  Dubnium  Db  262",0
  335. string106 dc.b    "106  Seaborgium  Sg 263",0
  336. string107 dc.b    "107  Bohrium  Bh  262",0
  337. string108 dc.b    "108  Hassium  Hs  265",0
  338. string109 dc.b    "109  Meitnerium  Mt  266",0
  339. string110 dc.b    "110  Ununnilium  Uun  269",0
  340. string111 dc.b    "111  Unununium  Uuu  272",0
  341. string112 dc.b    "112  Ununbium  Uub  277",0
  342. string113 dc.b    "113  Ununtrium  Uut  ???",0
  343. string114 dc.b    "114  Ununquadium  Uuq  ???",0
  344. string115 dc.b    "115  Ununpentium  Uup  ???",0
  345. string116 dc.b    "116  Ununhexium  Uuh  ???",0
  346. string117 dc.b    "117  Ununseptium  Uus  ???",0
  347. string118 dc.b    "118  Ununoctium  Uuo  ???",0
  348. stringend dc.b    "End",0
  349.  
  350.  rts
  351.  end
  352.