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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2016, 17:48   #1
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
Вопрос видео буфер 0B800h Не выводятся символы

Хочу запустить на windows XP этот простой примерчик, делалось на masm, линковалось link16. Понятно, что пример этого com-файла рассчитан на Dos, но вроде должно прокатить и в xp. Просто при запуске не выводится ничего, просто ждет нажатия клавиши, а символы не выводятся...
Код:
CSEG segment
org 100h
begin:
	mov ax,0B800h
	mov es,ax
	mov di,0
	mov al,1
	mov ah,31
	mov cx,35
	looper:
		mov es:[di],ax
		add di,2
		loop looper
	
	mov ah,10h
	int 16h
	int 20h
CSEG ends	
end begin

Последний раз редактировалось oldsnowman; 29.08.2016 в 17:57.
oldsnowman вне форума Ответить с цитированием
Старый 29.08.2016, 18:36   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
вроде должно прокатить и в xp
В xp? Запрещенные инструкции, в режиме ядра нужно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.08.2016, 18:46   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Нужно вначале текстовый режим установить:
Код:
begin:
        mov  ax,3          ; текст: 80х25/16
        int  10h

        push 0B800h
        pop  es
        xor  di,di         ; ES:DI = видеобуфер
        mov  ah,0Ah        ; цвет символов (зелёный)
        mov  al,1          ; начальный символ
        mov  cx,255        ; всего в ASCII-таблице

        looper:
             stosw         ; запись АХ в ES:DI
             inc al        ; следующий символ
        loop looper
        
        mov ah,10h
        int 16h
        int 20h
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 29.08.2016, 19:06   #4
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,755
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
Нужно вначале текстовый режим установить:
Не нужно. Это глюки NTVDM. Для программирования под DOS нужно переходить на что-то более совместимое с DOS -- DosBox или Windows 9x/ME.
Vapaamies вне форума Ответить с цитированием
Старый 29.08.2016, 19:29   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

В отличии от 64-битных систем, 32-битный NTVDM прекрасно справляется со-многими прерываниями, и не нужно никаких дос/боксов.

Если режим не устанавливаю, то ничё не выводится, а так - без проблем. Правда если атрибут "мигание", то нужно раскрыть окно консоли во-весь рост через [Alt-Enter]:
Изображения
Тип файла: jpg 01299.JPG (22.6 Кб, 102 просмотров)
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 30.08.2016, 10:00   #6
oldsnowman
Участник клуба
 
Аватар для oldsnowman
 
Регистрация: 20.02.2015
Сообщений: 1,226
По умолчанию

после бегина поставил выбор видео режима
Код:
mov  ax,3
int  10h
и всё заработало.
Всем спасибо!
oldsnowman вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выводятся данные из БД в компонентах DB KGS БД в Delphi 1 29.02.2016 16:14
Не выводятся данные из БД в QuickReport Clockgen Помощь студентам 1 20.07.2014 00:13
В форме не выводятся данные AlexZZZ2010 Общие вопросы .NET 3 30.04.2014 18:03
Даны натуральное число n и символы s1,...,sn. Получите все символы, расположенные до первого двоеточия (Pascal) Татьана Помощь студентам 16 22.09.2011 15:05
СИМВОЛЫ - помогите решить задачу на символы kiko Паскаль, Turbo Pascal, PascalABC.NET 5 30.11.2008 16:09