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

  1. ;    Static Name Aliases
  2.  
  3. ;
  4.  
  5.     TITLE   fdraw.for
  6.  
  7.     NAME    fdraw
  8.  
  9.  
  10.  
  11.     .8087
  12.  
  13. FDRAW_TEXT    SEGMENT  BYTE PUBLIC 'CODE'
  14.  
  15. FDRAW_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: FDRAW_TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
  32.  
  33. EXTRN    __acrtused:ABS
  34.  
  35. EXTRN    _setdash:FAR
  36.  
  37. EXTRN    _linestyle:FAR
  38.  
  39. EXTRN    _draw:FAR
  40.  
  41. EXTRN    _draw2:FAR
  42.  
  43. EXTRN    _rdraw:FAR
  44.  
  45. EXTRN    _rdraw2:FAR
  46.  
  47. EXTRN    _sdraw2:FAR
  48.  
  49. EXTRN    _rsdraw2:FAR
  50.  
  51. EXTRN    T_STRING:FAR
  52.  
  53. EXTRN    __FCclenv:DWORD
  54.  
  55. FDRAW_TEXT      SEGMENT
  56.  
  57. ; Line 34
  58.  
  59.     PUBLIC    SETDASH
  60.  
  61. SETDASH    PROC FAR
  62.  
  63.     push    bp
  64.  
  65.     mov    bp,sp
  66.  
  67. ;    X = 6
  68.  
  69.     les    bx,DWORD PTR [bp+6]    ;X
  70.  
  71.     fld    DWORD PTR es:[bx]
  72.  
  73.     sub    sp,8
  74.  
  75.     mov    bx,sp
  76.  
  77.     fstp    QWORD PTR [bx]
  78.  
  79.     fwait    
  80.  
  81.     call    FAR PTR _setdash
  82.  
  83. ; Line 35
  84.  
  85.     mov    sp,bp
  86.  
  87.     pop    bp
  88.  
  89.     ret    4
  90.  
  91.  
  92.  
  93. SETDASH    ENDP
  94.  
  95. ; Line 41
  96.  
  97.     PUBLIC    LINESTYLE
  98.  
  99. LINESTYLE    PROC FAR
  100.  
  101.     push    bp
  102.  
  103.     mov    bp,sp
  104.  
  105.     sub    sp,268
  106.  
  107.     push    di
  108.  
  109.     push    si
  110.  
  111. ;    S = 6
  112.  
  113.     mov    ax,WORD PTR __FCclenv
  114.  
  115.     mov    dx,WORD PTR __FCclenv+2
  116.  
  117.     mov    WORD PTR [bp-12],ax
  118.  
  119.     mov    WORD PTR [bp-10],dx
  120.  
  121.     mov    WORD PTR [bp-2],128
  122.  
  123.     les    bx,DWORD PTR [bp-12]
  124.  
  125.     mov    ax,WORD PTR es:[bx+2]
  126.  
  127.     mov    WORD PTR [bp-6],ax
  128.  
  129.     push    WORD PTR [bp+8]
  130.  
  131.     push    WORD PTR [bp+6]    ;S
  132.  
  133.     lea    ax,WORD PTR [bp-140]
  134.  
  135.     push    ax
  136.  
  137.     mov    WORD PTR [bp-8],128
  138.  
  139.     lea    ax,WORD PTR [bp-8]
  140.  
  141.     mov    dx,ss
  142.  
  143.     mov    WORD PTR __FCclenv,ax
  144.  
  145.     mov    WORD PTR __FCclenv+2,dx
  146.  
  147.     call    FAR PTR T_STRING
  148.  
  149.     lea    di,WORD PTR [bp-268]
  150.  
  151.     mov    si,ax
  152.  
  153.     push    ss
  154.  
  155.     pop    es
  156.  
  157.     mov    cx,64
  158.  
  159.     rep    movsw
  160.  
  161.     lea    ax,WORD PTR [bp-268]
  162.  
  163.     push    ss
  164.  
  165.     push    ax
  166.  
  167.     lea    ax,WORD PTR [bp-4]
  168.  
  169.     mov    WORD PTR __FCclenv,ax
  170.  
  171.     mov    WORD PTR __FCclenv+2,ss
  172.  
  173.     call    FAR PTR _linestyle
  174.  
  175.     add    sp,4
  176.  
  177. ; Line 42
  178.  
  179.     pop    si
  180.  
  181.     pop    di
  182.  
  183.     mov    sp,bp
  184.  
  185.     pop    bp
  186.  
  187.     ret    4
  188.  
  189.  
  190.  
  191. LINESTYLE    ENDP
  192.  
  193. ; Line 45
  194.  
  195.     PUBLIC    DRAW
  196.  
  197. DRAW    PROC FAR
  198.  
  199.     push    bp
  200.  
  201.     mov    bp,sp
  202.  
  203. ;    X = 14
  204.  
  205. ;    Y = 10
  206.  
  207. ;    Z = 6
  208.  
  209.     les    bx,DWORD PTR [bp+6]    ;Z
  210.  
  211.     fld    DWORD PTR es:[bx]
  212.  
  213.     sub    sp,8
  214.  
  215.     mov    bx,sp
  216.  
  217.     fstp    QWORD PTR [bx]
  218.  
  219.     fwait    
  220.  
  221.     les    bx,DWORD PTR [bp+10]    ;Y
  222.  
  223.     fld    DWORD PTR es:[bx]
  224.  
  225.     sub    sp,8
  226.  
  227.     mov    bx,sp
  228.  
  229.     fstp    QWORD PTR [bx]
  230.  
  231.     fwait    
  232.  
  233.     les    bx,DWORD PTR [bp+14]    ;X
  234.  
  235.     fld    DWORD PTR es:[bx]
  236.  
  237.     sub    sp,8
  238.  
  239.     mov    bx,sp
  240.  
  241.     fstp    QWORD PTR [bx]
  242.  
  243.     fwait    
  244.  
  245.     call    FAR PTR _draw
  246.  
  247. ; Line 46
  248.  
  249.     mov    sp,bp
  250.  
  251.     pop    bp
  252.  
  253.     ret    12
  254.  
  255.  
  256.  
  257. DRAW    ENDP
  258.  
  259. ; Line 49
  260.  
  261.     PUBLIC    DRAW2
  262.  
  263. DRAW2    PROC FAR
  264.  
  265.     push    bp
  266.  
  267.     mov    bp,sp
  268.  
  269. ;    X = 10
  270.  
  271. ;    Y = 6
  272.  
  273.     les    bx,DWORD PTR [bp+6]    ;Y
  274.  
  275.     fld    DWORD PTR es:[bx]
  276.  
  277.     sub    sp,8
  278.  
  279.     mov    bx,sp
  280.  
  281.     fstp    QWORD PTR [bx]
  282.  
  283.     fwait    
  284.  
  285.     les    bx,DWORD PTR [bp+10]    ;X
  286.  
  287.     fld    DWORD PTR es:[bx]
  288.  
  289.     sub    sp,8
  290.  
  291.     mov    bx,sp
  292.  
  293.     fstp    QWORD PTR [bx]
  294.  
  295.     fwait    
  296.  
  297.     call    FAR PTR _draw2
  298.  
  299. ; Line 50
  300.  
  301.     mov    sp,bp
  302.  
  303.     pop    bp
  304.  
  305.     ret    8
  306.  
  307.  
  308.  
  309. DRAW2    ENDP
  310.  
  311. ; Line 53
  312.  
  313.     PUBLIC    RDRAW
  314.  
  315. RDRAW    PROC FAR
  316.  
  317.     push    bp
  318.  
  319.     mov    bp,sp
  320.  
  321. ;    X = 14
  322.  
  323. ;    Y = 10
  324.  
  325. ;    Z = 6
  326.  
  327.     les    bx,DWORD PTR [bp+6]    ;Z
  328.  
  329.     fld    DWORD PTR es:[bx]
  330.  
  331.     sub    sp,8
  332.  
  333.     mov    bx,sp
  334.  
  335.     fstp    QWORD PTR [bx]
  336.  
  337.     fwait    
  338.  
  339.     les    bx,DWORD PTR [bp+10]    ;Y
  340.  
  341.     fld    DWORD PTR es:[bx]
  342.  
  343.     sub    sp,8
  344.  
  345.     mov    bx,sp
  346.  
  347.     fstp    QWORD PTR [bx]
  348.  
  349.     fwait    
  350.  
  351.     les    bx,DWORD PTR [bp+14]    ;X
  352.  
  353.     fld    DWORD PTR es:[bx]
  354.  
  355.     sub    sp,8
  356.  
  357.     mov    bx,sp
  358.  
  359.     fstp    QWORD PTR [bx]
  360.  
  361.     fwait    
  362.  
  363.     call    FAR PTR _rdraw
  364.  
  365. ; Line 54
  366.  
  367.     mov    sp,bp
  368.  
  369.     pop    bp
  370.  
  371.     ret    12
  372.  
  373.  
  374.  
  375. RDRAW    ENDP
  376.  
  377. ; Line 57
  378.  
  379.     PUBLIC    RDRAW2
  380.  
  381. RDRAW2    PROC FAR
  382.  
  383.     push    bp
  384.  
  385.     mov    bp,sp
  386.  
  387. ;    X = 10
  388.  
  389. ;    Y = 6
  390.  
  391.     les    bx,DWORD PTR [bp+6]    ;Y
  392.  
  393.     fld    DWORD PTR es:[bx]
  394.  
  395.     sub    sp,8
  396.  
  397.     mov    bx,sp
  398.  
  399.     fstp    QWORD PTR [bx]
  400.  
  401.     fwait    
  402.  
  403.     les    bx,DWORD PTR [bp+10]    ;X
  404.  
  405.     fld    DWORD PTR es:[bx]
  406.  
  407.     sub    sp,8
  408.  
  409.     mov    bx,sp
  410.  
  411.     fstp    QWORD PTR [bx]
  412.  
  413.     fwait    
  414.  
  415.     call    FAR PTR _rdraw2
  416.  
  417. ; Line 58
  418.  
  419.     mov    sp,bp
  420.  
  421.     pop    bp
  422.  
  423.     ret    8
  424.  
  425.  
  426.  
  427. RDRAW2    ENDP
  428.  
  429. ; Line 61
  430.  
  431.     PUBLIC    SDRAW2
  432.  
  433. SDRAW2    PROC FAR
  434.  
  435.     push    bp
  436.  
  437.     mov    bp,sp
  438.  
  439. ;    X = 10
  440.  
  441. ;    Y = 6
  442.  
  443.     les    bx,DWORD PTR [bp+6]    ;Y
  444.  
  445.     fld    DWORD PTR es:[bx]
  446.  
  447.     sub    sp,8
  448.  
  449.     mov    bx,sp
  450.  
  451.     fstp    QWORD PTR [bx]
  452.  
  453.     fwait    
  454.  
  455.     les    bx,DWORD PTR [bp+10]    ;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 _sdraw2
  468.  
  469. ; Line 62
  470.  
  471.     mov    sp,bp
  472.  
  473.     pop    bp
  474.  
  475.     ret    8
  476.  
  477.  
  478.  
  479. SDRAW2    ENDP
  480.  
  481. ; Line 65
  482.  
  483.     PUBLIC    RSDRAW2
  484.  
  485. RSDRAW2    PROC FAR
  486.  
  487.     push    bp
  488.  
  489.     mov    bp,sp
  490.  
  491. ;    X = 10
  492.  
  493. ;    Y = 6
  494.  
  495.     les    bx,DWORD PTR [bp+6]    ;Y
  496.  
  497.     fld    DWORD PTR es:[bx]
  498.  
  499.     sub    sp,8
  500.  
  501.     mov    bx,sp
  502.  
  503.     fstp    QWORD PTR [bx]
  504.  
  505.     fwait    
  506.  
  507.     les    bx,DWORD PTR [bp+10]    ;X
  508.  
  509.     fld    DWORD PTR es:[bx]
  510.  
  511.     sub    sp,8
  512.  
  513.     mov    bx,sp
  514.  
  515.     fstp    QWORD PTR [bx]
  516.  
  517.     fwait    
  518.  
  519.     call    FAR PTR _rsdraw2
  520.  
  521. ; Line 66
  522.  
  523.     mov    sp,bp
  524.  
  525.     pop    bp
  526.  
  527.     ret    8
  528.  
  529.  
  530.  
  531. RSDRAW2    ENDP
  532.  
  533. FDRAW_TEXT    ENDS
  534.  
  535. END
  536.  
  537.