При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
Выпуск N 014 |
Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"
Дата выхода: 2001-06-05
От ведущего
Уважаемые подписчики!Вопрос №22
Здравствуйте, боссы ассемблера!
Хотелось бы получить полную таблицу команд
пнёвого процессора (шестнадцатеричный код, мнемоника,
влияние на флаги, кол-во тактов за которое выполняется
и по возможности краткое описание).
Заранее спасибо.
Ответ
Вообщето это около 500 стр. если в метрах - around 4.
Смотри книгу Assembler для DOS, Windows и UNIX. Издательства ДМК. Автор Зубков С.В. тма есть все вплоть до SSE and 3Dnow and MMX команд с полнейшей инфой по конвеерам машинным кодам команд и многое другое. Лично я считаю эту книгу одной из лучших.
With respect Asmlord
Вопрос №28
Увожаемые эксперты!!!
Я хотел бы уточнить для себя такие понятия как кэш и шина,
ясли я хоть как то представляю работу кэша, то о шине имею только поверхностное представление.
Ответте на вопрос что такое кэш и шиа (если можно по подробнее)!!!
За ранее благодарен.........Александр!
Ответ
Hi, Александр. Существует три вида памяти: постоянная(дискеты, жёсткие диски или, как они у вас называются, винчестеры,
компакт-диски или CD,ПЗУ т.е.BIOS), оперативная память или RAM и
сверхоперативная память т.е. cache и регистры процессора. Cache
расположена внутри процессора и отличается высоким быстродействием
(в области nanosekonds) в то время как RAM работает в области
микросекунд, а диски-миллисекунд. Кроме того жёсткие диски могут
также иметь cache или для этой цели выделяется специальная область
RAM.
2.Передача данных и адресов для повышения быстродействия осуществляет-
ся параллельно, т.е. все биты передаются одновременно, каждый по
своему проводнику. Все проводники, служащие для одной цели и образуют
шину(данных или адресов).
Bye-bye, Oleg(Tschabanow@ewetel.net)
Вопрос №16
Я в сомнении
Кто устанавливает прерывания?
Я из своей проги или устройство, которое висит на данном прерывании?
Как цеплять свой обработчик прерывания к конкретному прерыванию (например для клавы)?
Если будут примеры кода пожалуйста пишите код для DOS32pm
Я чайник, поэтому отвечайте по русски.
Ответ
Устройство устанавливает IRQ - т.е. аппаратное прерывание. Каждому аппартному прерыванию соответствует свой номер INT - программного прерывания. Обработчик этого самого прерывания вначале станавливается BIOS'ом, затем DOS'ом и, наконец, твоей программой, если пожелаешь.
Если для реального режима, то все не просто, а очень просто. Я тут недавно :) приводил пример программы которая удаляет с клавиатуры клавишу ctrl. Т.е. ты на нее жмешь, а эффекту никакого. Собственно ее я опять в приложении и приведу. А если ты имеешь ввиду защищенный режим(DOS32pm), то это уже другая песня. Там уже не прерывания, а ловушки и вообще. Если конечно не пользоваться программами dos4gw, 32rtm и т.д. Все эти программы за тебя занимаются всей этой защищенной лабудой.
P.S. Собирать в .com файл естественно. Осторожно резидентная программа!
Приложение:
Вопрос №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 само-собой разумеется) или вообще не быть.
Вопрос №30
Уважаемые эксперты.
Ответьте, пожалуйста, на такой чайниковский вопрос. Что и в какой последовательности располагается в оперативной памяти компьютера после того, как мы его включаем? Конечно, при условии, что в нём есть DOS.:))
Т.е. хотелось бы уяснить себе структуру расположения данных в оперативной памяти (если это возможно, то с размерами). Спасибо.
hk_teapot
Ответ
Привет. Отвечаю на твой вопрос. Все что ты хочешь узнать можно посмотреть в проге Volcov Commander, нажав Alt+F5 после этого появится окно, где ты увидишь, что загружео сейчас в память и сколько эти проги ее занимают. А если быть уж осень дотошным, то тебе нужно почитать любую литературу рассказывающую о начальной загрузке компьютера.
With respect Asmlrod
Вопрос №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, открывай его у себя в браузере и печатай наздоровье:)
Вопрос №32
Здравствуйте, Эксперты!
Можно ли на прерывание int09h повесить свой обработчик?
И как это сделать?
Заранее благодарен,
ШМЕЛЬ
Ответ
Здравствуйте, ШМЕЛЬ!
Естественно, повесить собственный обработчик прерывания на 09h прерывание так же просто, как на любое другое (т.е. набор команд будет примерно одинаковый). Только вот при написании подобных обработчиков следует быть предельно внимательными, т.к. ошибка (даже самая несущественная) приводит к зависанию компьютера.
Простейший пример можно посмотреть в 15 выпуске основной рассылки, более сложный - в 23. Там все подробно написано!
Вопрос №32
Здравствуйте Эксперты?
Можно ли на прерывание int09h повесить свой обработчик?
И как это сделать?
Заранее благодарен
ШМЕЛЬ
Ответ
См листинг.
Приложение:
Вопрос №33
Здравствуйте !
Может ли функция AX=4B00h INT 21h загрузить и выполнить упакованный exe-файл ?
Как распаковывать и упаковывать exe-файлы ?
Ответ
Упакованный exe файл - это тоже exe файл
он с таким же успехом загрузиться и выполнится, главное чтобы памяти хватило.
Подписаться на рассылки
Регистрация в качестве эксперта
Ведущий рассылки,
Калашников Олег:
Assembler@Kalashnikoff.ru
ICQ No.: 68951340
URL сайта подписчиков:
http://www.Kalashnikoff.ru
______________
По вопросам сотрудничества, рекламы и спонсорства обращайтесь:
(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав. |
http://subscribe.ru/
E-mail: ask@subscribe.ru | Отписаться | Relayed by Corbina
Рейтингуется SpyLog |
В избранное | ||