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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2008, 09:41   #11
Polg
 
Регистрация: 03.03.2008
Сообщений: 7
По умолчанию

похоже под ДОС, если честно коментарий от препода я не добилась.
Polg вне форума Ответить с цитированием
Старый 04.03.2008, 10:03   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если под ДОС то нужно опять таки выяснить в каком режиме дисплея, ну думаю что в текстовом, тогжа удобнее всего считывать данные с видеопамяти, которая начинается по адресу $b800:$0000
там если не ошибаюсь по четным адресам символ, по нечетным его цвет и цвет фона, вот выдергивай символы и сравнивай

Вот на паскале я когда то делал примерно так:
Код:
 
 chr:=Char(mem[$b800:$0000+(y*160+(x)*2)]);
 color:=mem[$b800:$0000+(y*160+(x)*2)+1];
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.03.2008, 14:47   #13
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от Vincent Посмотреть сообщение
P.S. B_N - мне почему-то помнится адрес $B800:$0000... Хотя, может, и ошибаюсь
Угу.. Я и говорю, что уже не помню толком... Нашел у себя что-то типа:
Код:
        push ax
        push bx
        push sp
        push ds
        push si
        push di
        cld
        mov ax,offs
        mov si,ax
        mov ds,segm
        xor cx,cx
        mov cl,[si]
        jcxz l3
        inc si
        xor ax,ax
        mov bx,es
        mov es,ax
        mov al,y
        mul byte ptr [es:44Ah]
        mov bl,x
        xchg ax,bx
        cbw
        xchg bx,ax
        add ax,bx
        shl ax,1
        mov di,ax
	cmp byte ptr es:[449h],07h
	jnz ll2
	mov ax,0B000h
	jmp l2
ll2:    mov ax,0B800h
l2:     mov es,ax
        mov ah,color
l1:     lodsb
        stosw
        loop l1
        mov es,bx
l3:
        pop di
        pop si
        pop ds
        pop sp
        pop bx
        pop ax
и долго вспоминал, чего же это я делал-то А сейчас посмотрел - всё правильно: B000 - MDA и геркулес, B800 - цветные. Ну и плюс страницы, конечно.
------------------
2 Polg
А Вы не молчите, пока мы здесь аспекты программирования "второй половины прошлого века" вспоминаем. Показывайте, какие мысли появились....
B_N вне форума Ответить с цитированием
Старый 06.03.2008, 08:22   #14
Polg
 
Регистрация: 03.03.2008
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Пардон, так всетки нужно под ДОСом это делать или в Винде?
Под ДОСом.
С чего мне начать?
Polg вне форума Ответить с цитированием
Старый 06.03.2008, 08:44   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С примеров предоставленных здесь конечно же )
Попробуй читать из видеопамяти, формула чуть выше дана.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тренажор памяти 0.1 Манжосов Денис :) Софт 4 28.07.2008 14:11
Чистка памяти Shouldercannon Общие вопросы Delphi 2 18.07.2008 11:28
Висение в памяти xTANATOSx Общие вопросы Delphi 1 29.09.2007 01:02
Кол-во оперативной памяти Квэнди Win Api 2 25.07.2007 13:27