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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 235
от 10.09.2005, 22:48

Администратор:Калашников О.А.
В рассылке:Подписчиков: 257, Экспертов: 21
В номере:Вопросов: 5, Ответов: 11


Вопрос № 25853: Вопрос: 1. Не подскажете ли вы, что должна делать эта программа? 2. Будет ли она работать в досе ...
Вопрос № 25866: Уважаемые программисты! 1. Есть у кого-нибудь справочник по ассемблеру! Мне нужен справочник по командам сравнения и безусловного перехода! jna jmp jnz jz и т.д. 2. Предполагается, что регистры AX и BX содержат знаков...
Вопрос № 25867: Question: в EXE программе процедура А вызывает процедуру В, В вызывает С, а С вызывает D. Сколько адресов, кроме начальных адресов возврата в DOS содержит стек? Это вопрос из книги? Полагаю, что три! Правильно? :-)...
Вопрос № 25869: Вопрос: Вопрос из ....цензура....цензура....цензура.... зачета: Нужно умножить 48 бит в регистрах DX:AX:BX на 2. Как это сделать? Полагаю, что сначала нужно поместить содержимое регистров в ОЗУ, а потом сдвинуть влево на 4 б...
Вопрос № 25878: Здравствуйте! У меня возникло 2 вопроса: 1)Как можно осуществить управление модемом и ввод/чтение информации, поступающей с него. 2)Есть ли возможность "программирования" вентилятора в компьютере (а именно его остановк...

Вопрос № 25.853
Вопрос:

1. Не подскажете ли вы, что должна делать эта программа?
2. Будет ли она работать в досе

Приложение:

Отправлен: 05.09.2005, 10:09
Вопрос задал: Вася Пупкин (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Вася Пупкин!
Что-то много ошибок получилось при копировании :((
Отсюда и однозначный ответ дать трудно - что она ДОЛЖНА делать, кроме того, что есть в комментариях
Попробуйте прояснить, откуда эта программа, зачем - может и поймем тогда
Так вроде нет команд, которые в ДОСе могут не работать
---------
Прорвемся! (Быть может :(( )
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 05.09.2005, 10:59

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Вася Пупкин!

Данный набор символов, снятый со сканера, с большой натяжкой можно назвать программой. :) Неужели нельзя было потрудиться, и, хотя бы, запятые подправить...
А делает следующее: читает двузначное десятичное число с консоли, затем преобразует в двочно-десятичное, затем считывает в сопроцессор, и, наконец, сохраняет в виде 16-ричного слова в памяти.
Причем в наличии целая куча некорректностей и ошибок. Кое-что подправил, кое-что оставил :) Учись разбираться сам...Если сам не научишься, никто не поможет:)

2. Разумеется, программа под ДОС.
3. Исправления внес в соответствии с синтаксисом TASM-а

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: 2-ой класс)
Отправлен: 05.09.2005, 12:03


Вопрос № 25.866
Уважаемые программисты!
1. Есть у кого-нибудь справочник по ассемблеру!
Мне нужен справочник по командам сравнения и безусловного перехода!
jna
jmp
jnz
jz и т.д.

2. Предполагается, что регистры AX и BX содержат знаковые данные.
Нужно осуществить переход преход, если значение в BX равно или меньше, чем в AX?

Очень нужен справочник, если нету, то скажите пожалуйста:
Какой оператор нужно применить, если возникло переполнение?
т.е. если возникло переполнение, то перейти на метку XXX:
Отправлен: 05.09.2005, 14:11
Вопрос задал: Вася Пупкин (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Вася Пупкин!
Первое, что приходит на ум:

Посмотрите на http://www.kalashnikoff.ru/Assembler/ - а еще лучше книгу его покупайте (не реклама, а навязчивый сервис)
http://www.bobjohnson.nm.ru/
http://www.helloworld.ru/texts/comp/lang/asm/syst/index.htm
http://www.helloworld.ru/texts/comp/lang/asm/asm/macroasm.htm
Если какие-то проблемы будут - скину на мыло кое-что
---------
Прорвемся! (Быть может :(( )
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 05.09.2005, 14:54
Оценка за ответ: 5
Комментарий оценки:
Кидайте сюда:
__pirit__@inbox.ru

Отвечает: Евгений Иванов
Здравствуйте, Вася Пупкин!

если в bx равно или меньше:
cmp bx, ax
jng equal_or_less

переполнение - это флаг OF.

jo overflow

удачи.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 05.09.2005, 15:49

Отвечает: newinfo2005
Здравствуйте, Вася Пупкин!
Очень хороший справочник на www.kalashnikoff.ru
ТАк вот там скачаешь и найдешь все переходы.
---------
Хочу стать умным и...много денег и халявного инета.
Ответ отправил: newinfo2005 (статус: 5-ый класс)
Отправлен: 05.09.2005, 16:09


Вопрос № 25.867
Question:
в EXE программе процедура А вызывает процедуру В, В вызывает С, а С вызывает D.
Сколько адресов, кроме начальных адресов возврата в DOS содержит стек?
Это вопрос из книги?
Полагаю, что три!
Правильно? :-)
Отправлен: 05.09.2005, 14:31
Вопрос задал: Вася Пупкин (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Вася Пупкин!
Отвечу долго: при каждом вызове процедуры (НЕ ВАЖНО ОТКУДА!), в стек записывается значение адреса возврата. Так что ...
---------
Прорвемся! (Быть может :(( )
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 05.09.2005, 14:41
Оценка за ответ: 5
Комментарий оценки:
Сколько раз вызвалась, столько и адресов возврата будет содержать стек!
Верно!

Отвечает: newinfo2005
Здравствуйте, Вася Пупкин!
Всего адресов возрата будет 4.
Так как всего процедур 4!
---------
Хочу стать умным и...много денег и халявного инета.
Ответ отправил: newinfo2005 (статус: 5-ый класс)
Отправлен: 05.09.2005, 16:11


Вопрос № 25.869
Вопрос:
Вопрос из ....цензура....цензура....цензура.... зачета:
Нужно умножить 48 бит в регистрах DX:AX:BX на 2.
Как это сделать?
Полагаю, что сначала нужно поместить содержимое регистров в ОЗУ, а потом сдвинуть

влево на 4 бита!
Так можно сделать?
Отправлен: 05.09.2005, 16:41
Вопрос задал: Вася Пупкин (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: BOIL
Уважаемый Вася Пупкин!

Ответ на ваш вопрос: нет, нет и ЦЕНЗОРЕД нет!...

умножить на 2 = сдвинуть на 1 бит

Удачи!...
Ответ отправил: BOIL (статус: 4-ый класс)
Отправлен: 05.09.2005, 16:51

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Вася Пупкин!

Совершенно верно, надо сдвинуть!
Можно, конечно, и в памяти...
Только значительно проще прямо в регистрах :)

Приложение:

---------
Удачи!

Ответ отправил: Лысков Игорь Витальевич (статус: 2-ой класс)
Отправлен: 05.09.2005, 16:52

Отвечает: Евгений Иванов
Здравствуйте, Вася Пупкин!
не на четыре бита, а один раз сдвинуть влево.
для этого применяй цепочку.

shl bx,1
rcl ax,1
rcl dx,1

и всё
---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 05.09.2005, 17:20


Вопрос № 25.878
Здравствуйте!
У меня возникло 2 вопроса:
1)Как можно осуществить управление модемом и ввод/чтение
информации, поступающей с него.
2)Есть ли возможность "программирования" вентилятора в компьютере
(а именно его остановка/запуск)
Помогите (или подкиньте ссылки, где обсуждаются данные вопросы)!
Заранее спасибо.
Отправлен: 05.09.2005, 20:21
Вопрос задал: SergeyD (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Bob Johnson
Здравствуйте, SergeyD!
1. Можно использовать TAPI, а можно просто открывать последовательный порт, на котором установлен модем, указав его в качестве имени файла в функции CreateFile ("COM2", ...). В последнем случае обмен данными с ним будет осуществляться с помощью функций ReadFile и WriteFile.
2. зависит от того, куда у тебя подключен вентилятор (если напрямую к БП - то нельзя конечно) и позволяет ли это твоя материнская плата. Более конкретного к сожалению сказать не могу :(
Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 05.09.2005, 22:03


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться
Вспомнить пароль

В избранное