home *** CD-ROM | disk | FTP | other *** search
/ ticalc.org / ticalc_org_rev_b.iso / archives / 82 / asm / source / crash / per.asm < prev    next >
Encoding:
Assembly Source File  |  2001-07-01  |  15.4 KB  |  1,005 lines

  1. #include "crash82.inc"
  2. .DB "Periodic Table 2.0",0
  3.  
  4. Start:
  5.  ld a,4            ;Set up some coordinates for the box
  6.  ld (selectx),a        ;and for _IPoint routine.  Note that
  7.  ld a,61        ;the Y-Coordinates are actually flipped
  8.  ld (selecty),a        ;due to Ti's _IPoint requirements.
  9.  ld a,1
  10.  ld (current),a 
  11. Restart:
  12.  call DrawTable        ;Draw out the Periodic Table Wireframe
  13.  jp Selector        ;Draw out the selector for the first time
  14.  
  15. KeyLoop:        ;The KeyLoop Starts here
  16.  call GET_KEY        ;call GET_KEY
  17.  cp $37            ;Mode or Graph?
  18.  ret z            ;Exit if so.
  19.  cp $02            ;Is it Left?
  20.  jp z,MoveLeft        ;Move Left!
  21.  cp $03             ;Is it right?
  22.  jp z,MoveRight        ;Move Right!
  23.  cp $09
  24.  jp z,ElemInfo
  25.  cp $35
  26.  jp z,HelpScreen
  27.  jr KeyLoop        ;Reloop.
  28.  
  29. MoveLeft:        ;Similarly to the other routines,
  30.  ld a,(selectx)        ;this checks the uncrossable boundries
  31.  cp 4            ;and if there is a boundry that shouldn't
  32.  jp z,PrevRow        ;be crossed, it doesn't draw it, else,
  33.  cp 19            ;moves to the left.
  34.  jp z,ContLeftC
  35. ContLeftMan:
  36.  ld a,(selectx)
  37.  cp 89             
  38.  jp z,SelectHyd
  39.  cp 19
  40.  jp z,ContLCheck
  41.  cp 64
  42.  jp z,CheckLeft
  43. ContLeft:
  44.  call RemSel
  45.  ld a,(selectx)
  46.  sub 5
  47.  ld (selectx),a
  48.  ld hl,current
  49.  dec (hl)
  50.  jp Selector
  51.  
  52. MoveRight:        ;Pretty similar to the other routines.
  53.  ld a,(selectx)        ;Checks boundries, draws in the right
  54.  cp 89            ;location the right box.
  55.  jp z,NextRow
  56.  cp 84
  57.  jp z,LastRow
  58. ContRC:
  59.  ld a,(selectx)
  60.  cp 4 
  61.  jp z,SelectHel
  62.  cp 9
  63.  jp z,CheckRight
  64.  cp 54
  65.  jp z,ContRightC
  66.  cp 84
  67.  jp z,ContRC2
  68. ContRight:
  69.  call RemSel
  70.  ld a,(selectx)
  71.  add a,5
  72.  ld (selectx),a
  73.  ld hl,current
  74.  inc (hl)
  75.  jp Selector
  76.  
  77. SelectHyd:
  78.  ld a,(selecty)
  79.  cp 61
  80.  jp nz,ContLeft
  81.  call RemSel
  82.  ld a,4
  83.  ld (selectx),a
  84.  ld hl,current
  85.  dec (hl)
  86.  jp Selector
  87.  
  88. SelectHel:
  89.  ld a,(selecty)
  90.  cp 61
  91.  jp nz,ContRight
  92.  call RemSel
  93.  ld a,89
  94.  ld (selectx),a
  95.  ld hl,current
  96.  inc (hl)
  97.  jp Selector
  98.  
  99. CheckRight:
  100.  ld a,(selecty)
  101.  cp 48
  102.  jp c,ContRChk
  103.  call RemSel
  104.  ld a,64
  105.  ld (selectx),a
  106.  ld hl,current
  107.  inc (hl)
  108.  jp Selector
  109. ContRChk:
  110.  cp 41
  111.  jp nc,ContRight
  112.  cp 36
  113.  jp z,ContRight
  114.  call RemSel
  115.  ld a,19
  116.  ld (selectx),a
  117.  ld hl,current
  118.  inc (hl)
  119.  jp Selector
  120.  
  121. ContLCheck:
  122.  ld a,(selecty)
  123.  cp 31
  124.  jp nz,ContLeft
  125.  call RemSel
  126.  ld a,9
  127.  ld (selectx),a
  128.  ld hl,current
  129.  dec (hl)
  130.  jp Selector
  131.  
  132. CheckLeft:
  133.  ld a,(selecty)
  134.  cp 48
  135.  jp c,ContLeft
  136.  call RemSel
  137.  ld a,9
  138.  ld (selectx),a
  139.  ld hl,current
  140.  dec (hl)
  141.  
  142. Selector:        ;Draws a 4x4 black box at coordinates selectx/selecty
  143.  call DrawSel        ;Call the XOR routine
  144.  call DispData        ;Display the Data!
  145.  call _grbufcpy_v    ;Copy it
  146.  jp KeyLoop        ;Goto the loop
  147.  
  148. ContLeftC:
  149.  ld a,(selecty)
  150.  cp 30
  151.  jp c,MoveLBot
  152.  jp ContLeftMan
  153.  
  154. MoveLBot:
  155.  cp 19
  156.  jp z,RetHistory
  157.  cp 14
  158.  jp nz,KeyLoop
  159.  call RemSel
  160.  ld a,19
  161.  ld (selecty),a
  162.  ld a,84
  163.  ld (selectx),a
  164.  ld hl,current
  165.  dec (hl)
  166.  jp Selector
  167.  
  168. RetHistory:
  169.  call RemSel
  170.  ld a,31
  171.  ld (selecty),a
  172.  ld a,54
  173.  ld (selectx),a
  174.  ld hl,current
  175.  dec (hl)
  176.  jp Selector
  177.  
  178. ContRightC:
  179.  ld a,(selecty)
  180.  cp 31
  181.  jp nz,ContRight
  182.  call RemSel
  183.  ld a,(selecty)
  184.  sub 12
  185.  ld (selecty),a
  186.  ld a,19
  187.  ld (selectx),a
  188.  ld hl,current
  189.  inc (hl)
  190.  jp Selector
  191.  
  192. ContRC2:
  193.  ld a,(selecty)
  194.  cp 30
  195.  jp c,KeyLoop
  196.  jp ContRight
  197.  
  198. NextRow:
  199.  call RemSel
  200.  ld a,(selecty)
  201.  sub 5
  202.  ld (selecty),a
  203.  ld a,4
  204.  ld (selectx),a
  205.  ld hl,current
  206.  inc (hl)
  207.  jp Selector
  208.  
  209. LastRow:
  210.  ld a,(selecty)
  211.  cp 19
  212.  jp nz,ContRC
  213.  call RemSel
  214.  ld a,19
  215.  ld (selectx),a
  216.  ld a,(selecty)
  217.  sub 5
  218.  ld (selecty),a
  219.  ld hl,current
  220.  inc (hl)
  221.  jp Selector
  222.  
  223. PrevRow:
  224.  ld a,(selecty)
  225.  cp 61
  226.  jp z,KeyLoop
  227.  call RemSel
  228.  ld a,(selecty)
  229.  add a,5
  230.  ld (selecty),a
  231.  ld a,89
  232.  ld (selectx),a
  233.  ld hl,current
  234.  dec (hl)
  235.  jp Selector
  236.  
  237. RemSel:            ;If we only want to remove it, then save time by not copying the
  238. DrawSel:        ;grbuf and by returning rather than going to the KeyLoop.
  239.  ld d,2            ;D is set to two here for XOR, so it can be used as an XOR routine.
  240.  ld a,(selectx)
  241.  ld b,a            ;X-Position should go into b
  242.  ld a,(selecty)
  243.  ld c,a            ;Y-Position should go into c
  244.  call VertLoop        ;Draw 3 pixels
  245.  dec c            ;Goto next line, this is decrease because 
  246.  call VertLoop        ;Ti's _IPoint Y-Coordinates are flipped.
  247.  dec c            ;Same with _ILine.  This VertLoop is gone
  248.  call VertLoop        ;through four times to achieve 4 lines.
  249.  dec c
  250. VertLoop:        ;Displays 4 pixels vertically
  251.  ld a,(selectx)        
  252.  ld b,a            ;Reset the X-Coordinate
  253.  ld a,4            ;Loop 4 times, using a
  254. Loop:
  255.  call _IPoint        ;Draw the point
  256.  inc b            ;Increase the X
  257.  dec a            ;Decrease A
  258.  jr nz,Loop        ;If its not 0, then reloop.
  259.  ret
  260.  
  261. DrawTable:        ;Draws out the wireframe of the periodic table.
  262.             ;This was not very easy to do, as you can imagine :P
  263.  ld h,1
  264.  ld bc,3*256+47
  265.  ld de,93*256+47
  266.  call _ILine
  267.  ld bc,3*256+42
  268.  ld de,93*256+42
  269.  call _ILine
  270.  ld bc,3*256+37
  271.  ld de,93*256+37
  272.  call _ILine
  273.  ld bc,3*256+32
  274.  ld de,93*256+32
  275.  call _ILine
  276.  ld bc,18*256+27
  277.  ld de,58*256+27
  278.  call _ILine
  279.  ld bc,63*256+52
  280.  ld de,93*256+52
  281.  call _ILine
  282.  ld bc,63*256+57
  283.  ld de,93*256+57
  284.  call _ILine
  285.  ld bc,88*256+62
  286.  ld de,93*256+62
  287.  call _ILine
  288.  ld bc,3*256+57
  289.  ld de,13*256+57
  290.  call _ILine
  291.  ld bc,3*256+52
  292.  ld de,13*256+52
  293.  call _ILine
  294.  ld bc,18*256+10
  295.  ld de,87*256+10
  296.  call _ILine
  297.  ld bc,18*256+15
  298.  ld de,87*256+15
  299.  call _ILine
  300.  ld bc,18*256+20
  301.  ld de,87*256+20
  302.  call _ILine
  303.  ld bc,3*256+62
  304.  ld de,7*256+62
  305.  call _ILine
  306.  ld bc,3*256+47
  307.  ld de,13*256+47
  308.  call _ILine
  309.  ld bc,3*256+42
  310.  ld de,13*256+42
  311.  call _ILine
  312.  ld bc,3*256+37
  313.  ld de,13*256+37
  314.  call _ILine
  315.  ld bc,3*256+27
  316.  ld de,13*256+27
  317.  call _ILine
  318.  ld bc,3*256+62
  319.  ld de,3*256+28
  320.  call _ILine
  321.  ld bc,93*256+62
  322.  ld de,93*256+38
  323.  call _ILine
  324.  ld bc,8*256+62
  325.  ld de,8*256+28
  326.  call _ILine
  327.  ld bc,13*256+57
  328.  ld de,13*256+28
  329.  call _ILine
  330.  ld bc,88*256+62
  331.  ld de,88*256+33
  332.  call _ILine
  333.  ld bc,83*256+57
  334.  ld de,83*256+33
  335.  call _ILine
  336.  ld bc,78*256+57
  337.  ld de,78*256+33
  338.  call _ILine
  339.  ld bc,73*256+57
  340.  ld de,73*256+33
  341.  call _ILine
  342.  ld bc,68*256+57
  343.  ld de,68*256+33
  344.  call _ILine
  345.  ld bc,63*256+57
  346.  ld de,63*256+33
  347.  call _ILine
  348.  
  349.  ld bc,13*256+47
  350.  ld de,13*256+33
  351.  ld a,16
  352.  call LineLooper
  353.  
  354.  ld bc,13*256+38
  355.  ld de,13*256+33
  356.  ld a,10
  357.  call LineLooper
  358.  
  359.  ld bc,13*256+33
  360.  ld de,13*256+28
  361.  ld a,9
  362.  call LineLooper
  363.  
  364.  ld bc,13*256+20
  365.  ld de,13*256+10
  366.  ld a,15
  367. LineLooper:
  368.  inc b \ inc b \ inc b \ inc b \ inc b
  369.  inc d \ inc d \ inc d \ inc d \ inc d
  370.  call _ILine
  371.  dec a
  372.  jr nz,LineLooper
  373.  ret
  374.  
  375. DispData:
  376.  set 7,(iy+$14)
  377.  ;--------------
  378.  ld de,6*256+15
  379.  ld hl,BlankStr
  380.  call fvputs
  381.  ld de,6*256+38
  382.  ld hl,BlankStr
  383.  call fvputs
  384.  ;--------------
  385.  ld de,0*256+15
  386.  ld hl,Data
  387.  call fvputs
  388.  ld a,(current)
  389.  dec a
  390.  ld hl,Elements
  391.  call getString
  392.  ld de,6*256+15
  393.  call fvputs
  394.  
  395.  set 3,(iy+$05)
  396.  ld de,57*256+16
  397.  ld hl,Title
  398.  call fvputs
  399.  res 3,(iy+$05)
  400.  
  401.  ld de,35*256+62
  402.  ld hl,HelpStr
  403.  call fvputs
  404.  res 7,(iy+$14)
  405.  ret
  406.  
  407. ElemInfo:
  408.  call Clear
  409.  set 7,(iy+$14)
  410.  ld de,14*256+0
  411.  ld hl,Data
  412.  call fvputs
  413.  ld de,21*256+0
  414.  call fvputs
  415.  ld de,28*256+0
  416.  call fvputs
  417.  ld de,35*256+0
  418.  call fvputs
  419.  
  420.  ld a,(current)
  421.  dec a
  422.  ld de,14*256+45
  423.  ld hl,Elements
  424.  call getString
  425.  call fvputs
  426.  
  427.  ld a,(current)
  428.  dec a
  429.  ld de,21*256+45
  430.  ld hl,Symbols
  431.  call getString
  432.  call fvputs
  433.  
  434.  ld a,(current)
  435.  dec a
  436.  ld de,28*256+45
  437.  ld hl,AtomicNo
  438.  call getString
  439.  call fvputs
  440.  
  441.  ld a,(current)
  442.  dec a
  443.  ld de,35*256+45
  444.  ld hl,MassNo
  445.  call getString
  446.  call fvputs
  447.  
  448.  call _grbufcpy_v
  449.  res 7,(iy+$14)
  450.  call _getkey
  451. RetStart:
  452.  call Clear
  453.  jp   Restart
  454.  
  455. Clear:
  456.  call _clrLCDFull
  457.  jp _grbufclr
  458.  
  459. HelpScreen:
  460.  call Clear
  461.  ld de,$0000
  462.  ld (curcol),de
  463.  ld hl,HelpText
  464.  call _puts
  465.  call _getkey
  466.  call Clear
  467.  jp Restart
  468.  
  469. ;---------= Point hl to string a =---------
  470. ; by: Joe Wingerbermuhle
  471. ; Thanks, this is a lot easier than my
  472. ; method of multiplying string # * 12
  473. ;
  474. ; Input: a=string number (0 to 255)
  475. ;     hl->string data
  476. ; Output: hl->string
  477.  
  478. getString:
  479.  or a
  480.  ret z
  481.  ld b,a
  482.  xor a
  483. getStringL1:
  484.  push bc
  485.  ld c,-1
  486.  cpir 
  487.  pop bc
  488.  djnz getStringL1
  489.  ret
  490.  
  491. fvputs:
  492.  ld (CURSOR_X),de
  493.  jp _vputs
  494.  
  495. ;---------------------------------------
  496. ;82 Equivelents
  497. ;---------------------------------------
  498. _clrLCDFull:
  499.   ROM_CALL(CLEARLCD)
  500.   ret
  501.  
  502. _vputs:
  503.  ROM_CALL(D_ZM_STR)
  504.  ret
  505.  
  506. _puts:
  507.  ROM_CALL(D_ZT_STR)
  508.  ret
  509.  
  510. pencol = CURSOR_X
  511. curcol = CURSOR_POS
  512. _grbufcpy_v = CR_GRBCopy
  513.  
  514. _grbufclr:
  515.        ld hl,$88B8
  516.            ld de,$88B9
  517.            ld bc,$2FF
  518.            ld (hl),0
  519.            ldir
  520.            ret
  521.  
  522. _getkey:
  523.  call GET_KEY
  524.  or a
  525.  ret nz
  526.  jr _getkey
  527.  
  528. _vputmap: 
  529.  ROM_CALL(M_CHARPUT)
  530.  ret
  531.  
  532. _IPoint: ROM_CALL($2E46) \ .DW $40B4 \ .DB $04
  533. _ILine:  ROM_CALL($2E46) \ .DW $4025 \ .DB $04
  534. ;---------------------------------------
  535. ;Data Begins Here
  536. ;---------------------------------------
  537. selectx: .db 0
  538. selecty: .db 0
  539. current: .db 0
  540.  
  541. Title:    .db     " Periodic Table 2.0 ",0
  542. Data:      .db   "Element    :",0
  543.       .db   "Symbol     :",0
  544.       .db    "Atomic No. :",0
  545.       .db   "Atomic Mass:",0
  546. HelpStr:  .db   "Y= : Help",0
  547. HelpText: .db   "-=Help  Screen=-",
  548.       .db   207,5,"-   Move   -",207,5,
  549.       .db    "Enter   -   Info",
  550.       .db   "Mode    -   Quit",
  551.       .db   "Y =     -   Help",
  552.       .db   $0c1,"Ahmed  El-Helw]",0
  553. BlankStr: .db   "                         ",0
  554.  
  555. Elements:
  556. .db    "Hydrogen",0
  557. .db    "Helium",0
  558. .db    "Lithium",0
  559. .db    "Beryllium",0
  560. .db    "Boron",0
  561. .db    "Carbon",0
  562. .db    "Nitrogen",0
  563. .db    "Oxygen",0
  564. .db    "Fluorine",0
  565. .db    "Neon",0
  566. .db    "Sodium",0
  567. .db    "Magnesium",0
  568. .db    "Aluminum",0
  569. .db    "Silicon",0
  570. .db    "Phosphorus",0
  571. .db    "Sulfur",0
  572. .db    "Chlorine",0
  573. .db    "Argon",0
  574. .db    "Potassium",0
  575. .db    "Calcium",0
  576. .db    "Scandium",0
  577. .db    "Titanium",0
  578. .db    "Vandium",0
  579. .db    "Chromium",0
  580. .db    "Manganese",0
  581. .db    "Iron",0
  582. .db    "Cobalt",0
  583. .db    "Nickel",0
  584. .db    "Copper",0
  585. .db    "Zinc",0
  586. .db    "Gallium",0
  587. .db    "Germanium",0
  588. .db    "Arsenic",0
  589. .db    "Selenium",0
  590. .db    "Bromine",0
  591. .db    "Krypton",0
  592. .db    "Rubidium",0
  593. .db    "Strontium",0
  594. .db    "Yttrium",0
  595. .db    "Zirconium",0
  596. .db    "Niobium",0
  597. .db    "Molybdenum",0
  598. .db    "Technetium",0
  599. .db    "Ruthenium",0
  600. .db    "Rhodium",0
  601. .db    "Palladium",0
  602. .db    "Silver",0
  603. .db    "Cadmium",0
  604. .db    "Indium",0
  605. .db    "Tin",0
  606. .db    "Antimony",0
  607. .db    "Tellurium",0
  608. .db    "Iodine",0
  609. .db    "Xenon",0
  610. .db    "Cesium",0
  611. .db    "Barium",0
  612. .db    "Lanthanum",0
  613. .db    "Hafnium",0
  614. .db    "Tantalum",0
  615. .db    "Tungsten",0
  616. .db    "Rhenium",0
  617. .db    "Osmium",0
  618. .db    "Iridum",0
  619. .db    "Platinum",0
  620. .db    "Gold",0
  621. .db    "Mercury",0
  622. .db    "Thallium",0
  623. .db    "Lead",0
  624. .db    "Bismuth",0
  625. .db    "Polonium",0
  626. .db    "Astatine",0
  627. .db    "Radon",0
  628. .db    "Francium",0
  629. .db    "Radium",0
  630. .db    "Actinum",0
  631. .db    "Unnilquadium",0
  632. .db    "Unnilpentium",0
  633. .db    "Unnihexium",0
  634. .db    "Unnilseptium",0
  635. .db    "Unniloctium",0
  636. .db    "Unnilennium",0
  637. .db    "Ununnilium",0
  638. ;-----------------------------
  639. .db    "Cerium",0
  640. .db    "Praseodymium",0
  641. .db    "Neodymium",0
  642. .db    "Promethium",0
  643. .db    "Samarium",0
  644. .db    "Europium",0
  645. .db    "Gadolinium",0
  646. .db    "Terbium",0
  647. .db    "Dysprosium",0
  648. .db    "Homium",0
  649. .db    "Erbium",0
  650. .db    "Thulium",0
  651. .db    "Ytterbium",0
  652. .db    "Lutetium",0
  653. .db    "Thorium",0
  654. .db    "Protactinium",0
  655. .db    "Uranium",0
  656. .db    "Neptunium",0
  657. .db    "Plutonium",0
  658. .db    "Americium",0
  659. .db    "Curium",0
  660. .db    "Berkelium",0
  661. .db    "Californium",0
  662. .db    "Einsteinium",0
  663. .db    "Fermium",0
  664. .db    "Mendelevium",0
  665. .db    "Nobelium",0
  666. .db    "Lawrencium",0
  667.  
  668. AtomicNo:
  669. .db "1",0
  670. .db "2",0
  671. .db "3",0
  672. .db "4",0
  673. .db "5",0
  674. .db "6",0
  675. .db "7",0
  676. .db "8",0
  677. .db "9",0
  678. .db "10",0
  679. .db "11",0
  680. .db "12",0
  681. .db "13",0
  682. .db "14",0
  683. .db "15",0
  684. .db "16",0
  685. .db "17",0
  686. .db "18",0
  687. .db "19",0
  688. .db "20",0
  689. .db "21",0
  690. .db "22",0
  691. .db "23",0
  692. .db "24",0
  693. .db "25",0
  694. .db "26",0
  695. .db "27",0
  696. .db "28",0
  697. .db "29",0
  698. .db "30",0
  699. .db "31",0
  700. .db "32",0
  701. .db "33",0
  702. .db "34",0
  703. .db "35",0
  704. .db "36",0
  705. .db "37",0
  706. .db "38",0
  707. .db "39",0
  708. .db "40",0
  709. .db "41",0
  710. .db "42",0
  711. .db "43",0
  712. .db "44",0
  713. .db "45",0
  714. .db "46",0
  715. .db "47",0
  716. .db "48",0
  717. .db "49",0
  718. .db "50",0
  719. .db "51",0
  720. .db "52",0
  721. .db "53",0
  722. .db "54",0
  723. .db "55",0
  724. .db "56",0
  725. .db "57",0
  726. .db "72",0
  727. .db "73",0
  728. .db "74",0
  729. .db "75",0
  730. .db "76",0
  731. .db "77",0
  732. .db "78",0
  733. .db "79",0
  734. .db "80",0
  735. .db "81",0
  736. .db "82",0
  737. .db "83",0
  738. .db "84",0
  739. .db "85",0
  740. .db "86",0
  741. .db "87",0
  742. .db "88",0
  743. .db "89",0
  744. .db "104",0
  745. .db "105",0
  746. .db "106",0
  747. .db "107",0
  748. .db "108",0
  749. .db "109",0
  750. .db "110",0
  751. .db "58",0
  752. .db "59",0
  753. .db "60",0
  754. .db "61",0
  755. .db "62",0
  756. .db "63",0
  757. .db "64",0
  758. .db "65",0
  759. .db "66",0
  760. .db "67",0
  761. .db "68",0
  762. .db "69",0
  763. .db "70",0
  764. .db "71",0
  765. .db "90",0
  766. .db "91",0
  767. .db "92",0
  768. .db "93",0
  769. .db "94",0
  770. .db "95",0
  771. .db "96",0
  772. .db "97",0
  773. .db "98",0
  774. .db "99",0
  775. .db "100",0
  776. .db "101",0
  777. .db "102",0
  778. .db "103",0
  779.  
  780. Symbols:
  781. .db "H",0
  782. .db "He",0
  783. .db "Li",0
  784. .db "Be",0
  785. .db "B",0
  786. .db "C",0
  787. .db "N",0
  788. .db "O",0
  789. .db "F",0
  790. .db "Ne",0
  791. .db "Na",0
  792. .db "Mg",0
  793. .db "Al",0
  794. .db "Si",0
  795. .db "P",0
  796. .db "S",0
  797. .db "Cl",0
  798. .db "Ar",0
  799. .db "K",0
  800. .db "Ca",0
  801. .db "Sc",0
  802. .db "Ti",0
  803. .db "V",0
  804. .db "Cr",0
  805. .db "Mn",0
  806. .db "Fe",0
  807. .db "Co",0
  808. .db "Ni",0
  809. .db "Cu",0
  810. .db "Zn",0
  811. .db "Ga",0
  812. .db "Ge",0
  813. .db "As",0
  814. .db "Se",0
  815. .db "Br",0
  816. .db "Kr",0
  817. .db "Rb",0
  818. .db "Sr",0
  819. .db "Y",0
  820. .db "Zr",0
  821. .db "Nb",0
  822. .db "Mo",0
  823. .db "Tc",0
  824. .db "Ru",0
  825. .db "Rh",0
  826. .db "Pd",0
  827. .db "Ag",0
  828. .db "Cd",0
  829. .db "In",0
  830. .db "Sn",0
  831. .db "Sb",0
  832. .db "Te",0
  833. .db "I",0
  834. .db "Xe",0
  835. .db "Cs",0
  836. .db "Ba",0
  837. .db "La",0
  838. .db "Hf",0
  839. .db "Ta",0
  840. .db "W",0
  841. .db "Re",0
  842. .db "Os",0
  843. .db "Ir",0
  844. .db "Pt",0
  845. .db "Au",0
  846. .db "Hg",0
  847. .db "Tl",0
  848. .db "Pb",0
  849. .db "Bi",0
  850. .db "Po",0
  851. .db "At",0
  852. .db "Rn",0
  853. .db "Fr",0
  854. .db "Ra",0
  855. .db "Ac",0
  856. .db "Unq",0
  857. .db "Unp",0
  858. .db "Unh",0
  859. .db "Uns",0
  860. .db "Uno",0
  861. .db "Une",0
  862. .db "Uun",0
  863. .db "Ce",0
  864. .db "Pr",0
  865. .db "Nd",0
  866. .db "Pm",0
  867. .db "Sm",0
  868. .db "Eu",0
  869. .db "Gd",0
  870. .db "Tb",0
  871. .db "Dy",0
  872. .db "Ho",0
  873. .db "Er",0
  874. .db "Tm",0
  875. .db "Yb",0
  876. .db "Lu",0
  877. .db "Th",0
  878. .db "Pa",0
  879. .db "U",0
  880. .db "Np",0
  881. .db "Pu",0
  882. .db "Am",0
  883. .db "Cm",0
  884. .db "Bk",0
  885. .db "Cf",0
  886. .db "Es",0
  887. .db "Fm",0
  888. .db "Md",0
  889. .db "No",0
  890. .db "Lr",0
  891.  
  892. MassNo:
  893. .db "1.0079",0
  894. .db "4.003",0
  895. .db "6.941",0
  896. .db "9.012",0
  897. .db "10.811",0
  898. .db "12.011",0
  899. .db "14.007",0
  900. .db "15.999",0
  901. .db "18.998",0
  902. .db "20.180",0
  903. .db "22.990",0
  904. .db "24.305",0
  905. .db "26.982",0
  906. .db "28.086",0
  907. .db "30.974",0
  908. .db "32.066",0
  909. .db "35.453",0
  910. .db "39.948",0
  911. .db "39.098",0
  912. .db "40.08",0
  913. .db "44.956",0
  914. .db "47.88",0
  915. .db "50.942",0
  916. .db "51.996",0
  917. .db "54.938",0
  918. .db "55.847",0
  919. .db "58.933",0
  920. .db "58.69",0
  921. .db "63.546",0
  922. .db "65.39",0
  923. .db "69.723",0
  924. .db "72.61",0
  925. .db "74.922",0
  926. .db "78.96",0
  927. .db "79.904",0
  928. .db "83.80",0
  929. .db "85.47",0
  930. .db "87.62",0
  931. .db "88.906",0
  932. .db "91.224",0
  933. .db "92.906",0
  934. .db "95.94",0
  935. .db "(98)",0
  936. .db "101.07",0
  937. .db "102.91",0
  938. .db "106.42",0
  939. .db "107.87",0
  940. .db "112.41",0
  941. .db "114.82",0
  942. .db "118.71",0
  943. .db "121.75",0
  944. .db "127.60",0
  945. .db "126.90",0
  946. .db "131.29",0
  947. .db "132.90",0
  948. .db "137.33",0
  949. .db "138.91",0
  950. .db "178.49",0
  951. .db "180.95",0
  952. .db "183.85",0
  953. .db "186.21",0
  954. .db "190.2",0
  955. .db "192.22",0
  956. .db "195.08",0
  957. .db "196.97",0
  958. .db "200.59",0
  959. .db "204.38",0
  960. .db "207.2",0
  961. .db "208.98",0
  962. .db "(209)",0
  963. .db "(210)",0
  964. .db "(222)",0
  965. .db "(223)",0
  966. .db "(226)",0
  967. .db "(227)",0
  968. .db "(261)",0
  969. .db "(262)",0
  970. .db "(263)",0
  971. .db "(262)",0
  972. .db "(265)",0
  973. .db "(266)",0
  974. .db "(272)",0
  975. .db "140.12",0
  976. .db "140.91",0
  977. .db "144.24",0
  978. .db "(145)",0
  979. .db "150.36",0
  980. .db "151.96",0
  981. .db "157.25",0
  982. .db "158.92",0
  983. .db "162.50",0
  984. .db "164.93",0
  985. .db "167.26",0
  986. .db "168.93",0
  987. .db "173.04",0
  988. .db "174.97",0
  989. .db "232.04",0
  990. .db "231.04",0
  991. .db "238.03",0
  992. .db "(237.05",0
  993. .db "(244)",0
  994. .db "(243)",0
  995. .db "(247)",0
  996. .db "(247)",0
  997. .db "(251)",0
  998. .db "(254)",0
  999. .db "(257)",0
  1000. .db "(258)",0
  1001. .db "(259)",0
  1002. .db "(260)",0
  1003.  
  1004. .end
  1005.