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

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


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

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

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

Выпуск № 1070
от 24.09.2008, 23:05

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 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 натуральных четных чисел.
Как это реализовать и сделать?
Отправлен: 19.09.2008, 14:22
Вопрос задал: Pave-drygoi (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Зенченко Константин Николаевич
Здравствуйте, 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, если нет, то вывести номер первого элемента, нарушающего закономерность.
Отправлен: 19.09.2008, 18:28
Вопрос задал: Смирнов Сергей Витальевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Boriss
Здравствуйте, Смирнов Сергей Витальевич!
Что-то Вы не отвечаете... не уточняете
По этой причине пишу простейший вариант:
1) массив байт
2) проверяю одинаковость знаков с помощью знакового умножения IMUL

Ежели что не понятно, спрашивайте в минифоруме

Приложение:

---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники
WWW: Программирование на Паскале
----
Ответ отправлен: 23.09.2008, 22:39


Вопрос № 144.416
ЗДРАВСТВУЙТЕ!
Помогите решить задачку, приведенную ниже.
ЗАДАЧА:
Дана строка, состоящая из слов, разделенных подчеркиваниями (одним или несколькими). Определить количество слов, которые содержат ровно три буквы "W".
Заранее спасибо!
Отправлен: 19.09.2008, 18:33
Вопрос задал: Минин Руслан Васильевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Boriss
Здравствуйте, Минин Руслан Васильевич!
В приложении код программы, решающей Вашу задачу.
По-моему, решение простое и даже очевидное, но если что не понятно - спрашивайте - охотно поясню

Приложение:

---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники
WWW: Программирование на Паскале
----
Ответ отправлен: 19.09.2008, 22:15
Оценка за ответ: 5
Комментарий оценки:
Уважаемый Boriss! Решение мне ваше очень понравилось. И я вам очень благодарен за помощь!


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.3 RC 2 от 09.09.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное