Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Голосования _ Что выдаст программа? СОРЕВНОВАНИЕ :)

Автор: Altair 19.06.2004 17:42

Вот код:

Код


{ program. Compiler - Turbo Pascal 7.0  }
Procedure ClrScr; assembler;  {Ќг Ґ­в® зв®Ўл CRT ­Ґ Ї®¤Є«оз вм :) }
asm
MOV AL,$00
MOV AH,$06
MOV BH,$07
MOV CX,$0000
MOV DX,$184F
int $10
MOV AH,$02
MOV BH,$00
MOV DH,$00
MOV DL,$
int $10
end;

var
s:string;
b:array[1..6] of byte absolute s;
a:word;
d:byte absolute a;
I:byte;
s1:string;
begin
ClrScr;
asm
 mov ah,$00
 mov al,$50
 mov a, ax
end;
b[1]:=Lo(a);
b[2]:=ORD('a');
b[3]:=115+Lo(a)-d;
b[4]:=99;
b[5]:=ORD(#97);
b[6]:=$6C;
for i:=0 to 5 do begin s1[succ(i)]:=s[i]; inc(s1[0]) end;
writeln(s1,' !');
end.


НЕ ПОЛЬЗОВАТЬСЯ КОМПИЛЕРОМ!!!!!!

Автор: Romtek 19.06.2004 20:01

К чему эта глупость?
Этот тест должен что-то показать? huh.gif

Автор: Altair 19.06.2004 20:08

Посмотрим какие будут результаты ...

Автор: BlackShadow 21.06.2004 14:47

Мой голос оказался вторым отданным последнему пункту...

Автор: Altair 21.06.2004 16:34

ОК, больше не буду.

Автор: FreeMan 25.06.2004 17:11

Слово. Скорее всего Pascal. Просто нет таблицы символов под рукой. Не могу проверить.

Автор: P@sh@ 25.06.2004 20:26

Именно "Pascal", компиляторы не нужны, достаточно в таблицу кодов символов заглянуть, или в ближайшем редакторе с ALTом эти коды набрать

Автор: Altair 2.07.2004 13:13

Точно. Pascal.
А интересная штука - директива absolute.

Автор: BlackShadow 2.07.2004 16:03

Она довольно удобная в случае работы с параметрами функций/процедур, а ещё и при работе со всякими штуками типа таблицы прерываний или переменных DOS/BIOS.

Автор: trminator 2.07.2004 17:51

Ну я ее использую обычно как

Код

var c : integer;
   c_ar : array[1..4] of byte absolute c;

Автор: BlackShadow 2.07.2004 18:26

Я, когда с диском работал, делал примерно так:

Код

Type
 TBootRec=Record
   ...
 End; {В сумме не 512 б, а только заголовок}

...

Function GetReservedSectors:Integer;
Var
 Buf:Array[0..512] Of Byte;
 BootRec:TBootRec Absoulte Buf;
Begin
 ReadDisk(Buf,CurDisk,0,1);
 GetReservedSectors:=BootRec.ReservedSectors
End;

Ну это так, образно...

Автор: Altair 4.07.2004 19:18

Цитата
Я, когда с диском работал

Какие есть наработки, которыми не жалко будет поделится?

Автор: BlackShadow 5.07.2004 15:36

Наверно уж и никаких...
Возьми Фаронова - там довольно не плохо...