[an error occurred while processing this directive]
|
И расширение там корректное - asm
Я даже в опциях пытался задать явно расширение
-ea=.asm Extension for assembly files (default is .asm)
И даже явно задавал файл
-fa=filename File is an assembly file (default for .asm)
Причем мне кажется, что он понимает что это ассемблер, т.к. если запускать чисто из командной строки - то пишет assembly errors
Ладно, может завтра что-нить мне в голову ударит...
Вот файл, а внизу сообщения об ошибках
* Step 1: Section allocation
* ------
.def x,y,init
x .usect ”vars”,4 ; reserve 4 uninitalized 16-bit locations for x
y .usect ”vars”,1 ; reserve 1 uninitialized 16-bit location for y
.sect ”table” ; create initialized section ”table” to
init .int 1,2,3,4 ; contain initialization values for x
.text ; create code section (default is .text)
.def start ; define label to the start of the code
start
* Step 2: Processor mode initialization
* ------
BCLR C54CM ; set processor to ’55x native mode instead of
; ’54x compatibility mode (reset value)
BCLR AR0LC ; set AR0 register in linear mode
BCLR AR6LC ; set AR6 register in linear mode
* Step 3a: Copy initialization values to vector x using indirect addressing
* -------
copy
AMOV #x, XAR0 ; XAR0 pointing to variable x
AMOV #init, XAR6 ; XAR6 pointing to initialization table
MOV *AR6+, *AR0+ ; copy starts from ”init” to ”x”
MOV *AR6+, *AR0+
MOV *AR6+, *AR0+
MOV *AR6, *AR0
* Step 3b: Add values of vector x elements using direct addressing
* -------
add
AMOV #x, XDP ; XDP pointing to variable x
.dp x ; and the assembler is notified
MOV @x, AC0
ADD @(x+3), AC0
ADD @(x+1), AC0
ADD @(x+2), AC0
* Step 3c. Write the result to y using absolute addressing
* -------
MOV AC0, *(#y)
end
NOP
B end
...................................................................
[a2.asm] "D:\ti_ccs31\C5500\cgtools\bin\cl55" -fr"D:/ti_ccs31/MyProjects/OSK5912_A2/Debug" -@"Debug.lkf" "a2.asm"
"a2.asm", ERROR! at line 3: [E9999] Syntax Error
.def x,y,init
"a2.asm", ERROR! at line 3: [E9999] Invalid mnemonic specified
.def x,y,init
"a2.asm", ERROR! at line 4: [E9999] Illegal operand
x .usect ”vars”,4 ; reserve 4 uninitalized 16-bit locations for x
"a2.asm", ERROR! at line 5: [E9999] Illegal operand
y .usect ”vars”,1 ; reserve 1 uninitialized 16-bit location for y
"a2.asm", ERROR! at line 6: [E9999] Illegal directive or mnemonic
.sect ”table” ; create initialized section ”table” to
"a2.asm", ERROR! at line 9: [E9999] Syntax Error
.def start ; define label to the start of the code
"a2.asm", ERROR! at line 9: [E9999] Invalid mnemonic specified
.def start ; define label to the start of the code
"a2.asm", ERROR! at line 9: [E9999] Attempt to redefine label, .def
.def start ; define label to the start of the code
"a2.asm", ERROR! at line 13: [E9999] Syntax Error
BCLR C54CM ; set processor to ’55x native mode instead of
"a2.asm", ERROR! at line 13: [E9999] Invalid mnemonic specified
BCLR C54CM ; set processor to ’55x native mode instead of
"a2.asm", ERROR! at line 15: [E9999] Syntax Error
BCLR AR0LC ; set AR0 register in linear mode
"a2.asm", ERROR! at line 15: [E9999] Invalid mnemonic specified
BCLR AR0LC ; set AR0 register in linear mode
"a2.asm", ERROR! at line 15: [E9999] Attempt to redefine label, BCLR
BCLR AR0LC ; set AR0 register in linear mode
"a2.asm", ERROR! at line 16: [E9999] Syntax Error
BCLR AR6LC ; set AR6 register in linear mode
"a2.asm", ERROR! at line 16: [E9999] Invalid mnemonic specified
BCLR AR6LC ; set AR6 register in linear mode
"a2.asm", ERROR! at line 16: [E9999] Attempt to redefine label, BCLR
BCLR AR6LC ; set AR6 register in linear mode
"a2.asm", ERROR! at line 20: [E9999] Illegal directive or mnemonic
AMOV #x, XAR0 ; XAR0 pointing to variable x
"a2.asm", ERROR! at line 21: [E9999] Illegal directive or mnemonic
AMOV #init, XAR6 ; XAR6 pointing to initialization table
"a2.asm", ERROR! at line 22: [E9999] Illegal directive or mnemonic
MOV *AR6+, *AR0+ ; copy starts from ”init” to ”x”
"a2.asm", ERROR! at line 23: [E9999] Illegal directive or mnemonic
MOV *AR6+, *AR0+
"a2.asm", ERROR! at line 24: [E9999] Illegal directive or mnemonic
MOV *AR6+, *AR0+
"a2.asm", ERROR! at line 25: [E9999] Illegal directive or mnemonic
MOV *AR6, *AR0
"a2.asm", ERROR! at line 29: [E9999] Illegal directive or mnemonic
AMOV #x, XDP ; XDP pointing to variable x
"a2.asm", ERROR! at line 30: [E9999] Syntax Error
.dp x ; and the assembler is notified
"a2.asm", ERROR! at line 30: [E9999] Invalid mnemonic specified
.dp x ; and the assembler is notified
"a2.asm", ERROR! at line 31: [E9999] Illegal directive or mnemonic
MOV @x, AC0
"a2.asm", ERROR! at line 32: [E9999] Illegal directive or mnemonic
ADD @(x+3), AC0
"a2.asm", ERROR! at line 33: [E9999] Illegal directive or mnemonic
ADD @(x+1), AC0
"a2.asm", ERROR! at line 34: [E9999] Illegal directive or mnemonic
ADD @(x+2), AC0
"a2.asm", ERROR! at line 37: [E9999] Syntax Error
MOV AC0, *(#y)
"a2.asm", ERROR! at line 37: [E9999] Invalid mnemonic specified
MOV AC0, *(#y)
"a2.asm", ERROR! at line 39: [E0003] Only labels and comments may begin in the
first column. Make sure that the label
name is not a reserved keyword.
NOP
"a2.asm", ERROR! at line 39: [E0000] parse error
NOP
"a2.asm", ERROR! at line 39: [E0800] Cannot place code in a data section
NOP
"a2.asm", ERROR! at line 40: [E9999] Syntax Error
B end
"a2.asm", ERROR! at line 40: [E9999] Invalid mnemonic specified
B end
"a2.asm", ERROR! at line 40: [E9999] Attempt to redefine label, B
B end
37 Assembly Errors, No Assembly Warnings
Errors in Source - Assembler Aborted
>> Compilation failure
>> Compilation failure
Build Complete,
37 Errors, 0 Warnings, 0 Remarks.
PS
А насчет алгебраического ассемблера...
На новой работе первое задание было написать кусок для большого проекта под 5410, полностью написанного на алгебраическом ассемблере.
Вроде справился (до этого с тмсами дела не имев никогда ), но если был бы мнемонический - думаю разбирался бы намного дольше.
Короче, человеку привыкшему к си он по идее комфортнее
E-mail: info@telesys.ru