Вопрос № 144391: Добрый день, необходимо решить две задачи на assembler(tasm): 1.Написать программу нахождения максимального числа из двух положительных целых чисел и умножения максимального числа само на себя 5 раз. 2.Найти сумму первых 20 натуральных четных ч...Вопрос № 144414: <b> Здравствуйте, уважаемые специалисты! </b> Помогите выполнить задание: Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем
положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести номер...Вопрос № 144416: <font color="green"> ЗДРАВСТВУЙТЕ! </font> Помогите решить задачку, приведенную ниже. ЗАДАЧА: Дана строка, состоящая из слов, разделенных подчеркиваниями (одним или несколькими). Определить количество слов, которые содержат ровно три буквы &...
Вопрос № 144.391
Добрый день, необходимо решить две задачи на assembler(tasm): 1.Написать программу нахождения максимального числа из двух положительных целых чисел и умножения максимального числа само на себя 5 раз. 2.Найти сумму первых 20 натуральных четных чисел. Как это реализовать и сделать?
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Pave-drygoi!
Первая задача:
Код:
model tiny codeseg org 100h ;переходим в текстовый режим begin: mov ax,3 int 10h ;готовимся к циклу mov cx,5 ;проверяем числа mov bl,numberA cmp bl,numberB jg isMaximum ;загружаем максимальное mov bl,numberB ;готовимся
к умножению isMaximum: mov ax,1 xor bh,bh ;в цикле умножаем isMul: mul bx loop isMul ;десятичная система mov di,10 ;получаем цифры числа isDiv: xor dx,dx div di push dx inc cx or ax,ax jnz isDiv ;выводим цифры в нужном порядке isOut: pop ax or al,30h int 29h loop isOut xor ax,ax int 16h ret numberA db 2 numberB db 3 end begin<
/pre>
Вторая задача:
Код:
model tiny codeseg org 100h ; begin: mov ax,3 int 10h ;готовимся к суммированию mov cx,20 xor si,si xor di,di cld ;само сумирование isSumm: lodsw add di,si loop isSumm ;готовимся к выводу mov ax,di mov di,10 ;получаем
цифры числа isDiv: xor dx,dx div di push dx inc cx or ax,ax jnz isDiv ;выводим число в нужном порядке isOut: pop ax or al,30h int 29h loop isOut xor ax,ax int 16h ret end begin
В задаче 2 использована строковая команда lodsw , она считывает одно слово по адресу ds:si(на это не обращаем внимание) и увеличивает si на 2(именно эта возмож
ность этой команды интересна сейчас), итого в этом регистре будут только четные натуральные числа. Удачи!
--------- Итерация от человека, рекурсия — от Бога (Питер Дойч)
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 19.09.2008, 16:25 Оценка за ответ: 5 Комментарий оценки: спасибо
Вопрос № 144.414
Здравствуйте, уважаемые специалисты! Помогите выполнить задание: Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность.
Отвечает: Boriss
Здравствуйте, Смирнов Сергей Витальевич! Что-то Вы не отвечаете... не уточняете По этой причине пишу простейший вариант: 1) массив байт 2) проверяю одинаковость знаков с помощью знакового умножения IMUL
Ежели что не понятно, спрашивайте в минифоруме
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники WWW:Программирование на Паскале ---- Ответ отправлен: 23.09.2008, 22:39
Вопрос № 144.416
ЗДРАВСТВУЙТЕ! Помогите решить задачку, приведенную ниже. ЗАДАЧА: Дана строка, состоящая из слов, разделенных подчеркиваниями (одним или несколькими). Определить количество слов, которые содержат ровно три буквы "W". Заранее спасибо!
Отвечает: Boriss
Здравствуйте, Минин Руслан Васильевич! В приложении код программы, решающей Вашу задачу. По-моему, решение простое и даже очевидное, но если что не понятно - спрашивайте - охотно поясню
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники WWW:Программирование на Паскале ---- Ответ отправлен: 19.09.2008, 22:15 Оценка за ответ: 5 Комментарий оценки: Уважаемый Boriss!
Решение мне ваше очень понравилось.
И я вам очень благодарен за помощь!