Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 724
от 15.05.2004, 16:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5280 Отправлено ответов: 14525 Активность: 275.0 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 133.47 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
Pawel Статус: Профессиональный Общий рейтинг: 154.45 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 118.43 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 111.7 [Подробней >>] |
VOVAN Статус: Опытный Общий рейтинг: 105.37 [Подробней >>] |
Foamplast Статус: Профессиональный Общий рейтинг: 150.11 URL: мой личный сайт [Подробней >>] |
Acid Burn Статус: Доверительный Общий рейтинг: 126 [Подробней >>] |
Dragoon Статус: Начальный Общий рейтинг: 108.77 [Подробней >>] |
Стас Статус: Начальный Общий рейтинг: 123.07 [Подробней >>] |
Artemy Статус: Опытный Общий рейтинг: 112 Телефон: 8 905 549 38 66 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 116.57 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5254. ЗДРАВСТВЙТЕ! Хотел бы поинтересоваться в каком редекторе нужно писать программу на ассемблере(есть M... (ответов: 7)
Вопрос № 5255. Доброго времени суток, уважаемые эксперты! У меня возникла следующая проблема. Я хочу написать резид... (ответов: 9)
Вопрос № 5256. Здравствуйте. Подскажите пожалуйста можно ли сделать так чтоб функция 7141h прерывания 21h для удале... (ответов: 3)
Вопрос № 5258. Всем привет! народ помогите лабу написать: Посортирывать символы в пердложении по спаданию независим... (ответов: 5)
Вопрос № 5259. Спасибо за ответ №5232 Foamplast и Pawel. Pawel спасибо за помощь куда можно писать? ... (ответов: 1)
Вопросов: 5, ответов: 25
Вопрос № 5254 |
ЗДРАВСТВЙТЕ!
Хотел бы поинтересоваться в каком редекторе нужно писать программу на ассемблере(есть MS Office XP),и как её записать в MASM611 чтобы прокампилировать.Установлена ОС WinXP и MASM611.Заранее благодарю.
Вопрос отправлен: 10.05.2004, 20:34
Отправитель: АЛЕКСАНДР (shurik@pbox.infotecstt.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Доброе время суток, АЛЕКСАНДР!
Только в Office, а как же!!
И потом мышой перетащить на Masm, больше никак.
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 10.05.2004, 23:50
Отправитель: Евгений Иванов
Отвечает Pawel
Доброе время суток, АЛЕКСАНДР!
Хоть в блокноте!!!
Но вообщето существует masm32, с уже встроенным редактором.
Ответ отправлен: 10.05.2004, 21:43
Отправитель: Pawel
Отвечает _vt
Добрый день, АЛЕКСАНДР!
Для изучения ассемблера в первую очередь необходимо иметь навыки работы с командной строкой. Если их нет - ничего не выйдет. Ты можешь найти какую-либо визуальную среду разработки под ассемблер, но необходимо понять более глубокие принципы. Итак, тебе нужен для начала текстовый редактор Блокнот ™ , в котором необходимо набивать программу и командная строка, в которой надо запускать ML.EXE с параметрами компиляции. Все подробно описано в книге Олега Калашникова - скачай ее с kalashnikoff.ru. Если возникнут вопросы - обращайся.
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 11.05.2004, 04:11
Отправитель: _vt
Отвечает ASMодей
Приветствую Вас, АЛЕКСАНДР!
Писать программу можно в любом редакторе, главное соблюдать правильную
кодировку, а то вместо русских букв получатся каракули.
Записывать программу в MASM611 не надо, он ее сам прочитает, ему нужно
только указать где она лежит. Пиши ml.exe, потом через пробел полный путь
к файлу с текстом программы и, если это *.com-программа, то через пробел
укажи ключ /AT (большими буквами). Если в программе не было ошибок, получишь
исполняемый файл.
Ответ отправлен: 11.05.2004, 15:39
Отправитель: ASMодей
Отвечает VOVAN
Здравствуйте, АЛЕКСАНДР!
набирать можно в блокноте, сохранять с расширением .asm, как компилировать написано в рассылке Калашникова.
Ответ отправлен: 11.05.2004, 17:18
Отправитель: VOVAN
Отвечает Foamplast
Приветствую Вас, АЛЕКСАНДР!
В любом, сохраняющем простой текст. Наример, если Вы мазохист, то можно в блокноте. Я предпочитаю Aditor. Его можно найти и бесплатно скачать.
Ответ отправлен: 11.05.2004, 22:09
Отправитель: Foamplast
Отвечает Acid Burn
Приветствую Вас, АЛЕКСАНДР!
Блокнот - все что тебе нужно... Сохраняй только с расширением *.asm!
Ответ отправлен: 11.05.2004, 23:01
Отправитель: Acid Burn
Вопрос № 5255 |
Доброго времени суток, уважаемые эксперты!
У меня возникла следующая проблема. Я хочу написать резидентную программу под DOS, которая бы вела логи всех нажатых на клавиатуре клавиш (такой вот клавиатурный шпион :) ). Вот только не знаю какое прерывание (и какую функцию этого прерывания) стоит перехватывать, чтоб наверняка знать обо всех нажатых пользователем клавишах (поскольку функций и прерываний считывающих данные с клавиатуры много, например 10h , 21h и 16h). Может при кажущемся многообразии функций прерываний, работающих с клавиатурой есть какая то базовая, к которой ссылаются все остальные (своеобразная иерархия прерываний), если да, то что это за основное прерываение?
Собственно это и есть мой вопрос.
Заранее спасибо за ответы.
Вопрос отправлен: 10.05.2004, 21:51
Отправитель: Тагир
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Добрый день, Тагир!
Первое аппаратное.
9-ое программное.
;)
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 10.05.2004, 23:51
Отправитель: Евгений Иванов
Отвечает Dragoon
Здравствуйте, Тагир!
Прерывание 09h вызывается каждый раз, когда нажимается
любая клавиша.
Ответ отправлен: 13.05.2004, 22:04
Отправитель: Dragoon
Отвечает ASMодей
Добрый день, Тагир!
Есть такое прерывание. INT 09 называется. Аппаратное прерывание от клавиатуры.
Приходит всякий раз, когда нажимаешь или отпускаешь клавишу. В обработчике
этого прерывания из порта 60h считываешь скан-код клавиши, расшифровываешь
ее и делаешь то, что нужно. И не забудь в обработчике в конце поставить
следующие строки (особенности аппаратных прерываний):
;разрешить работу клавиатуры
in al,61h
or al,80h
out 61h,al
;послать EOI контроллеру прерываний
mov al,20h
out 20h,al
Ответ отправлен: 11.05.2004, 15:41
Отправитель: ASMодей
Отвечает Стас
Приветствую Вас, Тагир!
Через Int9 и чтение буффера клавиатуры надежнее всего. 100% гарантия.
А легче всего через Int16. Проще реализуется. Скорее всего весь клавиатурный ввод (в т.ч. Int21) проходит и через него тоже.
Но гарантировать не могу.
Ответ отправлен: 11.05.2004, 00:16
Отправитель: Стас
Отвечает Artemy
Здравствуйте, Тагир!
int 09h
Ответ отправлен: 11.05.2004, 16:14
Отправитель: Artemy
Отвечает VOVAN
Доброе время суток, Тагир!
перехватывай int 9h, ставь сой обработчик, не промахнёшься.
Ответ отправлен: 11.05.2004, 17:22
Отправитель: VOVAN
Отвечает Ayl
Приветствую Вас, Тагир!
Любая нажатая (и отпущенная!) клавиша выдает прерывание 9 для процессора. После чего обработчик этого прерывания преобразует код этой клавиши (т.н. скен-код) в ASCII-код либо в расширенный код (для функциональных и т.п. клавиш). Так что ты можешь перехватить 9-е прерывание, прочитать значение из порта 60h и записать его. После чего вызвать старый обработчик прерывания. Единственный минус - это то, что ты получишь скен-коды клавиш. Зато точно не пропустишь ничего. А для преобразования можешь написать отдельную программку, которая будет преобразовывать эти скен-коды в последовательность нажатых клавиш. Хоть в графике! :-)
Ответ отправлен: 11.05.2004, 17:56
Отправитель: Ayl
Отвечает Foamplast
Здравствуйте, Тагир!
Вы аболютно правы. Приведённые Вами прерывания всего лишь интерфейсы к DOS или BIOS. Прерывание клавиатуры - INT 9. Вызывается оно контроллером клавиатуры при каждом нажатии или отпускании клавиш. То есть если необходимо знать всё, то нужно перехватить это прерывание, записав адрес своего обработчика в таблицу векторов прерываний. После этого Ваша поцедура будет вызываться при каждом нажатии или отпускании клавиши. Эта тема займёт достаточно места, так что отсылаю Вас к ya.ru за исходниками и к книгам. (Например, Зубков С.В. - "Assembler для DOS, Windows и UNIX".)
Ответ отправлен: 11.05.2004, 22:09
Отправитель: Foamplast
Отвечает Acid Burn
Доброе время суток, Тагир!
Легче всего перехватыват int 9h!
Ответ отправлен: 11.05.2004, 22:54
Отправитель: Acid Burn
Вопрос № 5256 |
Здравствуйте.
Подскажите пожалуйста можно ли сделать так чтоб функция 7141h прерывания 21h для удаления файлов с длинными именами, удаляла файл с указанием пути на файл, например "d:путьимяфайла",0. Старая функция 41h, если ей передать такой путь работает нормально, а 7141h выдает ошибку "файл не найден".
Вопрос отправлен: 10.05.2004, 22:52
Отправитель: Начинающий
[Следующий вопрос >>] [Список вопросов]
Отвечает Foamplast
Доброе время суток, Начинающий!
Она, наверное, только в текущем каталоге работает, проверьте.
Ответ отправлен: 13.05.2004, 23:35
Отправитель: Foamplast
Отвечает Artemy
Приветствую Вас, Начинающий!
попробуй указывать путь в кавычкач (код 22h)
Ответ отправлен: 11.05.2004, 16:18
Отправитель: Artemy
Отвечает Acid Burn
Приветствую Вас, Начинающий!
Возможно ы не правельно задаешь строку адресе(т.е. не используешь "" в в пути). С ним у меня все работает нормально!
Ответ отправлен: 11.05.2004, 22:51
Отправитель: Acid Burn
Вопрос № 5258 |
Всем привет!
народ помогите лабу написать:
Посортирывать символы в пердложении по спаданию независимо от величина букв.
Приложение:
Вопрос отправлен: 11.05.2004, 09:34
Отправитель: OL
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Приветствую Вас, OL!
Это в каком смысле 'по спаданию'??? Выражайся яснее.
Ответ отправлен: 13.05.2004, 22:03
Отправитель: Dragoon
Отвечает Стас
Доброе время суток, OL!
Примерно так.
На регистр букв внимания не обращаю, т.е. M=m.
Строка может быть любой длинны (в разумных пределах), должна заканчиваться "$". Цифры, пробелы и знаки тоже попадают под "раздачу".
Приложение:
Ответ отправлен: 11.05.2004, 12:48
Отправитель: Стас
Отвечает Foamplast
Добрый день, OL!
Предлагаю сортировку методом пузырька. Здесь пары символов пересекаются друг с другом. Т.е. в слове паровоз первая пара - "па", вторая - "ар", третья - "ро" и т.д.
Цикл: Сбрасываем флаг, берём первую пару символов, выполняем над ней операцию проверки. Если проверка неудачная, устанавливаем флаг и меняем местами символы пары. Если удачная, то нифига не делаем. Берём следующую пару. Повторяем. И так до конца предложения. Когда предложение закончится, смотрим, установлен ли флаг. Если да, то повторяем весь цикл заново.
Проверка: Если какой-либо символ больше или равен 'а' и одновременно меньше 'я', то из него следует вычесть ('а' - 'А'). Далее сравниваем символы и возвращаем результат.
Пример: Можно скачать здесь: http://foamplast.hexx.ru/csort.zip (В общем, Ваша "лаба" давно уже сделана :)
Ответ отправлен: 13.05.2004, 23:35
Отправитель: Foamplast
Отвечает Евгений Иванов
Добрый день, OL!
Ну вот, надо символы напоить сначала, они и поспадутся ;)
И не важен размер букв, они спаиваются просто замечательно!
Удачи!
* EMan: -=- Любовь существует! =-=
Ответ отправлен: 11.05.2004, 18:36
Отправитель: Евгений Иванов
Отвечает _vt
Приветствую Вас, OL!
А в чем проблема-то? Я не умею "посортирывать"... :) Вопрос-то в чем?
E-Man : Life begins at 1000Mhz!
Ответ отправлен: 11.05.2004, 22:48
Отправитель: _vt
Вопрос № 5259 |
Спасибо за ответ №5232 Foamplast и Pawel.
Pawel спасибо за помощь куда можно писать?
Вопрос отправлен: 11.05.2004, 10:42
Отправитель: vlad (dvovani@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Pawel
Здравствуйте, vlad!
Пиши на ProgramMan@list.ru.
Ответ отправлен: 12.05.2004, 05:54
Отправитель: Pawel
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (25) C / C++ (14) Perl (4) Builder / Delphi (19) Pascal (20) Basic / VBA (4) Java / JavaScript (4) PHP (12) Криптография (8) WinAPI (10) Радиоэлектроника (5) |
Пользователю Windows 95/98/Me (36) Windows NT/2000/XP (53) "Железо" (28) Поиск информации (15) |
Администратору Windows NT/2000/XP (27) Linux / Unix (9) |
Юристу Гражданское право (10) Семейное право (7) Трудовое право (9) КоАП (6) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||