Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 92
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 5-й класс
Рейтинг: 0
∙ повысить рейтинг »
quirck
Статус: 1-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска:1659
Дата выхода:12.10.2017, 19:15
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:45 / 16
Вопросов / ответов:1 / 1

Консультация # 191433: Уважаемые эксперты, здравствуйте! У меня возникли вопросы по книге О.А.Калашникова, глава 3, листинг 3.2: 1) в сегментный регистр es загружается число 0B800h - что значит "это число соответствует сегменту дисплея в текстовом режиме" ? 2) что означает запись es:[di] (что означают квадратные скобки) ? почему же не записать про...

Консультация # 191433:

Уважаемые эксперты, здравствуйте! У меня возникли вопросы по книге О.А.Калашникова,

глава 3, листинг 3.2:
1) в сегментный регистр es загружается число 0B800h - что значит "это число соответствует сегменту дисплея в текстовом режиме" ?
2) что означает запись es:[di] (что означают квадратные скобки) ? почему же не записать просто es:di ?
3) mov ah, 31 -
a) "31" - десятичное или шестнадцатиричное число ?
б) что означает термин "атрибут" символа ?
в) любого символа ? означает ли это цвет фона (синий), или же имеются какие-то другие параметры (любого ?) символа ?
4) mov al,01 -
а) "01" - десятичное или шестнадцатиричное число ?
б) в регистр al заносится ASCII-код символа - означает ли это, что может быть любой текстовый (ASCII) символ, а не только "рожица" ?

лет 5-6 тому назад я читал информацию в Интернете, что в 1950-70-е годы на Украине (Украинская ССР) разрабатывали архитектур ы (именно с математических основ) своих Советских микрокомпьютеров (микропроцессоров), которая была отлична от фон-Неймановской архитектуры и Гарвардской архитектуры, разрабатываемых в США. верно ли это ? где можно познакомиться с работами Украинских ученых по данной области науки и тематике за 1950-80-е годы ?
для полного понимания Ассемблеров - что и как они (Ассемблеры) делают-выполняют - хотелось бы понять и изучить работы украинских математиков-физиков-программистов за 1950-70-е годы по теме разработок архитектур и микропроцессоров. имеется ли доступ к данной информации на территории экс-СССР в настоящее время ?
также для понимания Ассемблеров (Intel-овской версии) хотелось бы познакомиться с архитектурой и электронным строением старых микропроцессоров - 8086-8088 ? а также как разрабатываются микропроцессоры, вообще ? как исполняются коды (в электронике - сигналы электромагнитных напряжений-импульсов) в реальном времени ? имеется ли доступ к данной информации на территориях РФ, Украины, Белоруссии в настоящее время ? можете ли вы подсказать книги или научные статьи по данным тематикам ?

у меня имеются еще вопросы по сегментации и адресации памяти (ОЗУ и ПЗУ), которые являются на самом деле довольно обширными и научными темами - эти вопросы я задам в следующих сообщениях.

Спасибо.

Дата отправки: 07.10.2017, 19:09
Вопрос задал: ialmiev (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Модератор):

Здравствуйте, ialmiev!

1) Сегменты А0000h и В0000h отданы видео-буферу. Видеокарта в режиме прямого доступа получает данные из буфера и отображает их на экране. Сегментный адрес видео-буфера определяется для каждого видео-режима(см. рис)

Но не все так просто, следующий код по разному работает в командной строке(CMD для WinXP+) и эмуляторе.

Код (Assembler) :: выделить код
model tiny
code
org	100h
begin:	mov	ax,0b800h
	mov	es,ax
	xor	di,di
	mov	bh,35h
	mov	bl,31h
	call	outMem
	xor	ax,ax
	int	16h
	mov	ax,83h
	int	10h
outMem:	add	di,100h
	mov	es:[di],bx
	add	bx,101h
	ret
end	begin


Причина проста, эмулятор копирует работу (comand.com для Win9x), в котором 3-й текстовый режим устанавливается по умолчанию, в командной строке он также как бы по умолчанию(CMD для WinXP+), но если вывод идет с помощью стандартных функций Dos / Bios, то запись в видео-буфер игнорируется и выводится с помощью WAPI прямо в видеокарту. Чтобы работала прямая запись в видео-буфер необходимо активировать 3-й режим принудительно(функция 0, прерывание 10h).

2) Запись ES : [ DI ] - означает что значение будет записано по адресу сегмент ES : значение регистра DI.

3-4) Код символа может быть любой, в пределах таблицы ASCII, атрибут тоже может быть любой, если он составлен по правилу:
бит 7 - мигание(обычно отключено);
биты 4-6 - цвет фона;
бит 3 - яркость цвета символа;
биты 0-2 - цвет символа.
Значения видны в таблице:
< img src="http://rfpro.ru/php/uthumb.php?w=600&s=http://rfpro.ru/d/10633.jpg" border="0" class="pic">

Удачи!

Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 09.10.2017, 11:21
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное