【问题标题】:Assembly Tricore load instruction装配 Tricore 加载指令
【发布时间】:2018-12-31 20:19:16
【问题描述】:

有关汇编语言的参考,请参阅link

我不明白命令是什么

LD.BU      d15,[a15]0x0 

确实如此...... 这里是一个具体的例子:

##What the registers contain BEFORE execution##
D15    0xD0000894
A15    0xD0000894

##What the registers contain AFTER execution##
D15    0x000000DC
A15    0xD0000894

谁能简单解释一下?

【问题讨论】:

  • 只是猜测(没有检查指令集描述)。它正在从地址a15+0x0 的内存中加载无符号字节,并清除d15 的高24 位以使8b 值扩展到32b。 IE。内存中地址 0xD0000894 的值可能是 0xDC。 ... ...似乎在“1.10 加载和存储指令”一章中的链接中,特别是图 17 确认了 LD.BU 的零扩展。 ..

标签: assembly infineon


【解决方案1】:

LD.BU d15,[a15]0x0

它将地址寄存器A15中保存的地址中的一个字节加载到数据寄存器D15,其中值是零扩展的,即高24位设置为0。在C99中,这将类似于

uint32_t d15 = * (const uint8_t*) a15;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多