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

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 014

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-06-05


Уважаемые читатели!

Вашему вниманию предлагается опросный лист, где вы сможете отправить ваши пожелания по поводу ведения настоящей рассылки. Мне необходимо знать ваше мнение и вести рассылку так, как вам больше хочется. Буду благодарен, если вы отправите ваши ответы (до 14 июня 2001 года).

На все вопросы отвечать НЕ обязательно! Если какой-то вопрос вам не нравится, то просто оставьте выделенным поле "=== Ваш выбор ===".

Поверьте, ваше мнение для меня очень важно! Мы ведь делаем рассылку вместе!

Анонимность гарантируется!

Опросный лист

1. Оцените качество ответов экспертов (в целом):

2. Теперь в рассылку попадает первые два вопроса, а остальные отправляются только подписчику. Это есть хорошо?

3. Если нет, то сколько бы Вы хотели видеть одинаковых вопросов, но разных ответов?

4. Если в рассылке будет присутствовать форма голосования за ответы экспертов, то я:

5. Книга отзывов на ответы экспертов - это:

6. Хорошо ли то, что ответ эксперта направляется подписчику сразу после того, как эксперт ответил или этого делать не стоит, а все ответы публиковать только в рассылке?

7. Эксперт обозвал меня "Великим Чайником". Я:

_______________

8. Как часто Вы бы хотели получать выпуски рассылки?

9. Нужно ли публиковать неотвеченные вопросы?

10. Разрешить ли публиковать мысли, заметки, статьи подписчиков и экспертов в рассылке, помимо вопросов / ответов?

_______________

11. Необходимо ли создать подгруппу "Для новеньких"? В эту группу смогут отправлять новые подписчики с соответствующими вопросами (типа: "Что тут происходит? Че за термины??? Где мне выучить Ассемблер?" и т.п.).

_______________

12. В рассылке для поддержания рейтинга сайта и "боевого духа" ведущего рассылки установлены три кнопки (SpyLog.ru, one.ru, toplist.ru) внизу рассылки. Как Вы к этому относитесь?

_______________

13. Стоит ли периодически проводить подобные опросы?

14. А другие (по программированию)?

_______________


От ведущего

Уважаемые подписчики!
1. Повторю: постарайтесь отправлять вопрос в ОДНУ экспертную группу! Иначе я буду вынужден блокировать Ваш электронный адрес на определенное время после отправления одного вопроса!
2. Пожалуйста, вставляйте коды программ в соответствующее окно ("Дополннительная информация"). Так удобней будет как экспертам, так и всем подписчикам!
3. Помните, что каждое нажатие на клавишу Enter в окне подачи вопроса переводится в HTML-тег как <br>. Если подряд идет много <br>, то это делает малочитабельной рассылку! Надеюсь, что скоро я автоматически стану убирать "лишние" <br>...

Спасибо за внимание!

Вопрос №22

Здравствуйте, боссы ассемблера!

Хотелось бы получить полную таблицу команд

пнёвого процессора (шестнадцатеричный код, мнемоника,

влияние на флаги, кол-во тактов за которое выполняется

и по возможности краткое описание).

Заранее спасибо.



Ответ

Вообщето это около 500 стр. если в метрах - around 4.
Смотри книгу Assembler для DOS, Windows и UNIX. Издательства ДМК. Автор Зубков С.В. тма есть все вплоть до SSE and 3Dnow and MMX команд с полнейшей инфой по конвеерам машинным кодам команд и многое другое. Лично я считаю эту книгу одной из лучших.

With respect Asmlord


