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

> Вывод точки напрямую в видеопамять
сообщение
Сообщение #1


Lonely_Raven
****

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

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


:D
вывод точки напрямую в видео память
---
своя процедура
---
мне тут помогли (Dark) и я решил......
---
очень быстро
---

Код
Const color:array[0..10,0..14] of Byte=

((24,15,15,24,24,24,15,15,15,24,15,24,24,24,15),
(15,24,22,15,24,15,24,24,24,24,15,15,24,15,15),
(15,22,24,15,24,24,15,15,24,24,15,24,15,24,15),
(15,15,15,15,24,24,24,24,15,24,15,24,24,24,15),
(15,24,24,15,24,15,15,15,24,24,15,24,24,24,15),
(24,24,24,24,24,24,24,24,24,24,24,24,24,24,24),
(15,15,15,24,24,24,15,15,15,24,24,24,15,15,15),
(15,22,24,15,24,15,24,24,24,15,24,15,24,24,24),
(15,15,15,24,24,15,15,15,15,15,24,24,15,15,24),
(15,24,22,24,22,15,24,22,24,15,24,24,24,24,15),
(15,24,22,22,22,15,24,22,24,15,24,15,15,15,24));

Var
x,y,c,col:Word;

Procedure PixelOut(x,y:Word;c:Byte);
label we;
Begin
y:=y*320;

asm
xor ax,ax
mov bx,x            {in di 1000 smeshenie v video memory}
mov cx,y         {}
add bx,cx
    mov al,c
    cmp bx,64000
    je we
mov es:[bx],al  {<=> mov es:di, ds:si move strin byte 11 in vid memory es:di out ds:si}
we:
end;
end;
BEGIN
asm
mov ax,0013h
int 10h
mov ax,0a000h
mov es,ax
end;

for x:=0 to 14 do
   for y:=0 to 10 do begin
   col:=color[y,x];
PixelOut(100+x,50+y,col);
end;

asm
mov ah,0
int 16h
end;

end.


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





- Текстовая версия 29.03.2024 21:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name