19.10.2017, 01:00 [+3 UTC]
в нашей команде: 2 182 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
18.10.2017, 22:13

Последний вопрос:
18.10.2017, 22:52

Последний ответ:
18.10.2017, 18:27

Последняя рассылка:
18.10.2017, 20:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
20.11.2010, 14:01 »
Жорж
Благодарю за помощь! [вопрос № 180825, ответ № 264161]
16.12.2015, 15:02 »
readtext
Спосибо за разъяснения по трансформаторам. ЛАТР приобрету, думается будет еще масса ситуаций где бы он мог пригодиться. Для примера: сравнение потреб. мощности одинаковых эл.-приборо при эталонном напряжении (220В). Циркуляционный насос - излишнее усложнение системы для небольшого помещения на втором этаже. На счет помех: чем бороться со следствием, лучше устранить причину на м.взг. Ровная синусоида - залог сдоровья всех электроприборов. [[url=http://rfpro.ru/ques tion/188424]вопрос № 188424, ответ № 2730..
12.04.2010, 12:44 »
Бондаренко Кирилл Андреевич
Огромное спасибо. Буду пытаться запустить [вопрос № 177754, ответ № 260724]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

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

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 299
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 169
Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 88

Перейти к консультации №:
 

Консультация онлайн # 191433
Раздел: • Assembler
Автор вопроса: ialmiev (Посетитель)
Отправлена: 07.10.2017, 19:09
Поступило ответов: 1

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

глава 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 ? а также как разрабатываются микропроцессоры, вообще ? как исполняются коды (в электронике - сигналы электромагнитных напряжений-импульсов) в реальном времени ? имеется ли доступ к данной информации на территориях РФ, Украины, Белоруссии в настоящее время ? можете ли вы подсказать книги или научные статьи по данным тематикам ?

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

Спасибо.

Состояние: Консультация закрыта

Здравствуйте, 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 - цвет символа.
Значения видны в таблице:


Удачи!


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

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 191433
ialmiev
Посетитель

ID: 401339

# 1

= общий = | 07.10.2017, 21:04 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Экспертам раздела:

Уважаемые эксперты, добрый вечер,

для полного и самосогласованного понимания Ассемблеров и опыта работы на них - будь то Intel-овские, Apple-овские или другие Ассемблеры (для различных микропроцессоров и микроконтроллеров) - а также программирования "железа" (hardware) - новичкам необходимо также знать в полной мере двоичные, восьмиричные и шестнадцатиричные системы исчисления, в частности - почему в Computer Science (только что основанный компьютерные науки) в 1920-30-е года "проникли" именно двоичная-и-шестнадцатиричная системы исчисления (а не троичная-четвиричная-пятиричная системы исчисления) ? по своей интуиции - могу сказать (i guess - я угадываю), что ответы (физико-математические - а именно формулы и их математический вывод) на эти вопросы прячутся где-то в теме "Обработка сигналов" ("Signal Processing"). может быть имеются книги по данной обширной теме ?

для того, чтобы уметь программировать на различных и произвольных Ассемблерах, новичкам (коим я и многие другие на Форуме являемся) необходимо освоить не только синтаксис Ассемблеров, но и физико-математические основы (в том числе формулы и их вывод) существующих архитектур микро-компьютеров/процессоров/контроллеров, а также основы электроники (микро- и нано-) микропроцессоров, микроконтроллеров, микрокомпьютеров - аналоговую и цифровую электронику - с самих основ и вплоть до самосогласованного применения и использования различных элементов электроники для собственного дизайна (пусть даже элементарного-простого, но своего) микропроцессоров и других цифровых и аналоговых устройств. то есть, что я хочу сказать - необходимо изучать темы Компьютерных наук (IT) и электроники не отдельно, а совместно - то есть применять различные научные темы применительно для разработки какого-либо одного (или нескольких) электронных устройств - ведь микрокомпьетры можно наверное разрабатывать не только, используя сложные электронные микросхемы (радиоэлектронные детали черного цвета со многими ножками-отводами) сразу, но и обычные аналоговые радиоэлектронные детали-элементы - для программирования на Ассемблерах нужно знать и уметь работать с электроникой - я для этого новичкам нужна практика (!!!!! - практические навыки своими руками и мозгами) разработок микроэлектронных (аналоговых и цифровых) радиоустройств (пусть даже элементарных-простых) - пусть даже свои простые-элементарные разработки происходят (осуществляются) сначала в воображении, а потом на бумаге (при помощи ручки, карандаша, стиралки, линейки) и затем при помощи вычислений на компьютере с помощью математических программ - Matlab, Mathematica, Maple (лицензионные продукты-софт) - или с помощью программирования на C/C++ или Fortran-77/90/95 (free GNU license). а затем уже освоить тему разработок (написания source codes) уже сами Ассемблеров (человеко-подобных языков для "общения" с микроэлектронной начинкой радиоэлектронных устройств-приборов).

в настоящее время, "свое личное воображение, научно-техническая литература и сопутствующий софт, доступные в Интернете, ручка-карандаш-бумага-стиралка-линейка и использование компьютера для математических вычислений-программирования" - это единственный способ учебного само-освоения различных Ассемблеров, электроники-"железа" (hardware), и их практического применения и функционирования - особенно в настоящее время в странах экс-СССР, где научные книги, журналы, статьи, реальные радиоэлектронные детали и приборы стоят очень-очень больших денег, которые (деньги) недоступны обычным (а не валютным миллионерам и миллиардерам) экс-Советским гражданам.

Спасибо.

Зенченко Константин Николаевич
Модератор

ID: 31795

# 2

= общий = | 08.10.2017, 16:29 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
ialmiev:

Для понимания этого Вам нужно начать с понимания -как формируется физический адрес реального режима.
Процессор в реальном режиме может адресовать только 1Mb памяти, а это 16-ть сегментов по 64Kb. С сегментом в 64Kb Вы уже знакомы. Если говорить точнее, физический адрес получается из суммы значения сегментного регистра*16 и адреса в сегменте:
F0000=F000*16
0FFFF
FFFFF=1Mb=1048576 байт.
Теперь об организации памяти в реальном режиме:
0-сегмент-служебный сегмент Bios/Dos, в нем хранят служебные переменные, таблицу прерываний(все перечислять не буду).
1-9 сегмент- сегменты области пользователя.
A-C сегмент- видеобуфера/видеоконтролера.
D-E сегмент в котором расположена Dos и резиденты Bios, но не факт, т.
к. от системы к системе эти области меняются.
F-сегмент, в который копируется содержимое ПЗУ Bios.
Разберитесь с этой информацией(см. на книгу С.В.Кулакова -программирование на аппаратном уровне). Завтра отвечу уже на все Ваши вопросы.

• Отредактировал: Зенченко Константин Николаевич (Модератор)
• Дата редактирования: 08.10.2017, 16:29

ialmiev
Посетитель

ID: 401339

# 3

= общий = | 09.10.2017, 00:57 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

Уважаемые Константин Николаевич и эксперты,
здравствуйте,

спасибо за Ваше сообщение.

с точки зрения простого объяснения как формируется физический адрес (Ваше объяснение и из Wikipedia) - мне стало это понятным - происходит сдвиг на четыре бита (эквивалентно умножению на 16) в двадцатибитной шине адресов и данных.

Константин Николаевич, это все теория, которую могут освоить также и молодые научные сотрудники и молодые профессиональные программисты. меня же интересует -
1) что руководило и побуждало разработчиков (как правило их было не больше двух, может быть один) выбирать такие числа-параметры для сегментов и памяти - 64 килобайта ... 1мегабайт ... четырехбитное смещение в шине адресов (а не пятибитное или другое-битное смещение) и т.д.

Константин Николаевич, по свое специальности я - физик (компьютерное моделирование в атомной (квантовые электронные переходы в атомах) и лазерной физике) и могу предположить, что разработчиками Интеловских процессоров руководило (может и руководит и сейчас) религиозный фанатизм-вера в какие-то числовые закономерности - это присутствовало в науке в средние века в Европе и в Древнем Египте. это только предположения, основанные на моем профессиональном и наблюдательном опыте из моего прошлого - так как мы с Вами не Вольфы Мессинги, и поэтому заглядывать в прошлое и будущее других людей на расстоянии не можем. с другой стороны, Intel - это коммерческая компания - поэтому возможно, что разработки микропроцессоров были ... сворованы из какого-либо Американского университета - из своего опыта знаю, что этим способом (научно-техническое воровство) пользуются крупные коммерческие компании в Великобритании.

2) также меня интересует сама схемотехника (полупроводниковая микроэлектроника) и дизайн (разработка) самих микропроцессоров - то есть хотелось бы научиться разрабатывать самому микропроцессоры (на бумаге (сначала) и, потом, на компьютере) - для этого хотелось бы научиться также и разработке элементной базы (вентили, переключатели, запоминающие устройства и т.д.) на примере аналоговой электроники (обычные диоды, резисторы, конденсаторы, биполярные транзисторы) - для того, чтобы перейти к изучению микроэлектронного строения, функционирования и разработке (самому) микроэлектронной структуры пусть даже старых (старые модели) микропроцессоров/микроконтроллеров, необходимо довольно профессионально владеть базой-основой, а именно аналоговой схемотехникой-электроникой.
может быть сможете порекомендовать какие-либо книги по аналоговой электронике-схемотехнике, начинающиеся с самих радиоэлектронных основ-фундамента ?

