.model TINY                    ; com
          .486                           ; nebudeme suchaři
          .code
          org 100h

          start:
              Mov     fs,Tbl_seg
              Finit                      ; nutné
              Xor     ecx,ecx
              Mov     Kopr,ecx
              Mov     cx,360             ; máme 360 stupňů
              Xor     di,di
             @SinLoop:
                 Fild kopr               ; do ST(0) nahraju prom. kopr
                                           (tj. stupeň)
                 Fldpi                   ; do ST se nahraje PI - hodnota
                                           prom.  Kopr bude posunuta o
                                           jednu dolů - tj. ST(1)
                 Fmulp                   ; násobí ST(1)=ST(1)*ST(0) a pak
                                         ; odstraní ST(0) ze zásobníku -
                                           tzn. ST(1) se stane ST(0)
                 Fild cst1               ; do ST(0) hodí konstantu ...
                                           (přepočet na radiány)
                                         ; v ST(1) je teď kopr*Pi
                 Fdivp                   ; ST(1) =ST(1) / ST(0) a odstraní ST
                                         ; ST(0) = kopr * PI / 180
                 Fsin                    ; udělá sínus ST a uloží do ST
                 Fild cst                ; do ST(0) hodí fixed-point konstantu
                 Fmulp                   ; opět násobení ...
                 Fistp dword ptr FS:[DI] ; a vypočítanou hodnotu hodíme do
                                           paměti a uklidíme po sobě poslední
                                           stopy ;-)
                 Add  DI,4               ; pracujeme s DWordama ...
                 Inc  dword ptr kopr     ; zvětšíme o 1 a jdeme na další ...
              Loop    @Sinloop
              Retn

          Kopr    dd 0
          Pom     dd 0
          Cst     dd 65536               ; fix-point cst ... zvolena kvůli
                                           pozdějšímu jednoduchému shiftu
                                           o 16 :)
          Cst1    dw 180                 ; kvůlivá převodu na radiány
          Tbl_seg dw 07000h              ; nechutně obsadíme nějaký segment
          end start


            výheň