Вопрос № 103980: Купил книгу АССЕМБЛЕР ЭТО ПРОСТО! О. Калашников
набрал первый пример программы "Hello, world!", а она не компилируется
использую MASM 9.0
файл с диска от книги тоже не компилируется с этими же ошибками
готовая скомпилир...Вопрос № 103987: Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, каким образом можно получить информацию о температуре процессора, и иже с ним? Биос и некоторые утилиты получают эту инфу, как они это делают?
Спасибо...Вопрос № 104042: Здравствуйте уважаемые эксперты!!!Не могу решить детскую задачу, точнее ни знаю с чего начать!!!Существует массив данных в котором расположены числа. Массив расположен в ОЗУ МК, начиная с адреса $0040. Всего 8 переменных, и у каждого разное значение!...
Вопрос № 103.980
Купил книгу АССЕМБЛЕР ЭТО ПРОСТО! О. Калашников
набрал первый пример программы "Hello, world!", а она не компилируется
использую MASM 9.0
файл с диска от книги тоже не компилируется с этими же ошибками
готовая скомпилированная программа Prog01.com с диска запускается
Отвечает: 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
Здравствуйте, уважаемые эксперты! Подскажите пожалуйста, каким образом можно получить информацию о температуре процессора, и иже с ним? Биос и некоторые утилиты получают эту инфу, как они это делают?
Спасибо
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: mte WWW:Программирование на Паскале ---- Ответ отправлен: 05.10.2007, 09:41
Вопрос № 104.042
Здравствуйте уважаемые эксперты!!!Не могу решить детскую задачу, точнее ни знаю с чего начать!!!Существует массив данных в котором расположены числа. Массив расположен в ОЗУ МК, начиная с адреса $0040. Всего 8 переменных, и у каждого разное значение!!! Надо расположить в порядке возростания!!! Спасибо заранье!!!! Ирина
Отвечает: 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. Понадобится всего три инструкции для перестановки переменных: