Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2008, 00:02   #11
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

если честно я там нужного адреса не нашол
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 24.12.2008, 00:10   #12
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Цитата:
Сообщение от Есиповский С.Н.
В реальном режиме работы микропроцессора командам доступно ограниченное пространство адресов размером немного большим 1 Мбайта. Для обращения к любому байту этого пространства необходимо знать базу (segment) и смещение (Эти два компонента адреса указываются в шестнадцатеричных регистрах - сегментном и индексном. Сегментный регистр указывает на номер параграфа, с которого начинается сегмент, а индексный регистр указывает смещение от начала сегмента. Параграф представляет собой блок памяти длиной 16 байт, выровненный по 16-ти байтной границе. Для работы с видеопамятью внутренние схемы всех видеокарт настроены на диапазоны адресов, совпадающих с адресным пространством микропроцессора, обычно они равны A0000h...AFFFFh для графических и B8000h...BFFFFh для текстовых режимов. Как видно, таким образом можно работать только с 64Кб видеопамяти, что явно недостаточно для режимов Direct Color. Объём видеопамяти современных видеоадаптеров гораздо больше 64Кб, поэтому для доступа к этой памяти был разработан механизм переключения окон. Суть способа состоит в том, что на видеопамять накладывается виртуальный сегмент размером 64Кб, называемый видеоокном. С помощью специальной функции VBE можно перемещать это видеоокно по видеопамяти, тем самым обеспечивая доступ ко всей памяти видеоадаптера. Номер видеоокна нумеруется с нуля и хранится в специальном регистре видеокарты. Подобный механизм позволяет записывать и считывать данные из видеопамяти через узкое окошко размером 64Кб, причем значение сегментного регистра будет неизменным (обычно A0000h), а значения индексного регистра и номера видеоокон будут изменяться приложением в процессе выполнения задачи.
Читаем внимательнее - эта статья дает более чем исчерпывающую информацию.
И еще раз прочитайте про защищенный режим. Вы не сможете это сделать находясь в нем.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 24.12.2008, 00:35   #13
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

о
вот он
пасип вселенское))
а про режим прочитаю

разобрался
подойдем к основному
из защищенного режима выйти можно?
Форматируйте код, будьте людьми.

Последний раз редактировалось rpy3uH; 24.12.2008 в 08:54.
Granus вне форума Ответить с цитированием
Старый 24.12.2008, 00:43   #14
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

да, но насколько мне известно - грязными хакерскими методами.
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 24.12.2008, 00:47   #15
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

вот)
надежды оправдались
а хакерство тут не помешает

кстати насколько я понимаю если снять защиту то этот способ рисования будет самым быстрым?
если нет то как еще можно рисовать?
только без использования всяких левых модулей
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 24.12.2008, 00:55   #16
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

Я, честно, так не думаю, вы ведь будете производить манипуляции в оперативной памяти, а не в видео-памяти. Последняя как раз и заточена под например копирование больших порций данных.
В случае c DirectX и OpenGL все (все возможные) расчеты будет производить видеокарта, а в вашем - процессор (и сопроцессор).

А для чего вам это собственно нужно?
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 24.12.2008, 00:57   #17
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

кхех
скажу вы будете ооочень долго смеятся
поверьте, нужно)
не знаете как через эту видяху делать те самые расчеты?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 24.12.2008, 01:06   #18
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Сообщений: 279
По умолчанию

К сожалению не смогу помочь.
Вы тоже тоже долго смеяться, я на ассемблере (вставки не в счет) кроме "Hello world!" ничего не писал, да и то по книге.
Кстати DirectX предоставляет возможности, максимально приближенные к требуемым. Вы можете получить указатель на участок видеопамяти и работать писать/читать туда все что душе угодно. Кажется на васме была связка ассемблер + DX
Сказал и загрустил от бесспорности своей правоты.
0nni вне форума Ответить с цитированием
Старый 24.12.2008, 01:08   #19
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

ну мне асма тоже для малого нужна)))
(а именно для рисования)
просто я пишу коечто совершенно несовместимое с ожелом и директиксом, но рисовать надо как можно быстрее
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 02.03.2009, 01:48   #20
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

А что пишешь-то?

Может поможет:
Код:
org 100h
use16

    mov     al, 13h
    cmc
    inc     dx
    int     10h
    push    0A000h
    pop     es

loc_1:
    mul     bx
    inc     ax
    add     ax, di
    adc     [si], ax
    div     word[si+12]

loc_2:
    fmul    dword[si]
    fiadd   word[si]
    fistp   word[bx]
    sub     ax, 82h
    xchg    ax, [bx]
    xor     cx, ax
    fild    word[bx]
    fmul    st, st
    xor     bx, bp
    xchg    ax, dx
    fxch    st1
    jnz     loc_2

    faddp   st1, st
    fsqrt
    fdivr   dword[si]
    fild    word[bx]	
    fild    word[bp+0]
    fpatan
    setalc
    xchg    ax, cx
    or      al, 87h
    stosb
    jmp     loc_1
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
grahpichs.h - Рисование ROD Общие вопросы C/C++ 10 22.12.2008 22:01
Рисование TriCERATOP Помощь студентам 5 28.11.2008 15:09
Рисование... HunterMan Win Api 10 30.04.2008 23:46
Рисование на экране... Roberto Win Api 3 07.04.2008 07:35
рисование изолиний Alar Паскаль, Turbo Pascal, PascalABC.NET 0 30.10.2006 14:17