Отправил: Sultriness (http://rvs.hotmail.ru - Programs, help, documentations etc.)
Эксперт отправил ответов (всего): 8

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №28

Увожаемые эксперты!!!

Я хотел бы уточнить для себя такие понятия как кэш и шина,

ясли я хоть как то представляю работу кэша, то о шине имею только поверхностное представление.

Ответте на вопрос что такое кэш и шиа (если можно по подробнее)!!!



За ранее благодарен.........Александр!



Ответ

Hi, Александр. Существует три вида памяти: постоянная(дискеты, жёсткие диски или, как они у вас называются, винчестеры,
компакт-диски или CD,ПЗУ т.е.BIOS), оперативная память или RAM и
сверхоперативная память т.е. cache и регистры процессора. Cache
расположена внутри процессора и отличается высоким быстродействием
(в области nanosekonds) в то время как RAM работает в области
микросекунд, а диски-миллисекунд. Кроме того жёсткие диски могут
также иметь cache или для этой цели выделяется специальная область
RAM.

2.Передача данных и адресов для повышения быстродействия осуществляет-
ся параллельно, т.е. все биты передаются одновременно, каждый по
своему проводнику. Все проводники, служащие для одной цели и образуют
шину(данных или адресов).
Bye-bye, Oleg(Tschabanow@ewetel.net)


Отправил: Oleg
Эксперт отправил ответов (всего): 2

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №16

Я в сомнении

Кто устанавливает прерывания?



Я из своей проги или устройство, которое висит на данном прерывании?



Как цеплять свой обработчик прерывания к конкретному прерыванию (например для клавы)?



Если будут примеры кода пожалуйста пишите код для DOS32pm



Я чайник, поэтому отвечайте по русски.

Ответ

Устройство устанавливает IRQ - т.е. аппаратное прерывание. Каждому аппартному прерыванию соответствует свой номер INT - программного прерывания. Обработчик этого самого прерывания вначале станавливается BIOS'ом, затем DOS'ом и, наконец, твоей программой, если пожелаешь.
Если для реального режима, то все не просто, а очень просто. Я тут недавно :) приводил пример программы которая удаляет с клавиатуры клавишу ctrl. Т.е. ты на нее жмешь, а эффекту никакого. Собственно ее я опять в приложении и приведу. А если ты имеешь ввиду защищенный режим(DOS32pm), то это уже другая песня. Там уже не прерывания, а ловушки и вообще. Если конечно не пользоваться программами dos4gw, 32rtm и т.д. Все эти программы за тебя занимаются всей этой защищенной лабудой.

P.S. Собирать в .com файл естественно. Осторожно резидентная программа!

Приложение:


Отправил: Александр
Эксперт отправил ответов (всего): 16

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №29

Уважаемые эксперты.



Ответьте, пожалуйста, на такой чайниковский вопрос. Что и в какой последовательности располагается в оперативной памяти компьютера после того, как мы его включаем? Конечно, при условии, что в нём есть DOS.:))

Т.е. хотелось бы уяснить себе структуру расположения данных в оперативной памяти (если это возможно, то с размерами). Спасибо.

hk_teapot

Ответ

Я конечно понимаю, что в дебрях Папуа-Новой Гвинеи книжек не читают - хорошая растопка для костра, однако, но не настолько же.
Стандартная память(первые 640Кб)
00000-003FF Таблица векторов прерываний
00400-004FF BIOS DATA Area.
00500-00xxx DOS Area - Тут сидит злобный DOS.
00xxx-9FFFF User RAM - Память для пользовательских программ. (Не более 638Кб).
9FC00-9FFFF Расширение BIOS DATA Area для PS/2 мыши.
Верхняя память - UMA(384Кб)
A0000-BFFFF Video RAM - Видеопамять, 128Кб. полностью практически не используется.
С0000-DFFFF Adapter ROM или RAM - для устройств со своими модулями BIOS и специальная область ОЗУ(?).
E0000-EFFFF свободная область, иногда System BIOS.
F0000-FFFFF System BIOS, 128Кб ROM(или flash ROM) на системной плате.
В XT используются только FE000-FFFFF.
Вот и весь первый мегабайт. Все что выше должно быть либо XMS либо EMS - памятью(под DOS само-собой разумеется) или вообще не быть.


Отправил: Александр
Эксперт отправил ответов (всего): 17

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
P.S. Спасибо за интересный вопрос и исчерпывающий ответ! (прим. - О.К).

Вопрос №30

Уважаемые эксперты.



Ответьте, пожалуйста, на такой чайниковский вопрос. Что и в какой последовательности располагается в оперативной памяти компьютера после того, как мы его включаем? Конечно, при условии, что в нём есть DOS.:))

