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

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


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

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

Выпуск № 869
от 07.10.2007, 20:35

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


Вопрос № 103980: Купил книгу АССЕМБЛЕР ЭТО ПРОСТО! О. Калашников набрал первый пример программы "Hello, world!", а она не компилируется использую MASM 9.0 файл с диска от книги тоже не компилируется с этими же ошибками готовая скомпилир...
Вопрос № 103987: Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, каким образом можно получить информацию о температуре процессора, и иже с ним? Биос и некоторые утилиты получают эту инфу, как они это делают? Спасибо...
Вопрос № 104042: Здравствуйте уважаемые эксперты!!!Не могу решить детскую задачу, точнее ни знаю с чего начать!!!Существует массив данных в котором расположены числа. Массив расположен в ОЗУ МК, начиная с адреса $0040. Всего 8 переменных, и у каждого разное значение!...

Вопрос № 103.980
Купил книгу АССЕМБЛЕР ЭТО ПРОСТО! О. Калашников
набрал первый пример программы "Hello, world!", а она не компилируется
использую MASM 9.0
файл с диска от книги тоже не компилируется с этими же ошибками

готовая скомпилированная программа Prog01.com с диска запускается

Приложение:

Отправлен: 02.10.2007, 00:43
Вопрос задал: Никулин Андрей Владимирович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Egugondiy
Здравствуйте, Никулин Андрей Владимирович! Masm32 не предназначен для компиляции DOS приложений. Скачайте Masm611 который описан в книге. Скачать его можно на kalashnikoff.ru.
Ответ отправил: Egugondiy (статус: 1-ый класс)
Ответ отправлен: 02.10.2007, 10:13

Отвечает: An42
Здравствуйте, Никулин Андрей Владимирович!
Вам нужен DOS-кий ассемблер. В книге Калашникова ДОСовские приложения.
В приложение 1 книги О.Калашникова «Ассемблер это просто!» Вы найдете где скачать данную версию ассемблера, как производить ассемблирование и компоновку. Если аккуратно выполнить все инструкции по проблем с компиляцией программ из этой книги практически не будет.

Удачи
Ответ отправил: An42 (статус: 5-ый класс)
Ответ отправлен: 02.10.2007, 12:23


Вопрос № 103.987
Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, каким образом можно получить информацию о температуре процессора, и иже с ним? Биос и некоторые утилиты получают эту инфу, как они это делают?
Спасибо
Отправлен: 02.10.2007, 02:18
Вопрос задал: Соболев Артемий Семенович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Соболев Артемий Семенович!
Мне друзья только что дали две ссылки (еще не успел внимательно прочитать):
http://forum.sources.ru/index.php?showtopic=81627
http://forum.sources.ru/index.php?s=2e33dea9f895fba2379fb58a69bac93e&showtopic=203558
---------
Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: mte
WWW: Программирование на Паскале
----
Ответ отправлен: 05.10.2007, 09:41


Вопрос № 104.042
Здравствуйте уважаемые эксперты!!!Не могу решить детскую задачу, точнее ни знаю с чего начать!!!Существует массив данных в котором расположены числа. Массив расположен в ОЗУ МК, начиная с адреса $0040. Всего 8 переменных, и у каждого разное значение!!! Надо расположить в порядке возростания!!! Спасибо заранье!!!! Ирина
Отправлен: 02.10.2007, 13:56
Вопрос задала: Артемова Ирина Александровна (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: An42
Здравствуйте, Артемова Ирина Александровна!
Алгоритм сортировки массива приведен следующий:
Основной проход заключается в сравнении соседних элементов массива. Если первый элемент больше второго, то элементы меняются местами. Таким образом выполняется сравнение 1-го элемента со 2-м элементом, 2-го элемента с 3-м элементом и т.д. до конца массива с перестановкой элементов если это необходимо.
Если в проходе были сделаны перестановки, то вес процесс повторяется с начала таблицы т.е. сравниваются снова элемент 1 с элементом 2, элемент 2 с элементом 3 и т.д.
Если в проходе перестановок элементов не было, то массив отсортирован.
У меня bl является индикатором перестановки элементов массива, bl=1 была перестановка, bl=0 перестановки не было.

Структура алгоритма сортировки:
@m1: Определить адрес первого элемента
Определить адрес последнего элемента
@m2: Установить bl=0
@m3: al=элемент
ah=следующий элемент
Элемент > следующего элемента?
Да: Переставить местами элементы
Установить bl=1
Перейти к следующему элементу
Конец массива?
Нет: Перейти на @@m3
Да: bl=1?
Да: Перейти на @@m1 (повторить сортировку)
Нет: Конец

Смотри приложение.

Удачи

Приложение:

Ответ отправил: An42 (статус: 5-ый класс)
Ответ отправлен: 03.10.2007, 14:28

Отвечает: VeRTeX
Здравствуйте, Артемова Ирина Александровна!
Могу подсказать алгоритм решения (как я его вижу).
Насколько я понял, Вам просто надо сделать циклическую проверку всех рядом стоящих переменных, с выходом из цикла при условии a(i-1)<=a(i). Думаю, это не вызовет особого труда. А вот что бы поменять местами переменные без использования промежуточной переменной предлагаю воспользоваться удобным и простым XOR. Понадобится всего три инструкции для перестановки переменных:

Таблица
x y F
1 1 0
1 0 1
0 1 1
0 0 0

к примеру:

A=01001101
B=10101101

1 шаг - A xor B

A=01001101
B=10101101
--------
A=11100000

получилось:

A=11100000
B=10101101

2 шаг - B xor A

B=10101101
A=11100000
--------
B=01001101

получилось:

A=11100000
B=01001101

3 шаг - A xor B

A=11100000
B=01001101
--------
A=10101101

получилось:

A=10101101 (было A=01001101)
B=01001101 (было B=10101101)

Как видем, переменные поменялись местами без использования "лишних" переменных.
Я думаю это несколько поможет Вам при написании програмы.
Ответ отправил: VeRTeX (статус: 1-ый класс)
Ответ отправлен: 03.10.2007, 22:42


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

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

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

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

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


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


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

В избранное