I am not a beginner programmer, but just started to use the Tasking VX assembler (manual http://www.tasking.com/support/tricore/tc_user_guide_v6.0.pdf). I cannot believe I am asking such a simple question, but after reading the Tasking VX assembler manual twice I cannot find an answer to the simplest of things: can I use a symbolic name instead of original register name?
Something like:
loop_i = d3 ; d3 register, wishing to use symbolic name loop_i instead
; (assembler doesn't allow the above definition)
mov16 loop_i, #4 ; this is what I want in the code
mov16 d3, #4 ; this is what I must use instead
Thank you for forgiving me for an elementary question.
According to http://www.tasking.com/support/c166/c166_user_guide_v2.1.pdf TASKING VX-toolset for C166 User Guide, section "3.3. Operands of an Assembly Instruction", register operand should be of form defined in "3.5. Registers" section:
As I understand, user-defined symbols are for constants or labels; there is no user-defined symbol of type "register" in "3.7.4. Symbol Types and Expression Types". But you may try to use preprocessor with "
.DEFINE
":Try this:
PS: http://www.tasking.com/support/tricore/tc_user_guide_v6.0.pdf "TASKING VX-toolset for TriCore User Guide" has similar assembler capabilities, so try
.define
. Only allowed set of register names is different from c166: