[an error occurred while processing this directive]
|
Ниже приводимый фрагмент программы показывает, что можно.
Поэтому я ещё раз повторяю: прежде чем «наезжать» и указывать на чью-то глупость надо хоть чуть-чуть разбираться в обсуждаемой проблеме, поэтому внимательней изучайте вашу функцию RTFM. И еще, (так, для общего развития) микроконтроллер ATmega603 не поддерживает инструкцию «sts» хотя имеет «на борту» 4кБайта SRAM.
.LISTMAC
;===================== Раздел описаний ===================================
.EQU FLAG1 = 0
.EQU FLAG2 = 1
.EQU FLAG3 = 2
.EQU VALUE = 54
;-----------------------------------------------------------------------
.MACRO DEMO
ldi r16, @0
ldi r17, @1
.ENDMACRO
;===========================================================================
;================= Основная программа ======================================
DEMO (VALUE+10), (1 << FLAG1 + 0b01000000)
;===========================================================================
Building project...
C:\AVR > del avr.lst
C:\AVR > "C:\Program Files\Atmel\AVR Tools\AvrAssembler\avrasm32.exe" -fI "C:\AVR\AVR.asm" -o "avr.hex" -d "avr.obj" -e "avr.eep" -I "C:\AVR" -I "C:\Program Files\Atmel\AVR Tools\AvrAssembler\AppNotes" -w -m "avr.map" -l "avr.lst"
AVRASM: AVR macro assembler version 1.57 (Nov 15 2002 10:58:00)
Copyright (C) 1995-2002 ATMEL Corporation
Creating 'avr.eep'
Creating 'avr.hex'
Creating 'avr.obj'
Creating 'avr.lst'
Creating 'avr.map'
Assembling 'C:\AVR\AVR.asm'
Program memory usage:
Code : 2 words
Constants (dw/db): 0 words
Unused : 0 words
Total : 2 words
Assembly complete with no errors.
Deleting 'avr.eep'
AVRASM ver. 1.57 C:\AVR\AVR.asm Mon Oct 17 22:22:19 2005
E-mail:
info@telesys.ru
.LISTMAC
;===================== Раздел описаний =====================================
.EQU FLAG1 = 0
.EQU FLAG2 = 1
.EQU FLAG3 = 2
.EQU VALUE = 54
;-----------------------------------------------------------------------
.MACRO DEMO
ldi r16, @0
ldi r17, @1
.ENDMACRO
;===========================================================================
;================= Основная программа =======================================
000000 + DEMO (VALUE+10), (1<
000001 e011 ldi r17, (0x1<
;===========================================================================
Assembly complete with no errors.
Ответы