IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> помогите написать коментарии
ска
сообщение 9.09.2007 9:49
Сообщение #1


Гость






помогите написать коментарии пожалуста, с паскалем более менее понятно, а вот с асс....

uses 

crt,dos,objects;

type

ps=^string;arr=array[1..3]of ps;

var

regs:Registers;

l:ptrrec;



procedure clrscr;

begin

regs.ax:=3;

intr($10,regs)

end;



procedure write(p:ps);

begin

l:=ptrrec(p);

with regs do

begin

ah:=9;

ds:=l.seg;

dx:=l.ofs+1;

msdos(regs)

end;

end;



procedure vvod(var ascii,scan:integer);

begin

regs.ah:=0;

intr($16,regs);

ascii:=regs.al;

scan:=regs.ah

end;



procedure read(var p:ps;var len:integer);

begin

l:=ptrrec(p);

with regs do

begin

ah:=$3F;

ds:=l.seg;

dx:=l.ofs+1;

bx:=0;

cx:=80;

msdos(regs);

len:=ax-2;

end;

end;





procedure window(f,scroll,color,x1,y1,x2,y2:integer);

begin

with regs do

begin

ah:=f;

al:=scroll;

bh:=color;

ch:=y1;

cl:=x1;

dh:=y2;

dl:=x2;

end;

intr($10,regs);

end;



procedure cwrite(p:ps;len,color,x,y:integer);

begin

l:=ptrrec(p);

with regs do

begin

ah:=$13;

al:=1;

bh:=0;

bl:=color;

cx:=len;

es:=l.seg;

bp:=l.ofs+1;

dh:=y;

dl:=x;

intr($10,regs);

y:=y+1;

end;

end;



procedure readkey;

begin

regs.ah:=8;

msdos(regs);

end;



label again,ende;



var

p,q:ps;

len,al,ah,x,y,i,m,n:integer;

my,qq,s:arr;

c:char;

begin

clrscr;

new(p);

new(q);

x:=20;

y:=5;

p^:='Enter String:$ ';

q^:='GameIsOver';

for i:=1 to 3 do

begin

write(p);

new(s[i]);

s[i]^[0]:='+';

read(s[i],len);

end;

window(6,0,$1F,20,5,60,15);

y:=4;

for i:=1 to 3 do

begin

y:=y+1;

cwrite(s[i],len,$1f,x,y);

end;

again:

vvod(al,ah);

if al=$1B then goto ende;

if (ah=72) and (y>4) then

begin

if y>15 then

begin

m:=(19-y);

for i:=1 to m do

begin

y:=y+1;

cwrite(s[i],len,$1f,x,y-4);

end;

y:=y-(m+1);

end

else

begin

y:=y-1;

window(6,1,$1A,20,5,60,15);

end;

end;

if (ah=80) and (y<=18) then

begin

if y<7 then

begin

m:=(7-y);

for i:=m to 3 do

begin

y:=y+1;

cwrite(s[i],len,$1f,x,y-(3-m));

end;

y:=y-(3-m);

end

else

begin

y:=y+1;

window(7,1,$1F,20,5,60,15);



end;

end;

goto again;



ende:cwrite(q,10,4,12,16);

end.
 К началу страницы 
+ Ответить 
Ozzя
сообщение 14.09.2007 13:45
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Легко можно догадаться по названиям ф-ций/процедур.

procedure clrscr; - очистка экрана

Справочник по функциям BIOS/MSDOS поможет страждущему.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"