This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320C5535:在.text 段中使用.word 指令

Guru**** 2562120 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/613135/tms320c5535-use-word-directive-in-text-section

器件型号:TMS320C5535

我正在尝试强制汇编器在特定位置插入一些字。 汇编器手册会针对对齐问题注意此问题、但不会说它是不允许的。 这是我的代码、

.text
.def reset_isr
.def 开始

.align 2.
RESET_ISR:
开始:
;初始化堆栈
AMOV #0x00FFE8、XSP
AMOV #0x00FF83、XSSP

;初始化 UART
MOV #0x0000、端口(#0x1B18);PWREMU_Mgmt
MOV #0x0000、端口(#0x1B08);MCR
MOV #20、端口(#0x1B10);DLL
MOV #0、端口(#0x1B12);DLH
MOV #0x0003、端口(#0x1B06);LCR
MOV #0x6000、端口(#0x1B18);PWREMU_Mgmt


.align 2.
.word 0xFFFF
.word 0xFFFF

这是反汇编视图、您可以看到它完全忽略.word 指令。 如果我将它们移动到.data 段、则效果很好。

93 MOV #0x0003、端口(#0x1B06);LCR
010022:e651031b06 MOV #3、port (#01b06h)
94 MOV #0x6000、端口(#0x1B18);PWREMU_Mgmt
010027:fb5160001b18 MOV #24576、port (#01b18h)
102 MOV AC0、LOW_BYTE (* AR3)
..\nuc.s:102:174$():
01002d:e56105 MOV AC0、LOW_BYTE (* AR3)
103 MOV AC0、HIGH_BYTE (* AR3+)
010030:e56304 MOV AC0、HIGH_BYTE (* AR3+)

我不想找一个答案来解释为什么我不应该这么做、我想知道这是不可能的。 谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我已通知软件团队。 他们的反馈将在此处发布。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    添加以下指令:
    .csect ".text"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这确实会更改汇编输出、但似乎具有其他副作用。 我在汇编器指南中看不到该指令的记录。 是否有相关文档? 谢谢。