home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 128_01 / sci.asm < prev    next >
Assembly Source File  |  1985-03-10  |  4KB  |  271 lines

  1. ****************************************
  2. * INITIALIZES THE SORCERER'S SCIENTIFIC*
  3. * CHARACTER SET IN CONFORMITY WITH THE *
  4. * ROFF2, SCISYM, SCIGLOSS CONVENTIONS  *
  5. *  BY E. E. BERGMANN, PHYSICS, BLDG #16*
  6. * LEHIGH UNIVERSITY, BETHLEHEM,PA 18015*
  7. *   JANUARY 1, 1983                    *
  8. ****************************************
  9. BOOT    EQU    0
  10. BDOS    EQU    5
  11. BLKSIZ    EQU    400H
  12. CNTRLZ    EQU    26
  13. CHRGEN    EQU    0FC00H    ;AREA FOR CHR GEN
  14. LDIR    EQU    0B0EDH
  15. *
  16.     ORG    100H
  17.     JMP    START
  18. MSG    DB    'INITIALIZING SORCERER'
  19.     DB    ' SCIENTIFIC CHARACTER'
  20.     DB    ' SET',0DH,0AH
  21.     DB    'BY E. E. BERGMANN'
  22.     DB    ' JANUARY 1, 1983',0DH,0AH
  23.     DB    '$',CNTRLZ
  24. START    LXI    D,MSG
  25.     MVI    C,9    ;PRINT STRING FUNCTION
  26.     CALL    BDOS
  27.     LXI    D,CHRGEN
  28.     LXI    H,DBASE
  29.     LXI    B,BLKSIZ
  30.     DW    LDIR    ;Z80 BLK MOVE
  31.     JMP    BOOT
  32. DBASE    EQU    $
  33.     ORG    DBASE+'*'*8
  34.     DB    0,0,0,18H,18H,0,0,0
  35. *
  36.     ORG    DBASE+'-'*8    ;MINUS INFINITY
  37.     DB    0
  38.     DB    0
  39.     DB    00001010B
  40.     DB    00010101B
  41.     DB    11010101B
  42.     DB    00001010B
  43.     DB    0
  44.     DB    0
  45. *
  46.     ORG    DBASE+'.'*8    ;BLANK
  47.     DB    0,0,0,0,0,0,0,0
  48. *
  49.     ORG    DBASE+'0'*8    ;SUBSCRIPT 0
  50.     DB    0,0,0,0,0
  51.     DB    01100000B
  52.     DB    10010000B
  53.     DB    01100000B
  54. *
  55.     ORG    DBASE+'1'*8    ;SUBSCRIPT 1
  56.     DB    0,0,0,0
  57.     DB    00100000B
  58.     DB    01100000B
  59.     DB    00100000B
  60.     DB    00100000B
  61. *
  62.     ORG    DBASE+'2'*8    ;SUPERSCRIPT 2
  63.     DB    01100000B
  64.     DB    00010000B
  65.     DB    00100000B
  66.     DB    01111000B
  67.     DB    0,0,0,0
  68. *
  69.     ORG    DBASE+'6'*8    ;CURLY DERIVATIVE
  70.     DB    00111000B
  71.     DB    00000100B
  72.     DB    00000010B
  73.     DB    00011110B
  74.     DB    00100010B
  75.     DB    00100010B
  76.     DB    00011100B
  77.     DB    0
  78. *
  79.     ORG    DBASE+'8'*8    ;INFINITY
  80.     DB    0,0
  81.     DB    00110110B
  82.     DB    01001001B
  83.     DB    01001001B
  84.     DB    01001001B
  85.     DB    00110110B
  86.     DB    0
  87. *
  88.     ORG    DBASE+'='*8    ;IDENTITY OP
  89.     DB    0
  90.     DB    01111100B
  91.     DB    0
  92.     DB    01111100B
  93.     DB    0
  94.     DB    01111100B
  95.     DB    0,0
  96. *
  97.     ORG    DBASE+'@'*8    ;DEL OP
  98.     DB    0
  99.     DB    11111110B
  100.     DB    10000010B
  101.     DB    01000100B
  102.     DB    00101000B
  103.     DB    00010000B
  104.     DB    0,0
  105. *
  106.     ORG    DBASE+'D'*8    ;CAP DELTA
  107.     DB    0
  108.     DB    00010000B
  109.     DB    00101000B
  110.     DB    01000100B
  111.     DB    10000010B
  112.     DB    11111110B
  113.     DB    0,0
  114. *
  115.     ORG    DBASE+'I'*8    ;INTEGRAL SIGN
  116.     DB    00001000B
  117.     DB    00010000B
  118.     DB    00010000B
  119.     DB    00010000B
  120.     DB    00010000B
  121.     DB    00010000B
  122.     DB    00010000B
  123.     DB    00100000B
  124. *
  125.     ORG    DBASE+'S'*8    ;CAP SIGMA
  126.     DB    01111110B
  127.     DB    01000000B
  128.     DB    00100000B
  129.     DB    00010000B
  130.     DB    00100000B
  131.     DB    01000000B
  132.     DB    01111110B
  133.     DB    0
  134. *
  135.     ORG    DBASE+'a'*8    ;ALPHA
  136.     DB    0,0
  137.     DB    00111010B
  138.     DB    01000100B
  139.     DB    01000100B
  140.     DB    01000100B
  141.     DB    00111010B
  142.     DB    0
  143. *
  144.     ORG    DBASE+'b'*8    ;BETA
  145.     DB    00011000B
  146.     DB    00100100B
  147.     DB    00100100B
  148.     DB    00111000B
  149.     DB    01000100B
  150.     DB    01000100B
  151.     DB    01111000B
  152.     DB    01000000B
  153. *
  154.     ORG    DBASE+'d'*8    ;delta
  155.     DB    00011000B
  156.     DB    00100100B
  157.     DB    00100000B
  158.     DB    00111000B
  159.     DB    01001000B
  160.     DB    01001000B
  161.     DB    01110000B
  162.     DB    0
  163. *
  164.     ORG    DBASE+'e'*8    ;epsilon
  165.     DB    00011100B
  166.     DB    00100000B
  167.     DB    01000000B
  168.     DB    01111000B
  169.     DB    01000000B
  170.     DB    00100000B
  171.     DB    00011100B
  172.     DB    0
  173. *
  174.     ORG    DBASE+'f'*8    ;phi
  175.     DB    00010000B
  176.     DB    00010000B
  177.     DB    00111000B
  178.     DB    01010100B
  179.     DB    01010100B
  180.     DB    00111000B
  181.     DB    00010000B
  182.     DB    00010000B
  183. *
  184.     ORG    DBASE+'g'*8    ;gamma
  185.     DB    0
  186.     DB    00110010B
  187.     DB    01001100B
  188.     DB    00001000B
  189.     DB    00010000B
  190.     DB    00100000B
  191.     DB    01000000B
  192.     DB    0
  193. *
  194.     ORG    DBASE+'h'*8    ;theta
  195.     DB    00111000B
  196.     DB    01000100B
  197.     DB    01000100B
  198.     DB    01111100B
  199.     DB    01000100B
  200.     DB    01000100B
  201.     DB    00111000B
  202.     DB    0
  203. *
  204.     ORG    DBASE+'l'*8    ;lambda
  205.     DB    01000000B
  206.     DB    00100000B
  207.     DB    00010000B
  208.     DB    00011000B
  209.     DB    00100100B
  210.     DB    01000010B
  211.     DB    01000010B
  212.     DB    0
  213. *
  214.     ORG    DBASE+'p'*8    ;pi
  215.     DB    0,0
  216.     DB    11111110B
  217.     DB    01000100B
  218.     DB    01000100B
  219.     DB    01000100B
  220.     DB    10000010B
  221.     DB    0
  222. *
  223.     ORG    DBASE+'s'*8    ;sigma
  224.     DB    0,0
  225.     DB    00111110B
  226.     DB    01001000B
  227.     DB    01000100B
  228.     DB    01000100B
  229.     DB    00111000B
  230.     DB    0
  231. *
  232.     ORG    DBASE+'u'*8    ;mu
  233.     DB    0,0
  234.     DB    01000100B
  235.     DB    01000100B
  236.     DB    01100100B
  237.     DB    01011000B
  238.     DB    01000000B
  239.     DB    01000000B
  240. *
  241.     ORG    DBASE+'v'*8    ;nu
  242.     DB    0,0
  243.     DB    00100100B
  244.     DB    01000100B
  245.     DB    01001000B
  246.     DB    01010000B
  247.     DB    01100000B
  248.     DB    0
  249. *
  250.     ORG    DBASE+'w'*8    ;omega
  251.     DB    0,0
  252.     DB    01000100B
  253.     DB    10000010B
  254.     DB    10010010B
  255.     DB    10010010B
  256.     DB    01111100B
  257.     DB    0
  258. *
  259.     ORG    DBASE+'z'*8    ;subscript 2
  260.     DB    0,0,0
  261.     DB    00100000B
  262.     DB    01010000B
  263.     DB    00010000B
  264.     DB    00100000B
  265.     DB    01111000B
  266. *
  267.     END
  268.     01000000B
  269.     DB    0
  270. *
  271.     ORG    DBASE+