Спасибо.

Зенченко Константин Николаевич
Модератор

ID: 31795

# 4

= общий = | 09.10.2017, 12:51 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
ialmiev:

В свое время велись разработки двоичной и троичной логики. Даже построили несколько машин "Сетунь". Решение применять двоичную логику было принято после долгих исследований и с учетом элементной базы того времени. Троичная логика на лампах реализовывалась с большим трудом. Двоичная логика была принята за базовую из-за простоты выполнения.
Во времена союза, считалось, что мы впереди планеты всей, выпускали ЭВМ-ы ламповые с ПЗУ на ферромагнитных кольцах, потом лампы меняли на транзисторы, , потом все меняли на ИС(интегральные схемы), БИСы(т.е. большие ИС) сейчас это все называют микросхемами.
smile
Знаете чем отличается ИС от БИС, в первых реализовано какое-то функциональное устройство, у вторых, этих устройств больше двух, ну соответственно количество ножек у вторых больше ну и вес. На лекции как-то препод(П) нам все это рассказывал и когда он сказал у БИС аж, 48 ножек, из зала(З) прозвучало - и две ручки, П: а ручки зачем?
З: а переносить как будете?
smile
По тем временам, современные микросхемы - супер-пупер СБИСы.

Честно говоря я как-то не задумывался над этим, в меня вбивали кучу данных, чтобы после выпуска я мог ремонтировать современную военную аппаратуру.

