

16-разрядная подсистема MS-DOS
Процесссор NTVDM обнаружил недопустимую инструкцию. CS:0446 IP:0066 OP:ff ff 00 00
Иногда ещё выдает что нет grahp, dos. Но все модули я добавил и прописал путь.
Что делать? Может есть какая-нибудь другая версия Pascal(но не ABC-она тоже не рулит)
Помогите!!!!!!!!!!!!Нажмите для просмотра прикрепленного файла
tp 7.0. OS Windows sp3 Professional 2002. Intel® Core™2 Duo CPU E7300 @2.66GHz 2.67 Ггц, 2,00 Гб ОЗУ
Пример задачи:
uses graph, crt, dos;
type
TPoint = record
x, y: Real;
end;
var
H, M,
S, Hund : Word;
Xc,
Yc,
i : Integer;
P, P2,
P3, P4,
P5, P6 : TPoint;
procedure Dec2Polar(Ang, Len: Real; var P: TPoint);
begin
Ang := Ang - 90; { Correlation for our coord system }
P.x := Xc + Len * cos(Ang * Pi / 180);
P.y := Yc + Len * sin(Ang * Pi / 180);
end;
begin
i := 0;
InitGraph(i, i, '');
Xc := GetMaxX div 2;
Yc := GetMaxY div 2;
SetColor(10);
Circle(Xc, Yc, Yc - 30);
SetColor(2);
Circle(Xc, Yc, 3);
SetColor(14);
for i := 0 to 23 do
begin
Dec2Polar(i * 15, Yc - 40, P);
Circle(Round(P.x), Round(P.y), 2 + 3*Byte(i mod 2 = 0));
end;
{ SetLineStyle(0, 0, 3);}
while not keypressed do
begin
{ Erase }
SetColor(0);
Line(Round(P2.x), Round(P2.y), Round(P.x), Round(P.y));
Line(Round(P4.x), Round(P4.y), Round(P3.x), Round(P3.y));
Line(Round(P6.x), Round(P6.y), Round(P5.x), Round(P5.y));
GetTime(H, M, S, Hund);
{ Second arrow }
Dec2Polar((S + Hund/100) * 6, Yc - 50, P);
Dec2Polar((S + Hund/100) * 6, 5, P2);
{ Minute arrow }
Dec2Polar((M + S/60) * 6, Yc - 100, P3);
Dec2Polar((M + S/60) * 6, 5, P4);
{ Hour arrow }
Dec2Polar((H + M/60) * 30, Yc - 150, P5);
Dec2Polar((H + M/60) * 30, 5, P6);
{ Redraw }
SetColor(15);
Line(Round(P2.x), Round(P2.y), Round(P.x), Round(P.y));
SetColor(9);
Line(Round(P4.x), Round(P4.y), Round(P3.x), Round(P3.y));
SetColor(7);
Line(Round(P6.x), Round(P6.y), Round(P5.x), Round(P5.y));
delay(1000);
end;
CloseGraph;
end.