Т.е. хотелось бы уяснить себе структуру расположения данных в оперативной памяти (если это возможно, то с размерами). Спасибо.

hk_teapot

Ответ

Привет. Отвечаю на твой вопрос. Все что ты хочешь узнать можно посмотреть в проге Volcov Commander, нажав Alt+F5 после этого появится окно, где ты увидишь, что загружео сейчас в память и сколько эти проги ее занимают. А если быть уж осень дотошным, то тебе нужно почитать любую литературу рассказывающую о начальной загрузке компьютера.

With respect Asmlrod


Отправил: Sultriness (http://rvs.hotmail.ru - Programs, help, documentations etc.)
Эксперт отправил ответов (всего): 8

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №27

Уважаемые эксперты!

Вопрос не совсем по теме ассемблера, но хотелось одну книжку

по ассемблеру распечатать на бумагу, а то не очень удобно

читать с экрана.

Пытался напечатать на принтере игольчатом, старом очень

Star LC24, текст с кириллицей из файла в ДОСе,не получается, вылазит какая-то ерунда.Т.е в ДОСе принтер

не печатает кириллицу, в Виндовс печатает без проблем,

но эти текстовые файлы в Виндовс открываются не правильно, на экране непонятный набор символов, пытался разные

шрифты- то же самое.

Имею Win98SE Rus, и WIN2000 Eng.

Спасибо.

Ответ

Спопсоб 1:
Раздобудь какой-нибудь текстовый редактор для ДОС тех же времён, к примеру точно подошёл бы Word and Deed. Лексикон думаю тоже подошёл бы. Через них файл распечатается правильно.
Способ 2:
В И-нете нетрудно найти перекодировщик. То бишь... программу, которая кодировку ДОС переделает в любую из кодировок Windows (Cirillic, KOI8-R, ISO). Затем без проблем открываешь файл в виндах и распечатываешь. Если не найдёшь - пиши, пришлю свой.
Спопсоб 3: дополнение к способу 2:
После перекодировки открываешь свой файл и добавляешь в начале файла теги html, body, pre каждый в таких <> скобках
и аналогично в конце файла /pre /body /html опять в тех же скобках, то бишь по три тега в начале и конце. Потом переименовывай расширение файла в .htm, открывай его у себя в браузере и печатай наздоровье:)


Отправил: Алексей Чатов (http://www.bobrland.com - Плотина Бобров)
Эксперт отправил ответов (всего): 3

Экспертная группа: Пользовательская работа c DOS

Вопрос №32

Здравствуйте, Эксперты!



Можно ли на прерывание int09h повесить свой обработчик?

И как это сделать?


Заранее благодарен,
ШМЕЛЬ

Ответ

Здравствуйте, ШМЕЛЬ!
Естественно, повесить собственный обработчик прерывания на 09h прерывание так же просто, как на любое другое (т.е. набор команд будет примерно одинаковый). Только вот при написании подобных обработчиков следует быть предельно внимательными, т.к. ошибка (даже самая несущественная) приводит к зависанию компьютера.

Простейший пример можно посмотреть в 15 выпуске основной рассылки, более сложный - в 23. Там все подробно написано!


Отправил: Олег Калашников (http://www.Kalashnikoff.ru - Рассылки по Ассемблеру и Законодательству)
В рейтинге не участвует!

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №32

Здравствуйте Эксперты?



Можно ли на прерывание int09h повесить свой обработчик?

И как это сделать?



Заранее благодарен

ШМЕЛЬ

Ответ


См листинг.


Приложение:


Отправил: Dron
Эксперт отправил ответов (всего): 14

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №33

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

Может ли функция AX=4B00h INT 21h загрузить и выполнить упакованный exe-файл ?

Как распаковывать и упаковывать exe-файлы ?

Ответ

Упакованный exe файл - это тоже exe файл
он с таким же успехом загрузиться и выполнится, главное чтобы памяти хватило.


Отправил: Dron
Эксперт отправил ответов (всего): 15

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Задать вопрос экспертам

Регистрация в качестве эксперта


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Relayed by Corbina
Рейтингуется SpyLog

В избранное