![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
Shadow |
![]()
Сообщение
#1
|
![]() Lonely_Raven ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 640 Пол: Мужской Репутация: ![]() ![]() ![]() |
привет
вот может кому пригодится для оформления чего нибудь ![]() ------------- я не стал заниматься оптимизацией цель немного другая ------------- Uses Crt;
Var
sss : Byte;
Procedure OS(S : String);
Var
ls : Byte;
begin
asm
push ds
mov ax,ss
mov ds,ax
shl bh,8 {load zero this register t/k/ bx poor enter Procedure}
mov ah,09h {DOS function out string}
lea dx,S {load area adres}
inc dx {+1}
lea si,S {}
mov bl,[si] {Load values length string}
mov ls,bl {save adres S to variable ls}
add si,bx {si+bx}
inc si {correctly for first symbol key lenght string}
mov bl,24h (*24h this code ASCII symbol $ endstring*)
mov [si],bl
int 21h
pop ds
mov ah,ls
end;
end;
procedure PC_XY(nvs,x,y : Byte);assembler;
asm
push ds
mov ah,02h
mov bh,nvs
mov dh,y
mov dl,x
int 10h
pop ds
end
Procedure FlyS(S : String;xx,yy : Byte; wt : Integer);{0..79 0..49}
Var
str : array [0..255] of Char;
x,ls : byte;
x_c : Byte;
begin
x_c:=0;
asm
push ds
mov ax,ss
mov ds,ax
lea si,S {--------------------------------------}
lea di,str
mov cl,[si]
mov ls,cl {len string}
inc si
@a:
mov bl,[si]
mov [di],bl
inc si
inc di
dec cx
cmp cx,0
jnz @a
pop ds
end
x_c:=xx;
while ls <> 0 do
begin
dec(ls);
for xx:=0 to x_c do
begin
PC_XY(0,xx,yy);
Write(str[ls]);
Delay(wt);
PC_XY(0,xx-1,yy);
Write(' ');
end;
dec(x_c);
end;
end;
Procedure WK;Assembler;
asm
mov ax,0
int 16h
xor ax,ax
end
Begin
ClrScr;
WK;
PC_XY(0,10,10);
OS('Veeeetttt');
FlyS('..::This CopyRight [c] Lonely_Raven 2004::..',57,15,400);
{The FlyS = String, x - last symbol out,y - pos symbol,wt wait symbool out}
WK;
end.
-------------------- Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ --------------------- RTFM - Read the fucking manual --------------------- http://www.livejournal.com/users/lonley_raven/ |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 5:00 |