Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.04.2011
Сообщений: 31

Макроопределение

26.12.2011, 17:51. Показов 962. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте друзья.
Нужна ваша помощь.
У меня есть определенный макрос, но нет целостной задачи.
У меня не получается оформить этот макрос, что бы всё работало((
Если не трудно, помогите пожалуйста, буду очень очень благодарен.

работаю в tasm


макрос, выполняющий умножение регистра AX на число, причем, если множитель — степень двойки, то умножение будет выполняться более быстрой командой сдвига влево.
fast_mul macro number
if number eq 2
shl ax,1 ; Умножение на 2
elseif number eq 4
shl ax,2 ; Умножение на 4
elseif number eq 8
shl ax,3 ; Умножение на 8
... ; Аналогично вплоть до:
elseif number eq 32768
shl ax,15 ; Умножение на 32768
else
mov dx,number ; Умножение на число, не являющееся
mul dx ; степенью двойки.
endif
endm

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

fast_mul macro number
if number eq 2
shl ax,1 ; Умножение на 2
elseif number eq 4
shl ax,2 ; Умножение на 4
elseif number eq 8
shl ax,3 ; Умножение на 8
... ; Аналогично вплоть до:
elseif number eq 32768
shl ax,15 ; Умножение на 32768
else
mov dx,number ; Умножение на число, не являющееся
mul dx ; степенью двойки.
endif
endm
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2011, 17:51
Ответы с готовыми решениями:

Макроопределение
Помогите решить задачки: 1) Дан массив из 12 байт. Определить количество положительных элементов, используя макроопределение. 2) Дана...

Напишите макроопределение mVyvod, которое производит сравнение двух чисел и отображает строку с нулевым окончанием
Напишите макроопределение mVyvod, которое производит сравнение двух чисел и отображает строку с нулевым окончанием («числа равны» либо...

Нужно понять как работает макроопределение
Дано макроопределение( без всего,просто макроопределение) Нужно понять его входные и выходные параметры и для чего именно это...

1
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
26.12.2011, 18:40
ВотЪ, допиливайте сами. Директива .386 обязательна, иначе "самый умный" труппоАСМ преобразует shl ax,4 в 4 строчки по shl ax,1.
НЕНАВИЖУ!
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.386
fast_mul macro number
local done, power
power = 1
done = 0
irp nn,<2,4,8,16,32,64,128>
ifidn <number>,<nn> 
    shl     ax, power ; Умножение на 2
done = 1
;%out nn %nn power
exitm 
endif
power = power +1
;%out "nn=" nn "power=" power
endm
 
if done eq 0
    mov     dx, number ; Умножение на число, не являющееся
    mul     dx ; степенью двойки.
endif
endm
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2011, 18:40
Помогаю со студенческими работами здесь

Составить макроопределение нахождения нулевого элемента
Не могу понять где ошибка include io.asm stack1 segment db 128 dup(?) stack1 ends Data segment A dw 5 dup(?)

Макроопределение, вычисляющее количество нулевых элементов массива
Всем привет,выручайте нужно составить макроопределение вычисления количества нулевых элементов массива чисел а1, а2,...,аn используя это...

Макроопределение для вычисления суммы четных элементов массива
Составить макроопределение вычисления суммы четных элементов массива чисел а1, а2, ..., an. Используя это макроопределение, найти сумму...

Дано: n, a[n], b[n]. Используя макроопределение с аргументами , найти min элемент в каждом массиве.
Дано: n, a, b. Используя макроопределение с аргументами , найти min элемент в каждом массиве. Напечатать наибольшее из min элементов.

Написать функцию (или макроопределение), которая находит длину стороны по координатам его точек
Помогите пожалуйста исправить ошибки условие Написать функцию (или макроопределение), которая находит длину стороны по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru