主题中讨论的其他器件:C2000WARE
您好!
我想创建一个汇编函数、用 IACK 指令触发 CLA 任务。 此函数的参数中的任务位对应于我们要触发的任务。 但是 IACK 指令采用16位常量值作为参数、我不知道它是否可行、或者我是否应该为我要触发的每个任务具有一个函数。
在这里、原型和我编写的函数:
void TRIGGER_TASK(const Uint16 ClaTaskBit);
.page
.global TRIGGER_TASK
.text
TRIGGER_TASK:
IACK AL
LRETR
.endasmfunc
在这里、我得到的误差(因为我假设 AL 寄存器不是恒定的):
>> Compilation failure
DRVCLA/SRC/subdir_rules.mk:30: recipe for target 'DRVCLA/SRC/TRIGGER_TASK.obj' failed
"../DRVCLA/SRC/TRIGGER_TASK.asm", ERROR! at line 32:
[E0003]
Syntax error - Operand 1
IACK AL
Errors in Source - Assembler Aborted
gmake: *** [DRVCLA/SRC/TRIGGER_TASK.obj] Error 1