Консультация № 183949
03.09.2011, 06:28
0.00 руб.
0 4 1
Здравствуйте! У меня возникли сложности с таким вопросом:

Нужно реализовать программы на Ассемблере (как вставка в Делфи):
1. Реализуйте с помощью логических симметричное отображение младшего байта слова на старший байт с потерей исходных значений.

2.Представить обыкновенную дробь как запись с полями «Числитель» и «Знаменатель» и реализовать арифметические операции с дробями.

3. Реализуйте подпрограмму, которая возвращает символы имеющиеся в данной строке с указанием числа вхождений каждого символа.

4. Дано натуральное число n. Вычислить: (1-1/2!)(1-1/3!)(1-1/4!)…(1-1/n!)

5. Реализуйте модуль, подключение которого позволяет вычислять значение выражения «пятизначное число * пятизначное число» вводимого как строка с клавиатуры. Распознавание числа и вывод результата реализуйте как макросы.

Помогите, пожалуйста. Желательно хотя бы с минимальным пояснением кода.
Спасибо.

Обсуждение

Неизвестный
03.09.2011, 09:06
общий
это ответ
Здравствуйте, Посетитель - 380267!
1. Реализуйте с помощью логических симметричное отображение младшего байта слова на старший байт с потерей исходных значений.


Приложение:
;Исходное значение лежит в AX:

push cx
mov cx,8
_start:
ror al,1
shl ax,1
shr al,1
loop _start
pop cx
Неизвестный
03.09.2011, 11:40
общий
Вы не указали:
на каком асемблере необходимо решение (x86, x64; MASM, TASM, FASM)
где находятся исходные данные (регистр, стек, ячейка в памяти)

А я забыл прокомментировать свою программу:
push cx ;сохранить значение CX в стек
mov cx,8 ;записать в CX 8 (8 бит в байте)
_start: ;метка начала цикла
ror al,1 ;прокрутить биты в младшем байте исходного значения на 1 бит в право
; так что младший бит станет старшим а второй, следующий бит, младшим
shl ax,1 ;здвинуть биты слова на 1 бит в лево
; так что старший бит младшего байта станет младшим битом старшего байта
shr al,1 ;вернуть биты младшего байта на место
loop _start ; повторить 8 раз
pop cx ;вернуть значение CX
давно
Посетитель
7438
7205
03.09.2011, 22:22
общий
Кстати, было указано реализовать в виде вставки в Дельфи...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
7438
7205
03.09.2011, 22:25
общий
Не многовато ли вопросов для бесплатной консультации?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа