begin
IF Shape23.Brush.Color:=clWhite then
begin
Shapc23.Brush.Color:=clRed;
Datal:=Data1+64;
Edit3.Text:=IntToStr(Data1);
end
else
begin
Shape23.Brush.Color:=clWhite;
Datal:=Data1-64;
Edit3.Text:=IntToStr(Data1);
end;
end;
procedure TFoml.Shape24MouselDown(Sender: TObject; Button:
TMouseButton; Shift: TShiftState: X, Y: Integer);
begin
Shape24.Brush.Color:=clRed;
Datal:=Datal+128;
Edit3.Text:=lntToStr(Data1):
end
else
begin
Shape24.Bmsh.Color:=clWhite;
Data1:=Data 1-128;
Edit3.Text:=lntToStr(Data1);
end;
end;
procedure TForml.FormActivate(Sender: TObjcct);
var
i:integer;
begin
Address1 :=0;
Korpus:=0;
Address1:=192;
asm
MOV DX,888
MOV AL,Address1
OUT DX,AL
MOV DX,890
MOV AL,2
OUT DX,AL
end;
for i:=1 to 10000 do
begin
end;
asm
MOV DX,890
MOV AL,0
OUT DX,AL
end;
Address1 :=64;
asm
MOV DX.888
MOV AL,Address1
OUT DX,AL
MOV DX,890
MOV AL,2
OUT DX,AL
end;
for i:=1 to 10000 do
begin
end;
asm
MOV DX,890
MOV AL,0
OUT DX,AL
end;
Shape15.Brush.Color:=clLime;
Shape16.Brush.Color:=clWhite;
end;
procedure TForm1.ButtonlClick(Sender: TObject);
var
i: integer;
begin
AdL:=0;
if (Shape1.Brush.Color:=clGreen) then AdL:=AdL+1;
if (Shape2.Brush.Color:=clGreen) then AdL:=AdL+2;
if (Shape3.Brush.Color:=clGreen) then AdL:=AdL+4;
if (Shape4.Brush.Color:=clGreen) then AdL:=AdL+8;
if (Shape5.Brush.Color:=clGreen) then AdL:=AdL+16;
if (Shape6.Brush.Color:=clGreen) then AdL:=AdL+32;
if (Shape7.Brush.Color:=clGreen) then AdL:=AdL+64;
if (Shape8.Brush.Cofor:=clGreen) then AdL:=AdL+128;
asm
MOV DX.888
MOV AL,AdL
OUT DX,AL
MOV DX,890
MOV AL,1
OUT DX,AL
end;
for i:=1 to 10000 do
begin
end;
asm
MOV DX,890
MOV AL,0
OUT DX,AL
end;
end;
procedure TForml.Button2Click(Sender: TObject);
var
i: integer;
begin
AdH:=0;
if Shape9.Brush.Color=clRed then AdH:=AdH+1;
if Shape10.Brush.Color=clRed then AdH:=AdH+2;
asm
MOV DX,888
MOV AL,AdH
OUT DX.AL
MOV DX,890
MOV AL,2
OUT DX,AL
end;
for i:=1 to 10000 do
begin
end;
asm
MOV DX,890
MOV AL,0
OUT DX,AL
end;
end;
procedure TForm1.Butlon5Click(Sender: TObject);
var
i: integer;
begin
asm
MOV DX,888
MOV AL,Data1
OUT DX,AL
MOV DX,890
MOV AL,3
OUT DX,AL
end;
for i:=l to 10000 do
begin
end;
asm
end;
end;
procedure TForml.Button3Click(Sender: TObject);
begin
Shape15.Brush.Color:=clWhite;
Shape16.Brush.Color:=clLime;
end;
procedure TForml.Button4Click(Sender: TObject);
begin
Shape 15.Brush.Color:=clLime;
Shapel6.Brush.Color:=clWhite;
end;
procedure TForml.close1Click(Sender: TObject);
begin
close;
end;
end.
LD A,88 ;настройка первого порта
OUT (251 ),А
LD A, 112 ;настройка второго порта
OUT(223),A
LD HL,32768 ;стартовый адрес ОЗУ
LD ВС,2048 ;количество повторов
LD DE,0 ;количество исправных
V 1 LD А,255 ;все единицы
LD (HL),A ; запись аккум. по адр., содержащемуся в per. HL XOR(HL) ;искл. или для установки флага «ZERO» если =
JP Z,V 11 ;если 0, то нет ошибки - продолжение
LD A,D ;загрузить в А ст, разр. сч. исправных ячеек
OR 0 ;или для установки флага «ZERO»
JR NZ,V11 .;если ст. разр. сч. испр.ячеек.>0 продолжение
LD А,Е ;копировать в А мл. разр. сч. исправных ячеек
SBC 100 ;вычесть100
JP Р,ERROR ;ошибка если флаг переноса установлен
V 11 INC HL ;увеличение адреса в ОЗУ
INC DE ;увеличение счетчика исправных ячеек ОЗУ
DEC ВС ;уменьшение счетчика повторов
LD А,В ;ст. разряд сч. повторов поместить в аккумулятор
OR С ;лог. «и» с мл, разрядом сч. повторов для установки флага “ZERO”
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.