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

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


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 780
от 16.06.2007, 04:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 380, Экспертов: 34
В номере:Вопросов: 3, Ответов: 3


Вопрос № 90828: Здравствуйте друзья! Знающих уже, наверное, задрали эти вопросы, часто читаю ответы на них в рассылке, но вот сам занялся изучением Ассемблера и сразу тупик. Изучать начал с самой рекомендованной книги О. Калашникова «Ассемблер это просто». ..
Вопрос № 90833: Не справляюсь с задачей: Ввести с клавиатуры целое число из диапазона 0-255 и вывести на дисплей эквивалентный этому числу ASCII-символ. Это всё в ассемлере. Очень нужен исходник с комментариями. Лучше на ТАSM. У меня WinXP, 900 Селерон. Заранее благ...
Вопрос № 90890: Доброго времени суток, уважаемые эксперты! В теории разницы между теорией и практикой не существует, а вот на практике - разница огромна... Вроде, всё понятно, а как написать код - дуб дубом... Есть три задачи. Помогите, пожалуйста, с ними разобр...

Вопрос № 90.828
Здравствуйте друзья! Знающих уже, наверное, задрали эти вопросы, часто читаю ответы на них в рассылке, но вот сам занялся изучением Ассемблера и сразу тупик.
Изучать начал с самой рекомендованной книги О. Калашникова «Ассемблер это просто».
Ну не понятны мне мозги программистов. В 17 пунктах разжевывается, как установить
MASM (100 из 100 людей знакомых с компьютером запросто сделают это сами), а ассемблирование и компоновку (судя по книге) компьютер сделает сам. Вы лучше это разжуйте. Установил я MASM 6.11, создал текстовый файл PROG. ASM, а дальше что,
вот где надо разжевывать. В папке BIN , 7, как я полагаю, запускных программ ( exe.) Рамки с белым фоном и вверху с синяя полоса с белыми кнопками. Так вот все они, кроме одной, при запуске мигнут черным фоном на мониторе и закрываются. А открывается только программа CREF. Набираю ML.,EXE PROG. ASM /AT ….и тишина, может кому то и смешно, мне не очень. Кому не лень растолкуйте по пунктам, (как в том анекдоте, нажмите на клавишу ENTER, а теперь, что бы заработало, отпустите клавишу). У меня стоит ОС Windows XP Professional SP 2. Буду признателен.
Отправлен: 10.06.2007, 15:16
Вопрос задал: Дубков К.П. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Дубков К.П.!

Работа с компиляторами MASM и TASM возможна только в командной строке.
1)Для этого создаете на рабочем столе ярлык,
в свойствах ярлыка закладка программa меняете:
в поле коммандная строка пишете:C:WINDOWScommand.com
в поле рабочая папка пишете:C:masmin это если у Вас в эту папку установлен MASM.
В эту папку Вы будете записывать и свои программы.
Kликнув на ярлыке Вы сразу попадаете в папку с MASM и режиме сеанса ДОС.
и только после этого Вы набираете ML . ,EXE PROG. ASM /AT.
2)Устанавливаете любой файловый менеджер (дос-навигатор, волков командер и т.п) запустив его и перейдя в папку с MASM набираете Вашу комманду.
Удачи!
---------
И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 11.06.2007, 11:21
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ, кроме Вас больше никто и не знает.


Вопрос № 90.833
Не справляюсь с задачей: Ввести с клавиатуры целое число из диапазона 0-255 и вывести на дисплей эквивалентный этому числу ASCII-символ. Это всё в ассемлере. Очень нужен исходник с комментариями. Лучше на ТАSM. У меня WinXP, 900 Селерон. Заранее благодарен.
Отправлен: 10.06.2007, 15:43
Вопрос задал: Юрий Саныч (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Юрий Саныч!

Смотрите приложение.
По программе:
-программа реагирует только на цифровые клавиши и клавишу ВВОД.
после нажатия клавиши ВВОД или нажатия 3-х цифровых клавиш выводится разделитель ":" и после этого сам символ.
Удачи!

Приложение:

---------
И только наступив на грабли мы преобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 11.06.2007, 13:49


Вопрос № 90.890
Доброго времени суток, уважаемые эксперты! В теории разницы между теорией и практикой не существует, а вот на практике - разница огромна... Вроде, всё понятно, а как написать код - дуб дубом...
Есть три задачи. Помогите, пожалуйста, с ними разобраться...

Задача 1.
Написать программу, которая "параллельно" выполняет 2 процесса. Главный процесс - программа, печатающая в бесконечном цикле красные квадраты на экране монитора. Каждая итерация цикла печатает один квадрат в разных местах, начиная с левого верхнего угла и до правого нижнего (до полного заполнения экрана монитора красными квадратами). (потом - возвращается в левый верхний угол и опять заполняет экран красными квадратамии до левого нижнего угла, и так - бесконечно). В каждом "печатанье" квадрата есть задержка. Программа использует вспомогательную процедуру (delay) для создания этой задержки. Параметр, передающийся процедуре для задержки, можно изменить ввоом с клавиатуры (F повышает частоту в 2 раза, S уменьшает частоту в 2 раза).
Вторичный процесс проходит в постоянной частоте пррерывания таймера (Timer Interrupt). Каждое прерывание таймера заполняет весь экран монитора синими квадратами. (каждое прерывание таймера - весь экран становится синим).
Esc - завершает программу не раньше, чем восстанавливается старый адрес прерывания таймера в таблице прерываний.

Задача 2.
Написать программу, отслеживающую изменения в очереди клавиатуры.
Программа:
- Выводит на экран монитора содержание очереди: код сканирования, в 16-ричном формате;
- Отмечает head и tail очереди клавиатуры;
- Рарешает добавить/удалить член из очереди и выводит на экран монитора все изменения;
- Даёт специфический сигнал в случае попытки добавить член в полную очереди или стереть из пустой очереди.

Задача 3.
Написать программу TSR (Terminate and Stay Resident) count_caps, которая, начиная с момента запуска, начинает работу и получает каждые 10 секунд "образец" монитора и проверяет, сколько раз появляются заглавные буквы (A-Z). Процесс взятия "образцов" монитора продолжается 50 секунд. Т.е., будет 5 взятий "образцов" монитора (после 10, 20, 30, 40 и 50 секунд с начала запуска программы). 5 результатов сохраняются в массиве памяти.
После того как пройдёт 50 секунд, каждый раз, как пользователь нажмёт на Esc, будет напечатано (на экране монитора), начиная с 12 строки 30 колонки с пробелом между результатами.
Можно предположить, что не будет более 99 заглавных букв в каждом "образце", взятом с монитора.
Отправлен: 10.06.2007, 23:35
Вопрос задала: Вера Т (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Вера Т!
Задача 1
Программа работает, только вот таймер вызывается 18 раз в секунду.
Насколько я помню для человеческого глаза не заметно все, что выше 5 раз в секунду.
Чтобы убедится в работоспособности Вам необходимо:
-1) убарать строки установки своего обработчика, отмечены ;--, или
-2) в обработчике чистить экран не полностью тогда будут видны изменения на экране, или
-3) обработчике поставить что-то вроде счетчика вызовов.
В подпрограмме show следуюшие строчки выводят в левом вернем углу символьное и цветовое представление координаты выводимого квадрата их можно убрать, но если убрать обработчик по частоте смены символов можно увидеть работу задержки delay.

mov ax,di
xor di,di
mov es:[di],ax


Удачи!

Приложение:

---------
И только наступив на грабли мы преобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 12.06.2007, 20:27


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное