home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / pcmag / vol6n20.zip / FIGURES.ZIP / FIGURE.9 < prev    next >
Text File  |  1987-10-16  |  2KB  |  44 lines

  1. A7:       FOR I := 2 TO Max DIV 2 DO {Only have to go to halfway mark}
  2. 6233:2D7F B80200         MOV    AX,0002
  3. 6233:2D82 50             PUSH   AX
  4. 6233:2D83 B8E803         MOV    AX,03E8
  5. 6233:2D86 B90200         MOV    CX,0002
  6. 6233:2D89 99             CWD
  7. 6233:2D8A F7F9           IDIV   CX
  8. A8:         BEGIN
  9. 6233:2D8C 59             POP    CX
  10. 6233:2D8D 91             XCHG   CX,AX
  11. 6233:2D8E 2BC8           SUB    CX,AX
  12. 6233:2D90 7D03           JGE    2D95
  13. 6233:2D92 E94B00         JMP    A18
  14. 6233:2D95 41             INC    CX
  15. 6233:2D96 A34A06         MOV    [I],AX
  16. 6233:2D99 51             PUSH   CX
  17. A9:           IF Sieve[I] THEN {If I has not yet been eliminated}
  18. 6233:2D9A A14A06         MOV    AX,[I]
  19. 6233:2D9D 97             XCHG   DI,AX
  20. 6233:2D9E 8A856102       MOV    AL,[DI+0261]
  21. 6233:2DA2 32E4           XOR    AH,AH
  22. 6233:2DA4 0BC0           OR     AX,AX
  23. 6233:2DA6 7503           JNZ    A11
  24. 6233:2DA8 E92A00         JMP    A17
  25. A11:              K := I+I;    {K starts as first multiple of I}
  26. 6233:2DAB A14A06         MOV    AX,[I]
  27. 6233:2DAE 03064A06       ADD    AX,[I]
  28. 6233:2DB2 A34C06         MOV    [K],AX
  29. A13:                Sieve[K] := False;
  30. 6233:2DB5 A14C06         MOV    AX,[K]
  31. 6233:2DB8 97             XCHG   DI,AX
  32. 6233:2DB9 B80000         MOV    AX,0000
  33. 6233:2DBC 88856102       MOV    [DI+0261],AL
  34. A14:                K := K+1;  {More multiples of I}
  35. 6233:2DC0 A14C06         MOV    AX,[K]
  36. 6233:2DC3 03064A06       ADD    AX,[I]
  37. 6233:2DC7 A34C06         MOV    [K],AX
  38. A15:              UNTIL K > Max;
  39. 6233:2DCA A14C06         MOV    AX,[K]
  40. 6233:2DCD 3DE803         CMP    AX,03E8
  41. 6233:2DD0 7F03           JG     A17
  42. 6233:2DD2 E9E0FF         JMP    A13
  43. A17:        END;
  44.