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

  1. ;    Static Name Aliases
  2.  
  3. ;
  4.  
  5.     TITLE   ftrans.for
  6.  
  7.     NAME    ftrans
  8.  
  9.  
  10.  
  11.     .8087
  12.  
  13. FTRANS_TEXT    SEGMENT  BYTE PUBLIC 'CODE'
  14.  
  15. FTRANS_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: FTRANS_TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
  32.  
  33. EXTRN    __acrtused:ABS
  34.  
  35. EXTRN    _translate:FAR
  36.  
  37. EXTRN    _scale:FAR
  38.  
  39. EXTRN    _rotate:FAR
  40.  
  41. EXTRN    __FCclenv:DWORD
  42.  
  43. FTRANS_TEXT      SEGMENT
  44.  
  45. ; Line 15
  46.  
  47.     PUBLIC    TRANSLATE
  48.  
  49. TRANSLATE    PROC FAR
  50.  
  51.     push    bp
  52.  
  53.     mov    bp,sp
  54.  
  55. ;    X = 14
  56.  
  57. ;    Y = 10
  58.  
  59. ;    Z = 6
  60.  
  61.     les    bx,DWORD PTR [bp+6]    ;Z
  62.  
  63.     fld    DWORD PTR es:[bx]
  64.  
  65.     sub    sp,8
  66.  
  67.     mov    bx,sp
  68.  
  69.     fstp    QWORD PTR [bx]
  70.  
  71.     fwait    
  72.  
  73.     les    bx,DWORD PTR [bp+10]    ;Y
  74.  
  75.     fld    DWORD PTR es:[bx]
  76.  
  77.     sub    sp,8
  78.  
  79.     mov    bx,sp
  80.  
  81.     fstp    QWORD PTR [bx]
  82.  
  83.     fwait    
  84.  
  85.     les    bx,DWORD PTR [bp+14]    ;X
  86.  
  87.     fld    DWORD PTR es:[bx]
  88.  
  89.     sub    sp,8
  90.  
  91.     mov    bx,sp
  92.  
  93.     fstp    QWORD PTR [bx]
  94.  
  95.     fwait    
  96.  
  97.     call    FAR PTR _translate
  98.  
  99. ; Line 16
  100.  
  101.     mov    sp,bp
  102.  
  103.     pop    bp
  104.  
  105.     ret    12
  106.  
  107.  
  108.  
  109. TRANSLATE    ENDP
  110.  
  111. ; Line 19
  112.  
  113.     PUBLIC    SCALE
  114.  
  115. SCALE    PROC FAR
  116.  
  117.     push    bp
  118.  
  119.     mov    bp,sp
  120.  
  121. ;    X = 14
  122.  
  123. ;    Y = 10
  124.  
  125. ;    Z = 6
  126.  
  127.     les    bx,DWORD PTR [bp+6]    ;Z
  128.  
  129.     fld    DWORD PTR es:[bx]
  130.  
  131.     sub    sp,8
  132.  
  133.     mov    bx,sp
  134.  
  135.     fstp    QWORD PTR [bx]
  136.  
  137.     fwait    
  138.  
  139.     les    bx,DWORD PTR [bp+10]    ;Y
  140.  
  141.     fld    DWORD PTR es:[bx]
  142.  
  143.     sub    sp,8
  144.  
  145.     mov    bx,sp
  146.  
  147.     fstp    QWORD PTR [bx]
  148.  
  149.     fwait    
  150.  
  151.     les    bx,DWORD PTR [bp+14]    ;X
  152.  
  153.     fld    DWORD PTR es:[bx]
  154.  
  155.     sub    sp,8
  156.  
  157.     mov    bx,sp
  158.  
  159.     fstp    QWORD PTR [bx]
  160.  
  161.     fwait    
  162.  
  163.     call    FAR PTR _scale
  164.  
  165. ; Line 20
  166.  
  167.     mov    sp,bp
  168.  
  169.     pop    bp
  170.  
  171.     ret    12
  172.  
  173.  
  174.  
  175. SCALE    ENDP
  176.  
  177. ; Line 24
  178.  
  179.     PUBLIC    ROTATE
  180.  
  181. ROTATE    PROC FAR
  182.  
  183.     push    bp
  184.  
  185.     mov    bp,sp
  186.  
  187. ;    X = 10
  188.  
  189. ;    A = 6
  190.  
  191.     les    bx,DWORD PTR [bp+6]    ;A
  192.  
  193.     push    WORD PTR es:[bx]
  194.  
  195.     les    bx,DWORD PTR [bp+10]    ;X
  196.  
  197.     fld    DWORD PTR es:[bx]
  198.  
  199.     sub    sp,8
  200.  
  201.     mov    bx,sp
  202.  
  203.     fstp    QWORD PTR [bx]
  204.  
  205.     fwait    
  206.  
  207.     call    FAR PTR _rotate
  208.  
  209. ; Line 25
  210.  
  211.     mov    sp,bp
  212.  
  213.     pop    bp
  214.  
  215.     ret    8
  216.  
  217.  
  218.  
  219. ROTATE    ENDP
  220.  
  221. FTRANS_TEXT    ENDS
  222.  
  223. END
  224.  
  225.