реклама на сайте
подробности

 
 
> Гнусный .altmacro, отказывается принимать << в макроаргументах
ReAl
сообщение Oct 10 2012, 19:07
Сообщение #1


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Не помню кто тут хвалил режим .altmacro у ГНУ-того асма.
Действительно есть приятные вещи, но вот эта возможность ограничивать текстовую строку кгловыми скобками < и > — только мешает :-(
Т.е.
Код
; второй аргумент просто как затычка, облегчающая понимание происходящего.
.macro foo arg1, arg2
    ldi    r16, \arg1
    ldi    r17, \arg2
.endm

    ldi r16, 1<<3
    foo 1<<3
.altmacro
    foo 1<<3; это строка 35

Код
real@realnb:~/o/avr/asm/macros$ make
======== Beginning of project dummy processing
==== Compiling ./src/dummy/main.S
avr-gcc (GCC) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./src/dummy/main.S: Assembler messages:
./src/dummy/main.S:35: Error: bad expression
./src/dummy/main.S:35: Error: garbage at end of line
и вот такая фигня в листинге
Код
  32 ???? 00E0              ldi r16, 1<<3
  33                       foo 1<<3
  33 ???? 00E0          >  ldi r16,1<<3
  33 ???? 10E0          >  ldi r17,
  34                   .altmacro
  35                       foo 1<<3
  35 ???? 00E0          >  ldi r16,1
  35 ???? 10E0          >  ldi r17,<3
****  Error:bad expression
****  Error:garbage at end of line
Если foo сделать с одинм аргументом (как в начале поиска и было), то ошибка
Код
./src/dummy/main.S: Assembler messages:
./src/dummy/main.S:35: Error: too many positional arguments
Никакие скобки не помогают, по первому символу < «видит» начало строки и разделяет на два аргумента и от скобок только лишние сообщения об ошибках.

Никаких там волшебных слов нету для этого? В документации не нашел, но мало ли...
Других слов для сдвигов в духе SHL тоже нет :-(


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01546 секунд с 7
ELECTRONIX ©2004-2016