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

> ПРАВИЛА РАЗДЕЛА!!!

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

> Графика в Tasm, Как в графическом режиме рисовать?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8

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


Ну вошел я в графический режим:
         mov ax, 4F02h
        mov bx, 0101h
        int 10h

Ну вышел:
         mov ax, 0003h
        int 10h

А дальше что? Рисовать как?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Lonely_Raven
****

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

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


Луче разобрать что по проще напрмер
320*200 256 цветов
mov ax,0013h  ;режим
int 10h
mov ax,0a000h ;адрес видеопамяти
mov es,ax
mov es:[si],bl   ;es:[si] пара указывающая на видеопамять
; а SI индекс чтобы гулять по ней

координаты точки расчиываюия так
для Y = Y*320 т.е. введенное Y умнож на 320 т.к. всего по Х 320
для X = Y+x а потом к нему приб введеное X это будет адресс точки
в видеопямяти куда и помещвем цвет вот примерно так
.MODEL SMALL
.STACK 100H
.DATA
y_co dw 199
x_co dw 319


.CODE
START:



call _in_gr13h;init video memory and data

mov ax,320;
mul y_co;movenay Y


mov bx,ax;

add bx,x_co;movenay X

cmp dx,0
jne exit

xor ax,ax

mov al,4;Єа б­л©
mov es:[bx],al
call _wait_key
exit:
call _exit_p

;-------------------------------------------
;-------------------------------------------
;-------------------------------------------
_in_gr13h proc near
mov ax,013h
int 10h
mov ax,0a000h
mov es,ax
xor ax,ax
mov ax,@data
mov ds,ax
xor ax,ax
ret
_in_gr13h endp

_wait_key proc near
mov ah,0
int 16h
ret
_wait_key endp

_exit_p proc near
mov ah,4ch;|\
mov al,0;| -EXIT to DOS;
int 21h ;|/
_exit_p endp

END START


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

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


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

 





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