home *** CD-ROM | disk | FTP | other *** search
/ gondwana.ecr.mu.oz.au/pub/ / Graphics.tar / Graphics / VOGLE.ZIP / VOGLE / SRC / MSFORT / FTEXT.ASM < prev    next >
Encoding:
Assembly Source File  |  2000-02-11  |  9.3 KB  |  541 lines

  1. ;    Static Name Aliases
  2.  
  3. ;
  4.  
  5.     TITLE   ftext.for
  6.  
  7.     NAME    ftext
  8.  
  9.  
  10.  
  11.     .8087
  12.  
  13. FTEXT_TEXT    SEGMENT  BYTE PUBLIC 'CODE'
  14.  
  15. FTEXT_TEXT    ENDS
  16.  
  17. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  18.  
  19. _DATA    ENDS
  20.  
  21. CONST    SEGMENT  WORD PUBLIC 'CONST'
  22.  
  23. CONST    ENDS
  24.  
  25. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  26.  
  27. _BSS    ENDS
  28.  
  29. DGROUP    GROUP    CONST, _BSS, _DATA
  30.  
  31.     ASSUME  CS: FTEXT_TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
  32.  
  33. EXTRN    __acrtused:ABS
  34.  
  35. EXTRN    _textjustify:FAR
  36.  
  37. EXTRN    _leftjustify:FAR
  38.  
  39. EXTRN    _rightjustify:FAR
  40.  
  41. EXTRN    _font:FAR
  42.  
  43. EXTRN    _topjustify:FAR
  44.  
  45. EXTRN    _textsize:FAR
  46.  
  47. EXTRN    _bottomjustify:FAR
  48.  
  49. EXTRN    _xcentertext:FAR
  50.  
  51. EXTRN    _boxtext:FAR
  52.  
  53. EXTRN    _ycentertext:FAR
  54.  
  55. EXTRN    _numchars:FAR
  56.  
  57. EXTRN    _strlength:FAR
  58.  
  59. EXTRN    _boxfit:FAR
  60.  
  61. EXTRN    _textang:FAR
  62.  
  63. EXTRN    T_STRING:FAR
  64.  
  65. EXTRN    _drawchar:FAR
  66.  
  67. EXTRN    _drawstr:FAR
  68.  
  69. EXTRN    _getfontsize:FAR
  70.  
  71. EXTRN    _getcharsize:FAR
  72.  
  73. EXTRN    _fixedwidth:FAR
  74.  
  75. EXTRN    _centertext:FAR
  76.  
  77. EXTRN    __FCclenv:DWORD
  78.  
  79. FTEXT_TEXT      SEGMENT
  80.  
  81. ; Line 85
  82.  
  83.     PUBLIC    FONT
  84.  
  85. FONT    PROC FAR
  86.  
  87.     push    bp
  88.  
  89.     mov    bp,sp
  90.  
  91.     sub    sp,268
  92.  
  93.     push    di
  94.  
  95.     push    si
  96.  
  97. ;    NAME = 6
  98.  
  99.     mov    ax,WORD PTR __FCclenv
  100.  
  101.     mov    dx,WORD PTR __FCclenv+2
  102.  
  103.     mov    WORD PTR [bp-12],ax
  104.  
  105.     mov    WORD PTR [bp-10],dx
  106.  
  107.     mov    WORD PTR [bp-2],128
  108.  
  109.     les    bx,DWORD PTR [bp-12]
  110.  
  111.     mov    ax,WORD PTR es:[bx+2]
  112.  
  113.     mov    WORD PTR [bp-6],ax
  114.  
  115.     push    WORD PTR [bp+8]
  116.  
  117.     push    WORD PTR [bp+6]    ;NAME
  118.  
  119.     lea    ax,WORD PTR [bp-140]
  120.  
  121.     push    ax
  122.  
  123.     mov    WORD PTR [bp-8],128
  124.  
  125.     lea    ax,WORD PTR [bp-8]
  126.  
  127.     mov    dx,ss
  128.  
  129.     mov    WORD PTR __FCclenv,ax
  130.  
  131.     mov    WORD PTR __FCclenv+2,dx
  132.  
  133.     call    FAR PTR T_STRING
  134.  
  135.     lea    di,WORD PTR [bp-268]
  136.  
  137.     mov    si,ax
  138.  
  139.     push    ss
  140.  
  141.     pop    es
  142.  
  143.     mov    cx,64
  144.  
  145.     rep    movsw
  146.  
  147.     lea    ax,WORD PTR [bp-268]
  148.  
  149.     push    ss
  150.  
  151.     push    ax
  152.  
  153.     lea    ax,WORD PTR [bp-4]
  154.  
  155.     mov    WORD PTR __FCclenv,ax
  156.  
  157.     mov    WORD PTR __FCclenv+2,ss
  158.  
  159.     call    FAR PTR _font
  160.  
  161.     add    sp,4
  162.  
  163. ; Line 86
  164.  
  165.     pop    si
  166.  
  167.     pop    di
  168.  
  169.     mov    sp,bp
  170.  
  171.     pop    bp
  172.  
  173.     ret    4
  174.  
  175.  
  176.  
  177. FONT    ENDP
  178.  
  179. ; Line 90
  180.  
  181.     PUBLIC    TEXTSIZE
  182.  
  183. TEXTSIZE    PROC FAR
  184.  
  185.     push    bp
  186.  
  187.     mov    bp,sp
  188.  
  189. ;    X = 10
  190.  
  191. ;    Y = 6
  192.  
  193.     les    bx,DWORD PTR [bp+6]    ;Y
  194.  
  195.     fld    DWORD PTR es:[bx]
  196.  
  197.     sub    sp,8
  198.  
  199.     mov    bx,sp
  200.  
  201.     fstp    QWORD PTR [bx]
  202.  
  203.     fwait    
  204.  
  205.     les    bx,DWORD PTR [bp+10]    ;X
  206.  
  207.     fld    DWORD PTR es:[bx]
  208.  
  209.     sub    sp,8
  210.  
  211.     mov    bx,sp
  212.  
  213.     fstp    QWORD PTR [bx]
  214.  
  215.     fwait    
  216.  
  217.     call    FAR PTR _textsize
  218.  
  219. ; Line 91
  220.  
  221.     mov    sp,bp
  222.  
  223.     pop    bp
  224.  
  225.     ret    8
  226.  
  227.  
  228.  
  229. TEXTSIZE    ENDP
  230.  
  231. ; Line 96
  232.  
  233.     PUBLIC    BOXTEXT
  234.  
  235. BOXTEXT    PROC FAR
  236.  
  237.     push    bp
  238.  
  239.     mov    bp,sp
  240.  
  241.     sub    sp,268
  242.  
  243.     push    di
  244.  
  245.     push    si
  246.  
  247. ;    A = 22
  248.  
  249. ;    B = 18
  250.  
  251. ;    C = 14
  252.  
  253. ;    D = 10
  254.  
  255. ;    NAME = 6
  256.  
  257.     mov    ax,WORD PTR __FCclenv
  258.  
  259.     mov    dx,WORD PTR __FCclenv+2
  260.  
  261.     mov    WORD PTR [bp-12],ax
  262.  
  263.     mov    WORD PTR [bp-10],dx
  264.  
  265.     mov    WORD PTR [bp-2],128
  266.  
  267.     les    bx,DWORD PTR [bp-12]
  268.  
  269.     mov    ax,WORD PTR es:[bx+2]
  270.  
  271.     mov    WORD PTR [bp-6],ax
  272.  
  273.     push    WORD PTR [bp+8]
  274.  
  275.     push    WORD PTR [bp+6]    ;NAME
  276.  
  277.     lea    ax,WORD PTR [bp-140]
  278.  
  279.     push    ax
  280.  
  281.     mov    WORD PTR [bp-8],128
  282.  
  283.     lea    ax,WORD PTR [bp-8]
  284.  
  285.     mov    dx,ss
  286.  
  287.     mov    WORD PTR __FCclenv,ax
  288.  
  289.     mov    WORD PTR __FCclenv+2,dx
  290.  
  291.     call    FAR PTR T_STRING
  292.  
  293.     lea    di,WORD PTR [bp-268]
  294.  
  295.     mov    si,ax
  296.  
  297.     push    ss
  298.  
  299.     pop    es
  300.  
  301.     mov    cx,64
  302.  
  303.     rep    movsw
  304.  
  305.     lea    ax,WORD PTR [bp-268]
  306.  
  307.     push    ss
  308.  
  309.     push    ax
  310.  
  311.     les    bx,DWORD PTR [bp+10]    ;D
  312.  
  313.     fld    DWORD PTR es:[bx]
  314.  
  315.     sub    sp,8
  316.  
  317.     mov    bx,sp
  318.  
  319.     fstp    QWORD PTR [bx]
  320.  
  321.     fwait    
  322.  
  323.     les    bx,DWORD PTR [bp+14]    ;C
  324.  
  325.     fld    DWORD PTR es:[bx]
  326.  
  327.     sub    sp,8
  328.  
  329.     mov    bx,sp
  330.  
  331.     fstp    QWORD PTR [bx]
  332.  
  333.     fwait    
  334.  
  335.     les    bx,DWORD PTR [bp+18]    ;B
  336.  
  337.     fld    DWORD PTR es:[bx]
  338.  
  339.     sub    sp,8
  340.  
  341.     mov    bx,sp
  342.  
  343.     fstp    QWORD PTR [bx]
  344.  
  345.     fwait    
  346.  
  347.     les    bx,DWORD PTR [bp+22]    ;A
  348.  
  349.     fld    DWORD PTR es:[bx]
  350.  
  351.     sub    sp,8
  352.  
  353.     mov    bx,sp
  354.  
  355.     fstp    QWORD PTR [bx]
  356.  
  357.     fwait    
  358.  
  359.     lea    ax,WORD PTR [bp-4]
  360.  
  361.     mov    WORD PTR __FCclenv,ax
  362.  
  363.     mov    WORD PTR __FCclenv+2,ss
  364.  
  365.     call    FAR PTR _boxtext
  366.  
  367.     add    sp,36
  368.  
  369. ; Line 97
  370.  
  371.     pop    si
  372.  
  373.     pop    di
  374.  
  375.     mov    sp,bp
  376.  
  377.     pop    bp
  378.  
  379.     ret    20
  380.  
  381.  
  382.  
  383. BOXTEXT    ENDP
  384.  
  385. ; Line 101
  386.  
  387.     PUBLIC    BOXFIT
  388.  
  389. BOXFIT    PROC FAR
  390.  
  391.     push    bp
  392.  
  393.     mov    bp,sp
  394.  
  395. ;    X = 14
  396.  
  397. ;    Y = 10
  398.  
  399. ;    N = 6
  400.  
  401.     les    bx,DWORD PTR [bp+6]    ;N
  402.  
  403.     push    WORD PTR es:[bx]
  404.  
  405.     les    bx,DWORD PTR [bp+10]    ;Y
  406.  
  407.     fld    DWORD PTR es:[bx]
  408.  
  409.     sub    sp,8
  410.  
  411.     mov    bx,sp
  412.  
  413.     fstp    QWORD PTR [bx]
  414.  
  415.     fwait    
  416.  
  417.     les    bx,DWORD PTR [bp+14]    ;X
  418.  
  419.     fld    DWORD PTR es:[bx]
  420.  
  421.     sub    sp,8
  422.  
  423.     mov    bx,sp
  424.  
  425.     fstp    QWORD PTR [bx]
  426.  
  427.     fwait    
  428.  
  429.     call    FAR PTR _boxfit
  430.  
  431. ; Line 102
  432.  
  433.     mov    sp,bp
  434.  
  435.     pop    bp
  436.  
  437.     ret    12
  438.  
  439.  
  440.  
  441. BOXFIT    ENDP
  442.  
  443. ; Line 105
  444.  
  445.     PUBLIC    TEXTANG
  446.  
  447. TEXTANG    PROC FAR
  448.  
  449.     push    bp
  450.  
  451.     mov    bp,sp
  452.  
  453. ;    X = 6
  454.  
  455.     les    bx,DWORD PTR [bp+6]    ;X
  456.  
  457.     fld    DWORD PTR es:[bx]
  458.  
  459.     sub    sp,8
  460.  
  461.     mov    bx,sp
  462.  
  463.     fstp    QWORD PTR [bx]
  464.  
  465.     fwait    
  466.  
  467.     call    FAR PTR _textang
  468.  
  469. ; Line 106
  470.  
  471.     mov    sp,bp
  472.  
  473.     pop    bp
  474.  
  475.     ret    4
  476.  
  477.  
  478.  
  479. TEXTANG    ENDP
  480.  
  481. ; Line 110
  482.  
  483.     PUBLIC    DRAWCHAR
  484.  
  485. DRAWCHAR    PROC FAR
  486.  
  487.     push    bp
  488.  
  489.     mov    bp,sp
  490.  
  491. ;    C = 6
  492.  
  493.     les    bx,DWORD PTR [bp+6]    ;C
  494.  
  495.     mov    al,BYTE PTR es:[bx]
  496.  
  497.     sub    ah,ah
  498.  
  499.     sub    dx,dx
  500.  
  501.     push    ax
  502.  
  503.     call    FAR PTR _drawchar
  504.  
  505. ; Line 111
  506.  
  507.     mov    sp,bp
  508.  
  509.     pop    bp
  510.  
  511.     ret    4
  512.  
  513.  
  514.  
  515. DRAWCHAR    ENDP
  516.  
  517. ; Line 116
  518.  
  519.     PUBLIC    DRAWSTR
  520.  
  521. DRAWSTR    PROC FAR
  522.  
  523.     push    bp
  524.  
  525.     mov    bp,sp
  526.  
  527.     sub    sp,268
  528.  
  529.     push    di
  530.  
  531.     push    si
  532.  
  533. ;    NAME = 6
  534.  
  535.     mov    ax,WORD PTR __FCclenv
  536.  
  537.     mov    dx,WORD PTR __FCclenv+2
  538.  
  539.     mov    WORD PTR [bp-12],ax
  540.  
  541.     mov    WORD PTR [bp-10],dx
  542.  
  543.     mov    WORD PTR [bp-2],128
  544.  
  545.     les    bx,DWORD PTR [bp-12]
  546.  
  547.     mov    ax,WORD PTR es:[bx+2]
  548.  
  549.     mov    WORD PTR [bp-6],ax
  550.  
  551.     push    WORD PTR [bp+8]
  552.  
  553.     push    WORD PTR [bp+6]    ;NAME
  554.  
  555.     lea    ax,WORD PTR [bp-140]
  556.  
  557.     push    ax
  558.  
  559.     mov    WORD PTR [bp-8],128
  560.  
  561.     lea    ax,WORD PTR [bp-8]
  562.  
  563.     mov    dx,ss
  564.  
  565.     mov    WORD PTR __FCclenv,ax
  566.  
  567.     mov    WORD PTR __FCclenv+2,dx
  568.  
  569.     call    FAR PTR T_STRING
  570.  
  571.     lea    di,WORD PTR [bp-268]
  572.  
  573.     mov    si,ax
  574.  
  575.     push    ss
  576.  
  577.     pop    es
  578.  
  579.     mov    cx,64
  580.  
  581.     rep    movsw
  582.  
  583.     lea    ax,WORD PTR [bp-268]
  584.  
  585.     push    ss
  586.  
  587.     push    ax
  588.  
  589.     lea    ax,WORD PTR [bp-4]
  590.  
  591.     mov    WORD PTR __FCclenv,ax
  592.  
  593.     mov    WORD PTR __FCclenv+2,ss
  594.  
  595.     call    FAR PTR _drawstr
  596.  
  597.     add    sp,4
  598.  
  599. ; Line 117
  600.  
  601.     pop    si
  602.  
  603.     pop    di
  604.  
  605.     mov    sp,bp
  606.  
  607.     pop    bp
  608.  
  609.     ret    4
  610.  
  611.  
  612.  
  613. DRAWSTR    ENDP
  614.  
  615. ; Line 120
  616.  
  617.     PUBLIC    GETFONTSIZE
  618.  
  619. GETFONTSIZE    PROC FAR
  620.  
  621.     push    bp
  622.  
  623.     mov    bp,sp
  624.  
  625. ;    X = 10
  626.  
  627. ;    Y = 6
  628.  
  629.     push    WORD PTR [bp+8]
  630.  
  631.     push    WORD PTR [bp+6]    ;Y
  632.  
  633.     push    WORD PTR [bp+12]
  634.  
  635.     push    WORD PTR [bp+10]    ;X
  636.  
  637.     call    FAR PTR _getfontsize
  638.  
  639. ; Line 121
  640.  
  641.     mov    sp,bp
  642.  
  643.     pop    bp
  644.  
  645.     ret    8
  646.  
  647.  
  648.  
  649. GETFONTSIZE    ENDP
  650.  
  651. ; Line 125
  652.  
  653.     PUBLIC    GETCHARSIZE
  654.  
  655. GETCHARSIZE    PROC FAR
  656.  
  657.     push    bp
  658.  
  659.     mov    bp,sp
  660.  
  661. ;    C = 14
  662.  
  663. ;    X = 10
  664.  
  665. ;    Y = 6
  666.  
  667.     push    WORD PTR [bp+8]
  668.  
  669.     push    WORD PTR [bp+6]    ;Y
  670.  
  671.     push    WORD PTR [bp+12]
  672.  
  673.     push    WORD PTR [bp+10]    ;X
  674.  
  675.     les    bx,DWORD PTR [bp+14]    ;C
  676.  
  677.     push    WORD PTR es:[bx]
  678.  
  679.     call    FAR PTR _getcharsize
  680.  
  681. ; Line 126
  682.  
  683.     mov    sp,bp
  684.  
  685.     pop    bp
  686.  
  687.     ret    12
  688.  
  689.  
  690.  
  691. GETCHARSIZE    ENDP
  692.  
  693. ; Line 130
  694.  
  695.     PUBLIC    FIXEDWIDTH
  696.  
  697. FIXEDWIDTH    PROC FAR
  698.  
  699.     push    bp
  700.  
  701.     mov    bp,sp
  702.  
  703. ;    ONOFF = 6
  704.  
  705.     les    bx,DWORD PTR [bp+6]    ;ONOFF
  706.  
  707.     push    WORD PTR es:[bx]
  708.  
  709.     call    FAR PTR _fixedwidth
  710.  
  711. ; Line 131
  712.  
  713.     mov    sp,bp
  714.  
  715.     pop    bp
  716.  
  717.     ret    4
  718.  
  719.  
  720.  
  721. FIXEDWIDTH    ENDP
  722.  
  723. ; Line 135
  724.  
  725.     PUBLIC    CENTERTEXT
  726.  
  727. CENTERTEXT    PROC FAR
  728.  
  729.     push    bp
  730.  
  731.     mov    bp,sp
  732.  
  733. ;    ONOFF = 6
  734.  
  735.     les    bx,DWORD PTR [bp+6]    ;ONOFF
  736.  
  737.     push    WORD PTR es:[bx]
  738.  
  739.     call    FAR PTR _centertext
  740.  
  741. ; Line 136
  742.  
  743.     mov    sp,bp
  744.  
  745.     pop    bp
  746.  
  747.     ret    4
  748.  
  749.  
  750.  
  751. CENTERTEXT    ENDP
  752.  
  753. ; Line 139
  754.  
  755.     PUBLIC    LEFTJUSTIFY
  756.  
  757. LEFTJUSTIFY    PROC FAR
  758.  
  759.     push    bp
  760.  
  761.     mov    bp,sp
  762.  
  763.     call    FAR PTR _leftjustify
  764.  
  765. ; Line 140
  766.  
  767.     mov    sp,bp
  768.  
  769.     pop    bp
  770.  
  771.     ret    
  772.  
  773.  
  774.  
  775. LEFTJUSTIFY    ENDP
  776.  
  777. ; Line 143
  778.  
  779.     PUBLIC    RIGHTJUSTIFY
  780.  
  781. RIGHTJUSTIFY    PROC FAR
  782.  
  783.     push    bp
  784.  
  785.     mov    bp,sp
  786.  
  787.     call    FAR PTR _rightjustify
  788.  
  789. ; Line 144
  790.  
  791.     mov    sp,bp
  792.  
  793.     pop    bp
  794.  
  795.     ret    
  796.  
  797.  
  798.  
  799. RIGHTJUSTIFY    ENDP
  800.  
  801. ; Line 147
  802.  
  803.     PUBLIC    TOPJUSTIFY
  804.  
  805. TOPJUSTIFY    PROC FAR
  806.  
  807.     push    bp
  808.  
  809.     mov    bp,sp
  810.  
  811.     call    FAR PTR _topjustify
  812.  
  813. ; Line 148
  814.  
  815.     mov    sp,bp
  816.  
  817.     pop    bp
  818.  
  819.     ret    
  820.  
  821.  
  822.  
  823. TOPJUSTIFY    ENDP
  824.  
  825. ; Line 151
  826.  
  827.     PUBLIC    BOTTOMJUSTIFY
  828.  
  829. BOTTOMJUSTIFY    PROC FAR
  830.  
  831.     push    bp
  832.  
  833.     mov    bp,sp
  834.  
  835.     call    FAR PTR _bottomjustify
  836.  
  837. ; Line 152
  838.  
  839.     mov    sp,bp
  840.  
  841.     pop    bp
  842.  
  843.     ret    
  844.  
  845.  
  846.  
  847. BOTTOMJUSTIFY    ENDP
  848.  
  849. ; Line 156
  850.  
  851.     PUBLIC    TEXTJUSTIFY
  852.  
  853. TEXTJUSTIFY    PROC FAR
  854.  
  855.     push    bp
  856.  
  857.     mov    bp,sp
  858.  
  859. ;    VAL = 6
  860.  
  861.     les    bx,DWORD PTR [bp+6]    ;VAL
  862.  
  863.     push    WORD PTR es:[bx]
  864.  
  865.     call    FAR PTR _textjustify
  866.  
  867. ; Line 157
  868.  
  869.     mov    sp,bp
  870.  
  871.     pop    bp
  872.  
  873.     ret    4
  874.  
  875.  
  876.  
  877. TEXTJUSTIFY    ENDP
  878.  
  879. ; Line 160
  880.  
  881.     PUBLIC    XCENTERTEXT
  882.  
  883. XCENTERTEXT    PROC FAR
  884.  
  885.     push    bp
  886.  
  887.     mov    bp,sp
  888.  
  889.     call    FAR PTR _xcentertext
  890.  
  891. ; Line 161
  892.  
  893.     mov    sp,bp
  894.  
  895.     pop    bp
  896.  
  897.     ret    
  898.  
  899.  
  900.  
  901. XCENTERTEXT    ENDP
  902.  
  903. ; Line 164
  904.  
  905.     PUBLIC    YCENTERTEXT
  906.  
  907. YCENTERTEXT    PROC FAR
  908.  
  909.     push    bp
  910.  
  911.     mov    bp,sp
  912.  
  913.     call    FAR PTR _ycentertext
  914.  
  915. ; Line 165
  916.  
  917.     mov    sp,bp
  918.  
  919.     pop    bp
  920.  
  921.     ret    
  922.  
  923.  
  924.  
  925. YCENTERTEXT    ENDP
  926.  
  927. ; Line 169
  928.  
  929.     PUBLIC    NUMCHARS
  930.  
  931. NUMCHARS    PROC FAR
  932.  
  933.     push    bp
  934.  
  935.     mov    bp,sp
  936.  
  937.     sub    sp,4
  938.  
  939. ;    NUMCHARS = 65532
  940.  
  941.     call    FAR PTR _numchars
  942.  
  943.     cwd    
  944.  
  945.     mov    WORD PTR [bp-4],ax
  946.  
  947.     mov    WORD PTR [bp-2],dx
  948.  
  949. ; Line 170
  950.  
  951.     mov    sp,bp
  952.  
  953.     pop    bp
  954.  
  955.     ret    
  956.  
  957.  
  958.  
  959. NUMCHARS    ENDP
  960.  
  961. ; Line 176
  962.  
  963.     PUBLIC    STRLENGTH
  964.  
  965. STRLENGTH    PROC FAR
  966.  
  967.     push    bp
  968.  
  969.     mov    bp,sp
  970.  
  971.     sub    sp,276
  972.  
  973.     push    di
  974.  
  975.     push    si
  976.  
  977. ;    STRLENGTH = 6
  978.  
  979. ;    NAME = 8
  980.  
  981.     mov    ax,WORD PTR __FCclenv
  982.  
  983.     mov    dx,WORD PTR __FCclenv+2
  984.  
  985.     mov    WORD PTR [bp-12],ax
  986.  
  987.     mov    WORD PTR [bp-10],dx
  988.  
  989.     mov    WORD PTR [bp-2],128
  990.  
  991.     les    bx,DWORD PTR [bp-12]
  992.  
  993.     mov    ax,WORD PTR es:[bx+2]
  994.  
  995.     mov    WORD PTR [bp-6],ax
  996.  
  997.     push    WORD PTR [bp+10]
  998.  
  999.     push    WORD PTR [bp+8]    ;NAME
  1000.  
  1001.     lea    ax,WORD PTR [bp-140]
  1002.  
  1003.     push    ax
  1004.  
  1005.     mov    WORD PTR [bp-8],128
  1006.  
  1007.     lea    ax,WORD PTR [bp-8]
  1008.  
  1009.     mov    dx,ss
  1010.  
  1011.     mov    WORD PTR __FCclenv,ax
  1012.  
  1013.     mov    WORD PTR __FCclenv+2,dx
  1014.  
  1015.     call    FAR PTR T_STRING
  1016.  
  1017.     lea    di,WORD PTR [bp-268]
  1018.  
  1019.     mov    si,ax
  1020.  
  1021.     push    ss
  1022.  
  1023.     pop    es
  1024.  
  1025.     mov    cx,64
  1026.  
  1027.     rep    movsw
  1028.  
  1029.     lea    ax,WORD PTR [bp-268]
  1030.  
  1031.     push    ss
  1032.  
  1033.     push    ax
  1034.  
  1035.     lea    ax,WORD PTR [bp-4]
  1036.  
  1037.     mov    WORD PTR __FCclenv,ax
  1038.  
  1039.     mov    WORD PTR __FCclenv+2,ss
  1040.  
  1041.     call    FAR PTR _strlength
  1042.  
  1043.     add    sp,4
  1044.  
  1045.     mov    bx,ax
  1046.  
  1047.     fld    QWORD PTR [bx]
  1048.  
  1049.     fst    QWORD PTR [bp-276]
  1050.  
  1051.     mov    bx,WORD PTR [bp+6]    ;STRLENGTH
  1052.  
  1053.     fstp    DWORD PTR [bx]
  1054.  
  1055.     fwait    
  1056.  
  1057. ; Line 177
  1058.  
  1059.     mov    ax,bx
  1060.  
  1061.     mov    dx,ss
  1062.  
  1063.     pop    si
  1064.  
  1065.     pop    di
  1066.  
  1067.     mov    sp,bp
  1068.  
  1069.     pop    bp
  1070.  
  1071.     ret    6
  1072.  
  1073.  
  1074.  
  1075. STRLENGTH    ENDP
  1076.  
  1077. FTEXT_TEXT    ENDS
  1078.  
  1079. END
  1080.  
  1081.