2)
Ну тогда начните с понимания работы диода и транзистора, именно на них строится работа ключей, повторителей, инверторов. На последних строятся триггера(бит), 8-мь триггеров(байт), куча триггеров(килобайты и т.д.). С помощью ключей выбирается отдельный байт и пересылается в такой же выбранный байт другого устройства, все это синхронизируется импульсами и так далее. На всем этом строится сумматоры, счетчики и другие более функциональные устройства, на которых потом собирается сама ЭВМ.
Тут описана работа процессора Z80 со схемотехникой, диаграммами, система команд и т.к, родоначальника х86. Взаимодействие ЦПУ и остального железа в журнале "Радио" за 86-ой год.

ialmiev
Посетитель

ID: 401339

# 5

= общий = | 09.10.2017, 23:34 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Зенченко Константин Николаевич:

Уважаемый Константин Николаевич,
здравствуйте,

1) спасибо большое за Ваши сообщения и ссылку на книгу. я немножко "поиграл" с видеорежимами (текст-фон) - для меня, новичка, это стало интересным занятием.
2) ну, хорошо, чтобы не останавливаться на достигнутом и не отвлекаться на другие темы - продолжу изучение книги О.А.Калашникова.
3) также вспомню вузовские курсы по физике полупроводников и по основам твердотельной электроники (диоды, транзисторы), также почитаю дополнительную литературу,
4) чтобы в голове все улеглось - новичкам необходимо изучать данные темы постепенно, с основ - не стесняться того, что многое (высшая математика и теоретическая физика) уже забыто - просто надо вспомнить, почитать книжки и лекции по разным темам,
5) где-то я читал, что выбор двоичной-троичной-четверичной логик был обоснован сначала теоретически, то есть с помощью вывода соответствующих формул - это происходило в США в начале 1930-х годов (я не помню автора(ов) и американские университеты, где этим занимались).

еще раз, спасибо.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13873 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн