home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / asm / ucrstdlb / stdlib.a < prev    next >
Text File  |  1991-10-12  |  31KB  |  1,913 lines

  1. StdGrp        group    stdlib, stddata
  2. ;
  3. stddata        segment    para public 'sldata'
  4. stddata        ends
  5. stdlib        segment    para public 'slcode'
  6. stdlib        ends
  7. ;
  8. ;
  9. ; Interface to standard library routines.
  10. ;
  11. ;
  12. ;
  13. slcall    macro    adrs
  14.     db    9ah            ;Far call opcode
  15.     dd    adrs
  16.     endm
  17. ;------------------------------------------------
  18. ;
  19. getc        macro
  20.         ifndef    sl_getc
  21. stdlib        segment    para public 'slcode'
  22.         extrn    sl_getc:far
  23. stdlib        ends
  24.         endif
  25.         slcall    sl_getc
  26.         endm
  27. ;
  28. ;
  29. ;
  30. GetcStdIn    macro
  31.         ifndef    sl_GetcStdIn
  32. stdlib        segment    para public 'slcode'
  33.         extrn    sl_GetcStdIn:far
  34. stdlib        ends                
  35.         endif
  36.         slcall    sl_GetcStdIn
  37.         endm
  38. ;
  39. ;
  40. ;
  41. ;
  42. GetcBIOS    macro
  43.         ifndef    sl_GetcBIOS
  44. stdlib        segment    para public 'slcode'
  45.         extrn    sl_GetcBIOS:far
  46. stdlib        ends
  47.         endif
  48.         slcall    sl_GetcBIOS
  49.         endm
  50. ;
  51. ;
  52. SetInBIOS    macro
  53.         ifndef    sl_SetInBIOS
  54. stdlib        segment    para public 'slcode'
  55.         extrn    sl_SetInBIOS:far
  56. stdlib        ends
  57.         endif
  58.         slcall    sl_SetInBIOS
  59.         endm
  60. ;
  61. SetInStd    macro
  62.         ifndef    sl_SetInStd
  63. stdlib        segment    para public 'slcode'
  64.         extrn    sl_SetInStd:far
  65. stdlib        ends
  66.         endif
  67.         slcall    sl_SetInStd
  68.         endm
  69. ;
  70. ;
  71. ;
  72. SetInAdrs    macro
  73.         ifndef    sl_SetInAdrs
  74. stdlib        segment    para public 'slcode'
  75.         extrn    sl_SetInAdrs:far
  76. stdlib        ends                
  77.         endif
  78.         slcall    sl_SetInAdrs
  79.         endm
  80. ;
  81. ;
  82. GetInAdrs    macro
  83.         ifndef    sl_GetInAdrs
  84. stdlib        segment    para public 'slcode'
  85.         extrn    sl_GetInAdrs:far
  86. stdlib        ends                
  87.         endif
  88.         slcall    sl_GetInAdrs
  89.         endm
  90. ;
  91. ;
  92. PushInAdrs    macro
  93.         ifndef    sl_PushInAdrs
  94. stdlib        segment    para public 'slcode'
  95.         extrn    sl_PushInAdrs:far
  96. stdlib        ends                
  97.         endif
  98.         slcall    sl_PushInAdrs
  99.         endm
  100. ;
  101. ;
  102. PopInAdrs    macro
  103.         ifndef    sl_PopInAdrs
  104. stdlib        segment    para public 'slcode'
  105.         extrn    sl_PopInAdrs:far
  106. stdlib        ends                
  107.         endif
  108.         slcall    sl_PopInAdrs
  109.         endm
  110. ;
  111. ;
  112. ;
  113. gets        macro
  114.         ifndef    sl_gets
  115. stdlib        segment    para public 'slcode'
  116.         extrn    sl_gets:far
  117. stdlib        ends
  118.         endif
  119.         slcall    sl_gets
  120.         endm
  121. ;
  122. getsm        macro
  123.         ifndef    sl_getsm
  124. stdlib        segment    para public 'slcode'
  125.         extrn    sl_getsm:far
  126. stdlib        ends
  127.         endif
  128.         slcall    sl_getsm
  129.         endm
  130. ;
  131. ;
  132. atol        macro
  133.         ifndef    sl_atol
  134. stdlib        segment    para public 'slcode'
  135.         extrn    sl_atol:far
  136. stdlib        ends                
  137.         endif
  138.         slcall    sl_atol
  139.         endm
  140. ;
  141. atoul        macro
  142.         ifndef    sl_atoul
  143. stdlib        segment    para public 'slcode'
  144.         extrn    sl_atoul:far
  145. stdlib        ends                
  146.         endif
  147.         slcall    sl_atoul
  148.         endm
  149. ;
  150. ;
  151. ;
  152. atol2        macro
  153.         ifndef    sl_atol2
  154. stdlib        segment    para public 'slcode'
  155.         extrn    sl_atol2:far
  156. stdlib        ends                
  157.         endif
  158.         slcall    sl_atol2
  159.         endm
  160. ;
  161. atoul2        macro
  162.         ifndef    sl_atoul2
  163. stdlib        segment    para public 'slcode'
  164.         extrn    sl_atoul2:far
  165. stdlib        ends                
  166.         endif
  167.         slcall    sl_atoul2
  168.         endm
  169. ;
  170. ;
  171. ; atoi and atou from atoi.asm
  172. ;
  173. atoi        macro
  174.         ifndef    sl_atoi
  175. stdlib        segment    para public 'slcode'
  176.         extrn    sl_atoi:far
  177. stdlib        ends                
  178.         endif
  179.         slcall    sl_atoi
  180.         endm
  181. ;
  182. atou        macro
  183.         ifndef    sl_atou
  184. stdlib        segment    para public 'slcode'
  185.         extrn    sl_atou:far
  186. stdlib        ends                
  187.         endif
  188.         slcall    sl_atou
  189.         endm
  190. ;
  191. ;
  192. atoi2        macro
  193.         ifndef    sl_atoi2
  194. stdlib        segment    para public 'slcode'
  195.         extrn    sl_atoi2:far
  196. stdlib        ends                
  197.         endif
  198.         slcall    sl_atoi2
  199.         endm
  200. ;
  201. atou2        macro
  202.         ifndef    sl_atou2
  203. stdlib        segment    para public 'slcode'
  204.         extrn    sl_atou2:far
  205. stdlib        ends                
  206.         endif
  207.         slcall    sl_atou2
  208.         endm
  209. ;
  210. ;
  211. ;
  212. atoh        macro
  213.         ifndef    sl_atoh
  214. stdlib        segment    para public 'slcode'
  215.         extrn    sl_atoh:far
  216. stdlib        ends                
  217.         endif
  218.         slcall    sl_atoh
  219.         endm
  220. ;
  221. ;
  222. atolh        macro
  223.         ifndef    sl_atolh
  224. stdlib        segment    para public 'slcode'
  225.         extrn    sl_atolh:far
  226. stdlib        ends                
  227.         endif
  228.         slcall    sl_atolh
  229.         endm
  230. ;
  231. ;
  232. atoh2        macro
  233.         ifndef    sl_atoh2
  234. stdlib        segment    para public 'slcode'
  235.         extrn    sl_atoh2:far
  236. stdlib        ends                
  237.         endif
  238.         slcall    sl_atoh2
  239.         endm
  240. ;
  241. ;
  242. atolh2        macro
  243.         ifndef    sl_atolh2
  244. stdlib        segment    para public 'slcode'
  245.         extrn    sl_atolh2:far
  246. stdlib        ends                
  247.         endif
  248.         slcall    sl_atolh2
  249.         endm
  250. ;
  251. ;
  252. ;------------------------------------------------
  253. ;
  254. ;
  255. ISize        macro
  256.         ifndef    sl_ISize
  257. stdlib        segment    para public 'slcode'
  258.         extrn    sl_ISize:far
  259. stdlib        ends                
  260.         endif
  261.         slcall    sl_Isize
  262.         endm
  263. ;
  264. USize        macro
  265.         ifndef    sl_USize
  266. stdlib        segment    para public 'slcode'
  267.         extrn    sl_USize:far
  268. stdlib        ends                
  269.         endif
  270.         slcall    sl_USize
  271.         endm
  272. ;
  273. ;
  274. ;
  275. LSize        macro
  276.         ifndef    sl_LSize
  277. stdlib        segment    para public 'slcode'
  278.         extrn    sl_LSize:far
  279. stdlib        ends                
  280.         endif
  281.         slcall    sl_Lsize
  282.         endm
  283. ;
  284. ULSize        macro
  285.         ifndef    sl_ULSize
  286. stdlib        segment    para public 'slcode'
  287.         extrn    sl_ULSize:far
  288. stdlib        ends                
  289.         endif
  290.         slcall    sl_ULSize
  291.         endm
  292. ;
  293. ;
  294. ;-----------------------------------------------------------------------
  295. ;
  296. ;
  297. Print        macro
  298.         ifndef    sl_print
  299. stdlib        segment    para public 'slcode'
  300.         extrn    sl_print:far
  301. stdlib        ends                
  302.         endif
  303.         slcall    sl_print
  304.         endm
  305. ;
  306. ;---------------------------------------------------------------------------
  307. ;
  308. ;
  309. Printf        macro
  310.         ifndef    sl_printf
  311. stdlib        segment    para public 'slcode'
  312.         extrn    sl_printf:far
  313. stdlib        ends                
  314.         endif
  315.         slcall    sl_printf
  316.         endm
  317. ;
  318. ;
  319. SPrintf        macro
  320.         ifndef    sl_sprintf
  321. stdlib        segment    para public 'slcode'
  322.         extrn    sl_sprintf:far
  323.         ifndef    sp_BufSize
  324.         extrn    sp_BufSize:word
  325.                 endif
  326. stdlib        ends                
  327.         endif
  328.         slcall    sl_sprintf
  329.         endm
  330. ;
  331. ;
  332. SPrintfm    macro
  333.         ifndef    sl_sprintfm
  334. stdlib        segment    para public 'slcode'
  335.         extrn    sl_sprintfm:far
  336. stdlib        ends                
  337.         endif
  338.         slcall    sl_sprintfm
  339.         endm
  340. ;
  341. ;
  342. ;
  343. Scanf        macro
  344.         ifndef    sl_scanf
  345. stdlib        segment    para public 'slcode'
  346.         extrn    sl_scanf:far
  347. stdlib        ends                
  348.         endif
  349.         slcall    sl_scanf
  350.         endm
  351. ;
  352. SScanf        macro
  353.         ifndef    sl_sscanf
  354. stdlib        segment    para public 'slcode'
  355.         extrn    sl_sscanf:far
  356. stdlib        ends                
  357.         endif
  358.         slcall    sl_sscanf
  359.         endm
  360. ;
  361. ;
  362. ;---------------------------------------------------------------------------
  363. ;
  364. ;
  365. Putc        macro
  366.         ifndef    sl_putc
  367. stdlib        segment    para public 'slcode'
  368.         extrn    sl_putc:far
  369. stdlib        ends                
  370.         endif
  371.         slcall    sl_putc
  372.         endm
  373. ;
  374. ;
  375. Putcr        macro
  376.         ifndef    sl_putcr
  377. stdlib        segment    para public 'slcode'
  378.         extrn    sl_putcr:far
  379. stdlib        ends                
  380.         endif
  381.         slcall    sl_putcr
  382.         endm
  383. ;
  384. ;
  385. ;
  386. PutcStdOut    macro
  387.         ifndef    sl_putcStdOut
  388. stdlib        segment    para public 'slcode'
  389.         extrn    sl_putcStdOut:far
  390. stdlib        ends                
  391.         endif
  392.         slcall    sl_putcStdOut
  393.         endm
  394. ;
  395. ;
  396. ;
  397. PutcBIOS    macro
  398.         ifndef    sl_putcBIOS
  399. stdlib        segment    para public 'slcode'
  400.         extrn    sl_putcBIOS:far
  401. stdlib        ends                
  402.         endif
  403.         slcall    sl_putcBIOS
  404.         endm
  405. ;
  406. ;
  407. ;
  408. SetOutAdrs    macro
  409.         ifndef    sl_SetOutAdrs
  410. stdlib        segment    para public 'slcode'
  411.         extrn    sl_SetOutAdrs:far
  412. stdlib        ends                
  413.         endif
  414.         slcall    sl_SetOutAdrs
  415.         endm
  416. ;
  417. ;
  418. GetOutAdrs    macro
  419.         ifndef    sl_GetOutAdrs
  420. stdlib        segment    para public 'slcode'
  421.         extrn    sl_GetOutAdrs:far
  422. stdlib        ends                
  423.         endif
  424.         slcall    sl_GetOutAdrs
  425.         endm
  426. ;
  427. ;
  428. PushOutAdrs    macro
  429.         ifndef    sl_PushOutAdrs
  430. stdlib        segment    para public 'slcode'
  431.         extrn    sl_PushOutAdrs:far
  432. stdlib        ends                
  433.         endif
  434.         slcall    sl_PushOutAdrs
  435.         endm
  436. ;
  437. ;
  438. PopOutAdrs    macro
  439.         ifndef    sl_PopOutAdrs
  440. stdlib        segment    para public 'slcode'
  441.         extrn    sl_PopOutAdrs:far
  442. stdlib        ends                
  443.         endif
  444.         slcall    sl_PopOutAdrs
  445.         endm
  446. ;
  447. ;
  448. PutISize    macro
  449.         ifndef    sl_putisize
  450. stdlib        segment    para public 'slcode'
  451.         extrn    sl_putisize:far
  452. stdlib        ends                
  453.         endif
  454.         slcall    sl_putisize
  455.         endm
  456. ;
  457. ;
  458. PutUSize    macro
  459.         ifndef    sl_putusize
  460. stdlib        segment    para public 'slcode'
  461.         extrn    sl_putusize:far
  462. stdlib        ends                
  463.         endif
  464.         slcall    sl_putusize
  465.         endm
  466. ;
  467. ;
  468. ;
  469. PutLSize    macro
  470.         ifndef    sl_putlsize
  471. stdlib        segment    para public 'slcode'
  472.         extrn    sl_putlsize:far
  473. stdlib        ends                
  474.         endif
  475.         slcall    sl_putlsize
  476.         endm
  477. ;
  478. ;
  479. PutULSize    macro
  480.         ifndef    sl_putulsize
  481. stdlib        segment    para public 'slcode'
  482.         extrn    sl_putulsize:far
  483. stdlib        ends                
  484.         endif
  485.         slcall    sl_putulsize
  486.         endm
  487. ;
  488. ;
  489. ;---------------------------------------------------------------------------
  490. ;
  491. ;
  492. Puts        macro
  493.         ifndef    sl_puts
  494. stdlib        segment    para public 'slcode'
  495.         extrn    sl_puts:far
  496. stdlib        ends                
  497.         endif
  498.         slcall    sl_puts
  499.         endm
  500. ;
  501. ;
  502. ;----------------------------------------------------------------------------
  503. ;
  504. ;
  505. Puth        macro
  506.         ifndef    sl_puth
  507. stdlib        segment    para public 'slcode'
  508.         extrn    sl_puth:far
  509. stdlib        ends                
  510.         endif
  511.         slcall    sl_puth
  512.         endm
  513. ;
  514. ;
  515. Putw        macro
  516.         ifndef    sl_putw
  517. stdlib        segment    para public 'slcode'
  518.         extrn    sl_putw:far
  519. stdlib        ends                
  520.         endif
  521.         slcall    sl_putw
  522.         endm
  523. ;
  524. ;---------------------------------------------------------------------------
  525. ;
  526. Puti        macro
  527.         ifndef    sl_puti
  528. stdlib        segment    para public 'slcode'
  529.         extrn    sl_puti:far
  530. stdlib        ends                
  531.         endif
  532.         slcall    sl_puti
  533.         endm
  534. ;
  535. ;
  536. Putu        macro
  537.         ifndef    sl_putu
  538. stdlib        segment    para public 'slcode'
  539.         extrn    sl_putu:far
  540. stdlib        ends                
  541.         endif
  542.         slcall    sl_putu
  543.         endm
  544. ;
  545. ;
  546. ;
  547. Putl        macro
  548.         ifndef    sl_putl
  549. stdlib        segment    para public 'slcode'
  550.         extrn    sl_putl:far
  551. stdlib        ends                
  552.         endif
  553.         slcall    sl_putl
  554.         endm
  555. ;
  556. ;
  557. PutUL        macro
  558.         ifndef    sl_putul
  559. stdlib        segment    para public 'slcode'
  560.         extrn    sl_putul:far
  561. stdlib        ends                
  562.         endif
  563.         slcall    sl_putul
  564.         endm
  565. ;
  566. ;
  567. ;--------------------------------------------------------------------------
  568. ;
  569. ;
  570. itoa        macro
  571.         ifndef    sl_itoa
  572. stdlib        segment    para public 'slcode'
  573.         extrn    sl_itoa:far
  574. stdlib        ends
  575.         endif
  576.         slcall    sl_itoa
  577.         endm
  578. ;
  579. ;
  580. itoam        macro
  581.         ifndef    sl_itoam
  582. stdlib        segment    para public 'slcode'
  583.         extrn    sl_itoam:far
  584. stdlib        ends
  585.         endif
  586.         slcall    sl_itoam
  587.         endm
  588. ;
  589. itoa2        macro
  590.         ifndef    sl_itoa2
  591. stdlib        segment    para public 'slcode'
  592.         extrn    sl_itoa2:far
  593. stdlib        ends
  594.         endif
  595.         slcall    sl_itoa2
  596.         endm
  597. ;
  598. ;
  599. utoa        macro
  600.         ifndef    sl_utoa
  601. stdlib        segment    para public 'slcode'
  602.         extrn    sl_utoa:far
  603. stdlib        ends
  604.         endif
  605.         slcall    sl_utoa
  606.         endm
  607. ;
  608. utoam        macro
  609.         ifndef    sl_utoam
  610. stdlib        segment    para public 'slcode'
  611.         extrn    sl_utoam:far
  612. stdlib        ends
  613.         endif
  614.         slcall    sl_utoam
  615.         endm
  616. ;
  617. utoa2        macro
  618.         ifndef    sl_utoa2
  619. stdlib        segment    para public 'slcode'
  620.         extrn    sl_utoa2:far
  621. stdlib        ends
  622.         endif
  623.         slcall    sl_utoa2
  624.         endm
  625. ;
  626. ;
  627. ;
  628. htoa        macro
  629.         ifndef    sl_htoa
  630. stdlib        segment    para public 'slcode'
  631.         extrn    sl_htoa:far
  632. stdlib        ends
  633.         endif
  634.         slcall    sl_htoa
  635.         endm
  636. ;
  637. htoam        macro
  638.         ifndef    sl_htoam
  639. stdlib        segment    para public 'slcode'
  640.         extrn    sl_htoam:far
  641. stdlib        ends
  642.         endif
  643.         slcall    sl_htoam
  644.         endm
  645. ;
  646. htoa2        macro
  647.         ifndef    sl_htoa2
  648. stdlib        segment    para public 'slcode'
  649.         extrn    sl_htoa2:far
  650. stdlib        ends
  651.         endif
  652.         slcall    sl_htoa2
  653.         endm
  654. ;
  655. ;
  656. wtoa        macro
  657.         ifndef    sl_wtoa
  658. stdlib        segment    para public 'slcode'
  659.         extrn    sl_wtoa:far
  660. stdlib        ends
  661.         endif
  662.         slcall    sl_wtoa
  663.         endm
  664. ;
  665. wtoam        macro
  666.         ifndef    sl_wtoam
  667. stdlib        segment    para public 'slcode'
  668.         extrn    sl_wtoam:far
  669. stdlib        ends
  670.         endif
  671.         slcall    sl_wtoam
  672.         endm
  673. ;
  674. wtoa2        macro
  675.         ifndef    sl_wtoa2
  676. stdlib        segment    para public 'slcode'
  677.         extrn    sl_wtoa2:far
  678. stdlib        ends
  679.         endif
  680.         slcall    sl_wtoa2
  681.         endm
  682. ;
  683. ;
  684. ;
  685. ltoa        macro
  686.         ifndef    sl_ltoa
  687. stdlib        segment    para public 'slcode'
  688.         extrn    sl_ltoa:far
  689. stdlib        ends
  690.         endif
  691.         slcall    sl_ltoa
  692.         endm
  693. ;
  694. ltoam        macro
  695.         ifndef    sl_ltoam
  696. stdlib        segment    para public 'slcode'
  697.         extrn    sl_ltoam:far
  698. stdlib        ends
  699.         endif
  700.         slcall    sl_ltoam
  701.         endm
  702. ;
  703. ltoa2        macro
  704.         ifndef    sl_ltoa2
  705. stdlib        segment    para public 'slcode'
  706.         extrn    sl_ltoa2:far
  707. stdlib        ends
  708.         endif
  709.         slcall    sl_ltoa2
  710.         endm
  711. ;
  712. ;
  713. ;
  714. ultoa        macro
  715.         ifndef    sl_ultoa
  716. stdlib        segment    para public 'slcode'
  717.         extrn    sl_ultoa:far
  718. stdlib        ends
  719.         endif
  720.         slcall    sl_ultoa
  721.         endm
  722. ;
  723. ultoam        macro
  724.         ifndef    sl_ultoam
  725. stdlib        segment    para public 'slcode'
  726.         extrn    sl_ultoam:far
  727. stdlib        ends
  728.         endif
  729.         slcall    sl_ultoam
  730.         endm
  731. ;
  732. ultoa2        macro
  733.         ifndef    sl_ultoa2
  734. stdlib        segment    para public 'slcode'
  735.         extrn    sl_ultoa2:far
  736. stdlib        ends
  737.         endif
  738.         slcall    sl_ultoa2
  739.         endm
  740. ;
  741. ;
  742. ;
  743. MemInit        macro
  744.         ifndef    sl_MemInit
  745. stdlib        segment    para public 'slcode'
  746.         extrn    sl_MemInit:far
  747. stdlib        ends
  748.         endif
  749.         slcall    sl_MemInit
  750.         endm
  751. ;
  752. ;
  753. ;
  754. malloc        macro
  755.         ifndef    sl_malloc
  756. stdlib        segment    para public 'slcode'
  757.         extrn    sl_malloc:far
  758. stdlib        ends
  759.         endif
  760.         slcall    sl_malloc
  761.         endm
  762. ;
  763. ;
  764. realloc        macro
  765.         ifndef    sl_realloc
  766. stdlib        segment    para public 'slcode'
  767.         extrn    sl_realloc:far
  768. stdlib        ends
  769.         endif
  770.         slcall    sl_realloc
  771.         endm
  772. ;
  773. ;
  774. DupPtr        macro
  775.         ifndef    sl_dupptr
  776. stdlib        segment    para public 'slcode'
  777.         extrn    sl_dupptr:far
  778. stdlib        ends
  779.         endif
  780.         slcall    sl_dupptr
  781.         endm
  782. ;
  783. ;
  784. free        macro
  785.         ifndef    sl_free
  786. stdlib        segment    para public 'slcode'
  787.         extrn    sl_free:far
  788. stdlib        ends
  789.         endif
  790.         slcall    sl_free
  791.         endm
  792. ;
  793. ;
  794. ;
  795. ;
  796. IsInHeap    macro
  797.         ifndef    sl_IsInHeap
  798. stdlib        segment    para public 'slcode'
  799.         extrn    sl_IsInHeap:far
  800. stdlib        ends
  801.         endif
  802.         slcall    sl_IsInHeap
  803.         endm
  804. ;
  805. ;
  806. IsPtr        macro
  807.         ifndef    sl_IsPtr
  808. stdlib        segment    para public 'slcode'
  809.         extrn    sl_IsPtr:far
  810. stdlib        ends
  811.         endif
  812.         slcall    sl_IsPtr
  813.         endm
  814. ;
  815. ;
  816. ;---------------------------------------------------------------------------
  817. ;
  818. IsAlNum        macro
  819.         ifndef    sl_IsAlNum
  820. stdlib        segment    para public 'slcode'
  821.         extrn    sl_IsAlNum:far
  822. stdlib        ends
  823.         endif
  824.         slcall    sl_IsAlNum
  825.         endm
  826. ;
  827. ;
  828. ; IsxDigit- Checks al to see if it is a hex digit.
  829. ;
  830. IsxDigit    macro
  831.         ifndef    sl_IsxDigit
  832. stdlib        segment    para public 'slcode'
  833.         extrn    sl_IsxDigit:far
  834. stdlib        ends
  835.         endif
  836.         slcall    sl_IsxDigit
  837.         endm
  838. ;
  839. ;
  840. ;
  841. ToLower        macro
  842.         local    NoCnvrt
  843.         cmp    al, 'A'
  844.         jb    NoCnvrt
  845.         cmp    al, 'Z'
  846.         ja    NoCnvrt
  847.         or    al, 20h
  848. NoCnvrt:
  849.         endm
  850. ;
  851. ;
  852. ;
  853. ToUpper        macro
  854.         local    NoCnvrt
  855.         cmp    al, 'a'
  856.         jb    NoCnvrt
  857.         cmp    al, 'z'
  858.         ja    NoCnvrt
  859.         and    al, 05fh
  860. NoCnvrt:
  861.         endm
  862. ;
  863. ;
  864. ;
  865. IsDigit        macro
  866.         local    NotDigit, IsDigit
  867.         cmp    al, '0'
  868.         jb    NotDigit         ;Note: this also clears ZF.
  869.         cmp    al, '9'
  870.         ja    NotDigit        ;Also clears ZF.
  871.         cmp    al, al            ;Set Zero flag
  872. NotDigit:
  873.         endm
  874. ;
  875. ;
  876. ;
  877. IsAlpha        macro
  878.         local    IsAl, NotAlpha
  879.         cmp    al, 'A'
  880.         jb    NotAlpha        ;Also clears ZF.
  881.         cmp    al, 'Z'
  882.         jbe    IsAl
  883.         cmp    al, 'a'
  884.         jb    NotAlpha
  885.         cmp    al, 'z'
  886.         ja    NotAlpha
  887. IsAl:        cmp    al, al            ;Set ZF.
  888. NotAlpha:
  889.         endm
  890. ;
  891. ;
  892. IsLower        macro
  893.         local    NotLower
  894.         cmp    al, 'a'
  895.         jb    NotLower
  896.         cmp    al, 'z'
  897.         ja    NotLower
  898.         cmp    al, al            ;Set ZF.
  899. NotLower:
  900.         endm
  901. ;
  902. ;
  903. ; IsUpper-    Checks to see if the character in al is upper case.
  904. ;
  905. IsUpper        macro
  906.         local    NotUpper
  907.         cmp    al, 'A'
  908.         jb    NotUpper
  909.         cmp    al, 'Z'
  910.         ja    NotUpper
  911.         cmp    al, al            ;Set ZF.
  912. NotUpper:
  913.         endm
  914. ;
  915. ;
  916. ;--------------------------------------------------------------------------
  917. ;
  918. ;
  919. strcpy        macro
  920.         ifndef    sl_strcpy
  921. stdlib        segment    para public 'slcode'
  922.         extrn    sl_strcpy:far
  923. stdlib        ends
  924.         endif
  925.         slcall    sl_strcpy
  926.         endm
  927. ;
  928. ;
  929. ;
  930. ;
  931. strcpyl        macro
  932.         ifndef    sl_strcpyl
  933. stdlib        segment    para public 'slcode'
  934.         extrn    sl_strcpyl:far
  935. stdlib        ends
  936.         endif
  937.         slcall    sl_strcpyl
  938.         endm
  939. ;
  940. ;
  941. ;
  942. strdup        macro
  943.         ifndef    sl_strdup
  944. stdlib        segment    para public 'slcode'
  945.         extrn    sl_strdup:far
  946. stdlib        ends
  947.         endif
  948.         slcall    sl_strdup
  949.         endm
  950. ;
  951. ;
  952. ;
  953. strdupl        macro
  954.         ifndef    sl_strdupl
  955. stdlib        segment    para public 'slcode'
  956.         extrn    sl_strdupl:far
  957. stdlib        ends
  958.         endif
  959.         slcall    sl_strdupl
  960.         endm
  961. ;
  962. ;
  963. strlen        macro
  964.         ifndef    sl_strlen
  965. stdlib        segment    para public 'slcode'
  966.         extrn    sl_strlen:far
  967. stdlib        ends
  968.         endif
  969.         slcall    sl_strlen
  970.         endm
  971. ;
  972. ;
  973. strcat        macro
  974.         ifndef    sl_strcat
  975. stdlib        segment    para public 'slcode'
  976.         extrn    sl_strcat:far
  977. stdlib        ends
  978.         endif
  979.         slcall    sl_strcat
  980.         endm
  981. ;
  982. ;
  983. strcatl        macro
  984.         ifndef    sl_strcatl
  985. stdlib        segment    para public 'slcode'
  986.         extrn    sl_strcatl:far
  987. stdlib        ends
  988.         endif
  989.         slcall    sl_strcatl
  990.         endm
  991. ;
  992. ;
  993. strcatm        macro
  994.         ifndef    sl_strcatm
  995. stdlib        segment    para public 'slcode'
  996.         extrn    sl_strcatm:far
  997. stdlib        ends
  998.         endif
  999.         slcall    sl_strcatm
  1000.         endm
  1001. ;
  1002. ;
  1003. ;
  1004. strcatml    macro
  1005.         ifndef    sl_strcatml
  1006. stdlib        segment    para public 'slcode'
  1007.         extrn    sl_strcatml:far
  1008. stdlib        ends
  1009.         endif
  1010.         slcall    sl_strcatml
  1011.         endm
  1012. ;
  1013. ;
  1014. ;
  1015. strchr        macro
  1016.         ifndef    sl_strchr
  1017. stdlib        segment    para public 'slcode'
  1018.         extrn    sl_strchr:far
  1019. stdlib        ends
  1020.         endif
  1021.         slcall    sl_strchr
  1022.         endm
  1023. ;
  1024. ;
  1025. strstr        macro
  1026.         ifndef    sl_strstr
  1027. stdlib        segment    para public 'slcode'
  1028.         extrn    sl_strstr:far
  1029. stdlib        ends
  1030.         endif
  1031.         slcall    sl_strstr
  1032.         endm
  1033. ;
  1034. ;
  1035. ;
  1036. strstrl        macro
  1037.         ifndef    sl_strstrl
  1038. stdlib        segment    para public 'slcode'
  1039.         extrn    sl_strstrl:far
  1040. stdlib        ends
  1041.         endif
  1042.         slcall    sl_strstrl
  1043.         endm
  1044. ;
  1045. ;
  1046. ;
  1047. strcmp        macro
  1048.         ifndef    sl_strcmp
  1049. stdlib        segment    para public 'slcode'
  1050.         extrn    sl_strcmp:far
  1051. stdlib        ends
  1052.         endif
  1053.         slcall    sl_strcmp
  1054.         endm
  1055. ;
  1056. ;
  1057. ; stricmp-    As with strcmp above, except it is case insensitive.
  1058. ;
  1059. stricmp        macro
  1060.         ifndef    sl_stricmp
  1061. stdlib        segment    para public 'slcode'
  1062.         extrn    sl_stricmp:far
  1063. stdlib        ends
  1064.         endif
  1065.         slcall    sl_stricmp
  1066.         endm
  1067. ;
  1068. ;
  1069. stricmpl    macro
  1070.         ifndef    sl_stricmpl
  1071. stdlib        segment    para public 'slcode'
  1072.         extrn    sl_stricmpl:far
  1073. stdlib        ends
  1074.         endif
  1075.         slcall    sl_stricmpl
  1076.         endm
  1077. ;
  1078. strcmpl        macro
  1079.         ifndef    sl_strcmpl
  1080. stdlib        segment    para public 'slcode'
  1081.         extrn    sl_strcmpl:far
  1082. stdlib        ends
  1083.         endif
  1084.         slcall    sl_strcmpl
  1085.         endm
  1086. ;
  1087. ;
  1088. strupr        macro
  1089.         ifndef    sl_strupr
  1090. stdlib        segment    para public 'slcode'
  1091.         extrn    sl_strupr:far
  1092. stdlib        ends
  1093.         endif
  1094.         slcall    sl_strupr
  1095.         endm
  1096. ;
  1097. ;
  1098. struprm        macro
  1099.         ifndef    sl_struprm
  1100. stdlib        segment    para public 'slcode'
  1101.         extrn    sl_struprm:far
  1102. stdlib        ends
  1103.         endif
  1104.         slcall    sl_struprm
  1105.         endm
  1106. ;
  1107. ;
  1108. strlwr        macro
  1109.         ifndef    sl_strlwr
  1110. stdlib        segment    para public 'slcode'
  1111.         extrn    sl_strlwr:far
  1112. stdlib        ends
  1113.         endif
  1114.         slcall    sl_strlwr
  1115.         endm
  1116. ;
  1117. ;
  1118. strlwrm        macro
  1119.         ifndef    sl_strlwrm
  1120. stdlib        segment    para public 'slcode'
  1121.         extrn    sl_strlwrm:far
  1122. stdlib        ends
  1123.         endif
  1124.         slcall    sl_strlwrm
  1125.         endm
  1126. ;
  1127. ;
  1128. strset        macro
  1129.         ifndef    sl_strset
  1130. stdlib        segment    para public 'slcode'
  1131.         extrn    sl_strset:far
  1132. stdlib        ends
  1133.         endif
  1134.         slcall    sl_strset
  1135.         endm
  1136. ;
  1137. ;
  1138. strsetm        macro
  1139.         ifndef    sl_strsetm
  1140. stdlib        segment    para public 'slcode'
  1141.         extrn    sl_strsetm:far
  1142. stdlib        ends
  1143.         endif
  1144.         slcall    sl_strsetm
  1145.         endm
  1146. ;
  1147. ;
  1148. strspan        macro
  1149.         ifndef    sl_strspan
  1150. stdlib        segment    para public 'slcode'
  1151.         extrn    sl_strspan:far
  1152. stdlib        ends
  1153.         endif
  1154.         slcall    sl_strspan
  1155.         endm
  1156. ;
  1157. ;
  1158. ;
  1159. strspanl    macro
  1160.         ifndef    sl_strspanl
  1161. stdlib        segment    para public 'slcode'
  1162.         extrn    sl_strspanl:far
  1163. stdlib        ends
  1164.         endif
  1165.         slcall    sl_strspanl
  1166.         endm
  1167. ;
  1168. ;
  1169. ;
  1170. strcspan    macro
  1171.         ifndef    sl_strcspan
  1172. stdlib        segment    para public 'slcode'
  1173.         extrn    sl_strcspan:far
  1174. stdlib        ends
  1175.         endif
  1176.         slcall    sl_strcspan
  1177.         endm
  1178. ;
  1179. ;
  1180. ;
  1181. strcspanl    macro
  1182.         ifndef    sl_strcspanl
  1183. stdlib        segment    para public 'slcode'
  1184.         extrn    sl_strcspanl:far
  1185. stdlib        ends
  1186.         endif
  1187.         slcall    sl_strcspanl
  1188.         endm
  1189. ;
  1190. ;
  1191. strins        macro
  1192.         ifndef    sl_strins
  1193. stdlib        segment    para public 'slcode'
  1194.         extrn    sl_strins:far
  1195. stdlib        ends
  1196.         endif
  1197.         slcall    sl_strins
  1198.         endm
  1199. ;
  1200. strinsl        macro
  1201.         ifndef    sl_strinsl
  1202. stdlib        segment    para public 'slcode'
  1203.         extrn    sl_strinsl:far
  1204. stdlib        ends
  1205.         endif
  1206.         slcall    sl_strinsl
  1207.         endm
  1208. ;
  1209. ;
  1210. strinsm        macro
  1211.         ifndef    sl_strinsm
  1212. stdlib        segment    para public 'slcode'
  1213.         extrn    sl_strinsm:far
  1214. stdlib        ends
  1215.         endif
  1216.         slcall    sl_strinsm
  1217.         endm
  1218. ;
  1219. strinsml    macro
  1220.         ifndef    sl_strinsml
  1221. stdlib        segment    para public 'slcode'
  1222.         extrn    sl_strinsml:far
  1223. stdlib        ends
  1224.         endif
  1225.         slcall    sl_strinsml
  1226.         endm
  1227. ;
  1228. strdel        macro
  1229.         ifndef    sl_strdel
  1230. stdlib        segment    para public 'slcode'
  1231.         extrn    sl_strdel:far
  1232. stdlib        ends
  1233.         endif
  1234.         slcall    sl_strdel
  1235.         endm
  1236. ;
  1237. strdelm        macro
  1238.         ifndef    sl_strdelm
  1239. stdlib        segment    para public 'slcode'
  1240.         extrn    sl_strdelm:far
  1241. stdlib        ends
  1242.         endif
  1243.         slcall    sl_strdelm
  1244.         endm
  1245. ;
  1246. strrev        macro
  1247.         ifndef    sl_strrev
  1248. stdlib        segment    para public 'slcode'
  1249.         extrn    sl_strrev:far
  1250. stdlib        ends
  1251.         endif
  1252.         slcall    sl_strrev
  1253.         endm
  1254. ;
  1255. strrevm        macro
  1256.         ifndef    sl_strrevm
  1257. stdlib        segment    para public 'slcode'
  1258.         extrn    sl_strrevm:far
  1259. stdlib        ends
  1260.         endif
  1261.         slcall    sl_strrevm
  1262.         endm
  1263. ;
  1264. ;
  1265. ;
  1266. ;
  1267. set        macro    n0,n1,n2,n3,n4,n5,n6,n7
  1268. n0        db    1
  1269. n1        db    2
  1270. n2        db    4
  1271. n3        db    8
  1272. n4        db    10h
  1273. n5        db    20h
  1274. n6        db    40h
  1275. n7        db    80h
  1276.         db    264 dup (0)
  1277.         endm
  1278. ;
  1279. ;
  1280. CreateSets    macro
  1281.         ifndef    sl_CreateSets
  1282. stdlib        segment    para public 'slcode'
  1283.         extrn    sl_CreateSets:far
  1284. stdlib        ends
  1285.         endif
  1286.         slcall    sl_CreateSets
  1287.         endm
  1288. ;
  1289. ;
  1290. EmptySet    macro
  1291.         ifndef    sl_EmptySet
  1292. stdlib        segment    para public 'slcode'
  1293.         extrn    sl_EmptySet:far
  1294. stdlib        ends
  1295.         endif
  1296.         slcall    sl_EmptySet
  1297.         endm
  1298. ;
  1299. ;
  1300. RangeSet    macro
  1301.         ifndef    sl_RangeSet
  1302. stdlib        segment    para public 'slcode'
  1303.         extrn    sl_RangeSet:far
  1304. stdlib        ends
  1305.         endif
  1306.         slcall    sl_RangeSet
  1307.         endm
  1308. ;
  1309. ;
  1310. AddStr        macro
  1311.         ifndef    sl_AddStr
  1312. stdlib        segment    para public 'slcode'
  1313.         extrn    sl_AddStr:far
  1314. stdlib        ends
  1315.         endif
  1316.         slcall    sl_AddStr
  1317.         endm
  1318. ;
  1319. ;
  1320. AddStrl        macro
  1321.         ifndef    sl_AddStrl
  1322. stdlib        segment    para public 'slcode'
  1323.         extrn    sl_AddStrl:far
  1324. stdlib        ends
  1325.         endif
  1326.         slcall    sl_AddStrl
  1327.         endm
  1328. ;
  1329. ;
  1330. RmvStr        macro
  1331.         ifndef    sl_RmvStr
  1332. stdlib        segment    para public 'slcode'
  1333.         extrn    sl_RmvStr:far
  1334. stdlib        ends
  1335.         endif
  1336.         slcall    sl_RmvStr
  1337.         endm
  1338. ;
  1339. ;
  1340. RmvStrl        macro
  1341.         ifndef    sl_RmvStrl
  1342. stdlib        segment    para public 'slcode'
  1343.         extrn    sl_RmvStrl:far
  1344. stdlib        ends
  1345.         endif
  1346.         slcall    sl_RmvStrl
  1347.         endm
  1348. ;
  1349. ;
  1350. AddChar        macro
  1351.         ifndef    sl_AddChar
  1352. stdlib        segment    para public 'slcode'
  1353.         extrn    sl_AddChar:far
  1354. stdlib        ends
  1355.         endif
  1356.         slcall    sl_AddChar
  1357.         endm
  1358. ;
  1359. ;
  1360. RmvChar        macro
  1361.         ifndef    sl_RmvChar
  1362. stdlib        segment    para public 'slcode'
  1363.         extrn    sl_RmvChar:far
  1364. stdlib        ends
  1365.         endif
  1366.         slcall    sl_RmvChar
  1367.         endm
  1368. ;
  1369. ;
  1370. Member        macro
  1371.         ifndef    sl_member
  1372. stdlib        segment    para public 'slcode'
  1373.         extrn    sl_member:far
  1374. stdlib        ends
  1375.         endif
  1376.         slcall    sl_member
  1377.         endm
  1378. ;
  1379. ;
  1380. CopySet        macro
  1381.         ifndef    sl_CopySet
  1382. stdlib        segment    para public 'slcode'
  1383.         extrn    sl_CopySet:far
  1384. stdlib        ends
  1385.         endif
  1386.         slcall    sl_CopySet
  1387.         endm
  1388. ;
  1389. ;
  1390. setunion    macro
  1391.         ifndef    sl_union
  1392. stdlib        segment    para public 'slcode'
  1393.         extrn    sl_union:far
  1394. stdlib        ends
  1395.         endif
  1396.         slcall    sl_union
  1397.         endm
  1398. ;
  1399. ;
  1400. SetIntersect    macro
  1401.         ifndef    sl_Intersect
  1402. stdlib        segment    para public 'slcode'
  1403.         extrn    sl_Intersect:far
  1404. stdlib        ends
  1405.         endif
  1406.         slcall    sl_Intersect
  1407.         endm
  1408. ;
  1409. ;
  1410. SetDifference    macro
  1411.         ifndef    sl_Difference
  1412. stdlib        segment    para public 'slcode'
  1413.         extrn    sl_Difference:far
  1414. stdlib        ends
  1415.         endif
  1416.         slcall    sl_Difference
  1417.         endm
  1418. ;
  1419. ;
  1420. NextItem    macro
  1421.         ifndef    sl_NextItem
  1422. stdlib        segment    para public 'slcode'
  1423.         extrn    sl_NextItem:far
  1424. stdlib        ends
  1425.         endif
  1426.         slcall    sl_NextItem
  1427.         endm
  1428. ;
  1429. ;
  1430. RmvItem        macro
  1431.         ifndef    sl_RmvItem
  1432. stdlib        segment    para public 'slcode'
  1433.         extrn    sl_RmvItem:far
  1434. stdlib        ends
  1435.         endif
  1436.         slcall    sl_RmvItem
  1437.         endm
  1438. ;
  1439. ;---------------------------------------------------------------------------
  1440. ;
  1441. ;
  1442. ; Macros for floating point arithmetic.
  1443. ;
  1444. ; Load single precision value into FPACC:
  1445. ;
  1446. lsfpa        macro
  1447.         ifndef    sl_lsfpa
  1448. stdlib        segment    para public 'slcode'
  1449.         extrn    sl_lsfpa:far
  1450. stdlib        ends
  1451.         endif
  1452.         call    sl_lsfpa
  1453.         endm
  1454. ;
  1455. ;
  1456. ; Store FPACC to a single precision value:
  1457. ;
  1458. ssfpa        macro
  1459.         ifndef    sl_ssfpa
  1460. stdlib        segment    para public 'slcode'
  1461.         extrn    sl_ssfpa:far
  1462. stdlib        ends
  1463.         endif
  1464.         call    sl_ssfpa
  1465.         endm
  1466. ;
  1467. ; Load double precision value into FPACC:
  1468. ;
  1469. ldfpa        macro
  1470.         ifndef    sl_ldfpa
  1471. stdlib        segment    para public 'slcode'
  1472.         extrn    sl_ldfpa:far
  1473. stdlib        ends
  1474.         endif
  1475.         call    sl_ldfpa
  1476.         endm
  1477. ;
  1478. ;
  1479. ; Store FPACC into a double precision variable:
  1480. ;
  1481. sdfpa        macro
  1482.         ifndef    sl_sdfpa
  1483. stdlib        segment    para public 'slcode'
  1484.         extrn    sl_sdfpa:far
  1485. stdlib        ends
  1486.         endif
  1487.         call    sl_sdfpa
  1488.         endm
  1489. ;
  1490. ;
  1491. ; Load extended precision value into FPACC:
  1492. ;
  1493. lefpa        macro
  1494.         ifndef    sl_lefpa
  1495. stdlib        segment    para public 'slcode'
  1496.         extrn    sl_lefpa:far
  1497. stdlib        ends
  1498.         endif
  1499.         call    sl_lefpa
  1500.         endm
  1501. ;
  1502. ; Load double precision value into FPACC:
  1503. ;
  1504. lefpal        macro
  1505.         ifndef    sl_lefpal
  1506. stdlib        segment    para public 'slcode'
  1507.         extrn    sl_lefpal:far
  1508. stdlib        ends
  1509.         endif
  1510.         call    sl_lefpal
  1511.         endm
  1512. ;
  1513. ; Store FPACC into an extended precision variable:
  1514. ;
  1515. sefpa        macro
  1516.         ifndef    sl_sefpa
  1517. stdlib        segment    para public 'slcode'
  1518.         extrn    sl_sefpa:far
  1519. stdlib        ends
  1520.         endif
  1521.         call    sl_sefpa
  1522.         endm
  1523. ;
  1524. ; Load single precision value into FPOP:
  1525. ;
  1526. lsfpo        macro
  1527.         ifndef    sl_lsfpo
  1528. stdlib        segment    para public 'slcode'
  1529.         extrn    sl_lsfpo:far
  1530. stdlib        ends
  1531.         endif
  1532.         call    sl_lsfpo
  1533.         endm
  1534. ;
  1535. ; Load double precision value into FPOP:
  1536. ;
  1537. ldfpo        macro
  1538.         ifndef    sl_ldfpo
  1539. stdlib        segment    para public 'slcode'
  1540.         extrn    sl_ldfpo:far
  1541. stdlib        ends
  1542.         endif
  1543.         call    sl_ldfpo
  1544.         endm
  1545. ;
  1546. ; Load extended precision value into FPOP:
  1547. ;
  1548. lefpo        macro
  1549.         ifndef    sl_lefpo
  1550. stdlib        segment    para public 'slcode'
  1551.         extrn    sl_lefpo:far
  1552. stdlib        ends
  1553.         endif
  1554.         call    sl_lefpo
  1555.         endm
  1556. ;
  1557. ; Load extended precision value into FPOP:
  1558. ;
  1559. lefpol        macro
  1560.         ifndef    sl_lefpol
  1561. stdlib        segment    para public 'slcode'
  1562.         extrn    sl_lefpol:far
  1563. stdlib        ends
  1564.         endif
  1565.         call    sl_lefpol
  1566.         endm
  1567. ;
  1568. ; ITOF-    Convert integer to floating point.
  1569. ;
  1570. itof        macro
  1571.         ifndef    sl_itof
  1572. stdlib        segment    para public 'slcode'
  1573.         extrn    sl_itof:far
  1574. stdlib        ends
  1575.         endif
  1576.         call    sl_itof
  1577.         endm
  1578. ;
  1579. ; UTOF-    Convert unsigned integer to floating point.
  1580. ;
  1581. utof        macro
  1582.         ifndef    sl_utof
  1583. stdlib        segment    para public 'slcode'
  1584.         extrn    sl_utof:far
  1585. stdlib        ends
  1586.         endif
  1587.         call    sl_utof
  1588.         endm
  1589. ;
  1590. ; ULTOF-    Convert unsigned 32-bit integer to floating point.
  1591. ;
  1592. ultof        macro
  1593.         ifndef    sl_ultof
  1594. stdlib        segment    para public 'slcode'
  1595.         extrn    sl_ultof:far
  1596. stdlib        ends
  1597.         endif
  1598.         call    sl_ultof
  1599.         endm
  1600. ;
  1601. ; LTOF-    Convert 32-bit signed integer to floating point.
  1602. ;
  1603. ltof        macro
  1604.         ifndef    sl_ltof
  1605. stdlib        segment    para public 'slcode'
  1606.         extrn    sl_ltof:far
  1607. stdlib        ends
  1608.         endif
  1609.         call    sl_ltof
  1610.         endm
  1611. ;
  1612. ; ADD FPOP to FPACC:
  1613. ;
  1614. fpadd        macro
  1615.         ifndef    sl_fadd
  1616. stdlib        segment    para public 'slcode'
  1617.         extrn    sl_fadd:far
  1618. stdlib        ends
  1619.         endif
  1620.         call    sl_fadd
  1621.         endm
  1622. ;
  1623. ; Subtract FPOP from FPACC:
  1624. ;
  1625. fpsub        macro
  1626.         ifndef    sl_fsub
  1627. stdlib        segment    para public 'slcode'
  1628.         extrn    sl_fsub:far
  1629. stdlib        ends
  1630.         endif
  1631.         call    sl_fsub
  1632.         endm
  1633. ;
  1634. ;
  1635. ; Compare FPACC to FPOP:
  1636. ;
  1637. fpcmp        macro
  1638.         ifndef    sl_fcmp
  1639. stdlib        segment    para public 'slcode'
  1640.         extrn    sl_fcmp:far
  1641. stdlib        ends
  1642.         endif
  1643.         call    sl_fcmp
  1644.         endm
  1645. ;
  1646. ;
  1647. ; Multiply FPACC by FPOP:
  1648. ;
  1649. fpmul        macro
  1650.         ifndef    sl_fmul
  1651. stdlib        segment    para public 'slcode'
  1652.         extrn    sl_fmul:far
  1653. stdlib        ends
  1654.         endif
  1655.         call    sl_fmul
  1656.         endm
  1657. ;
  1658. ;
  1659. ; Divide FPACC by FPOP:
  1660. ;
  1661. fpdiv        macro
  1662.         ifndef    sl_fdiv
  1663. stdlib        segment    para public 'slcode'
  1664.         extrn    sl_fdiv:far
  1665. stdlib        ends
  1666.         endif
  1667.         call    sl_fdiv
  1668.         endm
  1669. ;
  1670. ;
  1671. ; Convert FPACC to a string of digits.
  1672. ;
  1673. ftoa        macro
  1674.         ifndef    sl_ftoa
  1675. stdlib        segment    para public 'slcode'
  1676.         extrn    sl_ftoa:far
  1677. stdlib        ends
  1678.         endif
  1679.         call    sl_ftoa
  1680.         endm
  1681. ;
  1682. ftoa2        macro
  1683.         ifndef    sl_ftoa2
  1684. stdlib        segment    para public 'slcode'
  1685.         extrn    sl_ftoa2:far
  1686. stdlib        ends
  1687.         endif
  1688.         call    sl_ftoa2
  1689.         endm
  1690. ;
  1691. ftoam        macro
  1692.         ifndef    sl_ftoam
  1693. stdlib        segment    para public 'slcode'
  1694.         extrn    sl_ftoam:far
  1695. stdlib        ends
  1696.         endif
  1697.         call    sl_ftoam
  1698.         endm
  1699. ;
  1700. ;
  1701. ; Convert FPACC to a string of digits (scientific notation)
  1702. ;
  1703. etoa        macro
  1704.         ifndef    sl_etoa
  1705. stdlib        segment    para public 'slcode'
  1706.         extrn    sl_etoa:far
  1707. stdlib        ends
  1708.         endif
  1709.         call    sl_etoa
  1710.         endm
  1711. ;
  1712. etoa2        macro
  1713.         ifndef    sl_etoa2
  1714. stdlib        segment    para public 'slcode'
  1715.         extrn    sl_etoa2:far
  1716. stdlib        ends
  1717.         endif
  1718.         call    sl_etoa2
  1719.         endm
  1720. ;
  1721. etoam        macro
  1722.         ifndef    sl_etoam
  1723. stdlib        segment    para public 'slcode'
  1724.         extrn    sl_etoam:far
  1725. stdlib        ends
  1726.         endif
  1727.         call    sl_etoam
  1728.         endm
  1729. ;
  1730. ;
  1731. ;
  1732. ; Convert a string of digits (scientific notation) to FPACC
  1733. ;
  1734. atof        macro
  1735.         ifndef    sl_atof
  1736. stdlib        segment    para public 'slcode'
  1737.         extrn    sl_atof:far
  1738. stdlib        ends
  1739.         endif
  1740.         call    sl_atof
  1741.         endm
  1742. ;
  1743. ;
  1744. ;
  1745. ;
  1746. ftoi        macro
  1747.         ifndef    sl_ftoi
  1748. stdlib        segment    para public 'slcode'
  1749.         extrn    sl_ftoi:far
  1750. stdlib        ends
  1751.         endif
  1752.         call    sl_ftoi
  1753.         endm
  1754. ;
  1755. ftou        macro
  1756.         ifndef    sl_ftou
  1757. stdlib        segment    para public 'slcode'
  1758.         extrn    sl_ftou:far
  1759. stdlib        ends
  1760.         endif
  1761.         call    sl_ftou
  1762.         endm
  1763. ;
  1764. ftol        macro
  1765.         ifndef    sl_ftol
  1766. stdlib        segment    para public 'slcode'
  1767.         extrn    sl_ftol:far
  1768. stdlib        ends
  1769.         endif
  1770.         call    sl_ftol
  1771.         endm
  1772. ;
  1773. ftoul        macro
  1774.         ifndef    sl_ftoul
  1775. stdlib        segment    para public 'slcode'
  1776.         extrn    sl_ftoul:far
  1777. stdlib        ends
  1778.         endif
  1779.         call    sl_ftoul
  1780.         endm
  1781. ;
  1782. ;
  1783. ;***************************************************************************
  1784. ;
  1785. ; File I/O goodies
  1786. ;
  1787. fcreate        macro
  1788.         ifndef    sl_fcreate
  1789. stdlib        segment    para public 'slcode'
  1790.         extrn    sl_fcreate:far
  1791. stdlib        ends
  1792.         endif
  1793.         call    sl_fcreate
  1794.         endm
  1795. ;
  1796. fopen        macro
  1797.         ifndef    sl_fopen
  1798. stdlib        segment    para public 'slcode'
  1799.         extrn    sl_fopen:far
  1800. stdlib        ends
  1801.         endif
  1802.         call    sl_fopen
  1803.         endm
  1804. ;
  1805. fReadOn        macro
  1806.         ifndef    sl_fReadOn
  1807. stdlib        segment    para public 'slcode'
  1808.         extrn    sl_fReadOn:far
  1809. stdlib        ends
  1810.         endif
  1811.         call    sl_fReadOn
  1812.         endm
  1813. ;
  1814. fReadOff    macro
  1815.         ifndef    sl_fReadOff
  1816. stdlib        segment    para public 'slcode'
  1817.         extrn    sl_fReadOff:far
  1818. stdlib        ends
  1819.         endif
  1820.         call    sl_fReadOff
  1821.         endm
  1822. ;
  1823. fgetc        macro
  1824.         ifndef    sl_fgetc
  1825. stdlib        segment    para public 'slcode'
  1826.         extrn    sl_fgetc:far
  1827. stdlib        ends
  1828.         endif
  1829.         call    sl_fgetc
  1830.         endm
  1831. ;
  1832. fClose        macro
  1833.         ifndef    sl_fClose
  1834. stdlib        segment    para public 'slcode'
  1835.         extrn    sl_fClose:far
  1836. stdlib        ends
  1837.         endif
  1838.         call    sl_fClose
  1839.         endm
  1840. ;
  1841. fFlush        macro
  1842.         ifndef    sl_fFlush
  1843. stdlib        segment    para public 'slcode'
  1844.         extrn    sl_fFlush:far
  1845. stdlib        ends
  1846.         endif
  1847.         call    sl_fFlush
  1848.         endm
  1849. ;
  1850. fWriteOn    macro
  1851.         ifndef    sl_fWriteOn
  1852. stdlib        segment    para public 'slcode'
  1853.         extrn    sl_fWriteOn:far
  1854. stdlib        ends
  1855.         endif
  1856.         call    sl_fWriteOn
  1857.         endm
  1858. ;
  1859. fPutc        macro
  1860.         ifndef    sl_fPutc
  1861. stdlib        segment    para public 'slcode'
  1862.         extrn    sl_fPutc:far
  1863. stdlib        ends
  1864.         endif
  1865.         call    sl_fPutc
  1866.         endm
  1867. ;
  1868. fWriteOff    macro
  1869.         ifndef    sl_fWriteOff
  1870. stdlib        segment    para public 'slcode'
  1871.         extrn    sl_fWriteOff:far
  1872. stdlib        ends
  1873.         endif
  1874.         call    sl_fWriteOff
  1875.         endm
  1876. ;
  1877. fSeek        macro
  1878.         ifndef    sl_fSeek
  1879. stdlib        segment    para public 'slcode'
  1880.         extrn    sl_fSeek:far
  1881. stdlib        ends
  1882.         endif
  1883.         call    sl_fSeek
  1884.         endm
  1885. ;
  1886. DOSHandle    macro
  1887.         ifndef    sl_DOSHandle
  1888. stdlib        segment    para public 'slcode'
  1889.         extrn    sl_DOSHandle:far
  1890. stdlib        ends
  1891.         endif
  1892.         call    sl_DOSHandle
  1893.         endm
  1894. ;
  1895. fDel        macro
  1896.         ifndef    sl_fDel
  1897. stdlib        segment    para public 'slcode'
  1898.         extrn    sl_fDel:far
  1899. stdlib        ends
  1900.         endif
  1901.         call    sl_fDel
  1902.         endm
  1903. ;
  1904. fRename        macro
  1905.         ifndef    sl_fRename
  1906. stdlib        segment    para public 'slcode'
  1907.         extrn    sl_fRename:far
  1908. stdlib        ends
  1909.         endif
  1910.         call    sl_frename
  1911.         endm
  1912. ;
  1913.