Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Jin X
❗❗ RTFM 👈
4007 / 1151 / 151
Регистрация: 14.12.2014
Сообщений: 2,292
Записей в блоге: 5
Завершенные тесты: 2
#1

Определение типа параметра в макросе - Assembler

13.12.2016, 17:34. Просмотров 509. Ответов 2

Нужно определить - является ли параметр макроса константой. Как это можно сделать?
Если использовать .type, то он возвратит одно и тоже значение (24h) как для 1234h, так и для word ptr ds:[1234h].
Assembler
1
2
3
4
5
some macro a
  if (.type a) eq 24h
    ...
  endif
endm
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2016, 17:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определение типа параметра в макросе (Assembler):

Вычисление квадрата параметра типа word
Условие: Дано число Y – слово. Вычислить Z = Y * Y. Подскажите пожалуйста,...

[NASM] Определить тип параметра в макросе
Ув. форумчане, подскажите, как определить тип параметра переданного в макрос, а...

Определение типа микропроцессора.
Алгоритм определения типа микропроцессора основывается на раз- личиях в...

Обобщенный класс с параметром типа (с ограничением для параметра типа)
• (4б). Создать обобщенный класс с параметром типа (с ограничением для...

Выполнить условие после нахождения ошибок в строке типа #н/д! #дел/0! т.д. (ошибка в макросе)
Здравствуйте уважаемые форумчане! Помогите найти ошибку в коде макроса и...

Как написать условия в макросе так, чтобы диаграмма не меняла своего типа
Друзья. Задача такая, у меня есть макрос: For i = 1 To 65000 If...

2
ФедосеевПавел
Модератор
3419 / 1916 / 815
Регистрация: 01.02.2015
Сообщений: 6,456
13.12.2016, 23:52 #2
В примерах макросов masm32 - pomacros.asm есть такой
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  ; -------------------------------------
  ; variation returns address in register
  ; so it can be assigned to a variable.
  ; -------------------------------------
    repargv MACRO arg            ;; ANSI version
      LOCAL nustr
      IF (OPATTR arg) AND 8000h ;; is it a "string"...?
        .data
          nustr db arg,0        ;; write arg to .DATA section
        .code
        EXITM <ADDR nustr>      ;; append name to ADDR operator
      ELSE
        mov eax, arg
        EXITM <eax>             ;; else return arg
      ENDIF
    ENDM
Также, для masm32 (в macros.asm) встречал посимвольный разбор строк аргументов макроса.
1
Jin X
❗❗ RTFM 👈
4007 / 1151 / 151
Регистрация: 14.12.2014
Сообщений: 2,292
Записей в блоге: 5
Завершенные тесты: 2
14.12.2016, 13:03  [ТС] #3
opattr - это аналог .type, в masm он показывает всё нормально (как и .type), а вот tasm, собака, его вообще не понимает, а .type выдаёт, как я уже говорил, не то, что надо...

Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Также, для masm32 (в macros.asm) встречал посимвольный разбор строк аргументов макроса.
Гляну ещё, спасибо. Может, что-нибудь найду...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2016, 13:03
Привет! Вот еще темы с решениями:

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

Определение вещественного числа и определение типа
Определить, является ли вводимая строка вещественным числом с целой и дробной...

Определение одного параметра геометрической фигуры
Сделать программу в pascal: Найти минимальное значение высоты усечённого...

Определение значения параметра экспоненциального распределения
Формулировка задачи начинается с То есть P(120)={e}^{-\lambda 120}. Как...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru