【问题标题】:Converting C Code to Assembly (Motorola 68k)将 C 代码转换为汇编 (Motorola 68k)
【发布时间】:2015-10-13 12:51:31
【问题描述】:

我正在尝试将这些变量转换为汇编可行的代码:

char s[] = “TA”;
short int x;
int e = 99;

我是用 int e 做的:

CLR.B   D1   e = 99; // which compiles

我不确定如何处理数组或短整数? 我知道对于数组,我可以执行以下操作:

ARRAY: DC.W "Value here" 但这对字符数组有用吗?

【问题讨论】:

    标签: assembly


    【解决方案1】:

    在 68000 汇编器上查看 this nice link。它甚至为用户提供练习。我完全从给定的链接编译了整个答案。

    BUFFER: DC.B 'TA'
    

    处理您的字符串(注意字节,而不是您拥有的单词)和

    BUFFER2: DS.W 1
    

    处理单个(1 个值)短分配。

    注意:

    BUFFER3: DC.L 99
    

    将如何定义您的e 变量赋值为 99。

    【讨论】:

    • 谢谢,这是唯一的方法吗?我定义“e”的方式是错误的,还是这只是在摩托罗拉 68000 上更有效的方式
    • 您的方式基本上是清除一个字节(清零)并在运行时反馈到内存(并且似乎没有将其设置为 99)。我拥有它的方式(如果我是正确的并且我绝不是 68k 专家)是让汇编程序告诉系统该内存已为您清除。这应该在您运行代码之前在启动时为您清除它。但是......这可能很大程度上取决于您组装的系统。我仔细阅读了我寄给您的手册以了解更多信息,因为它看起来写得非常好。
    猜你喜欢
    • 2014-09-01
    • 2020-11-04
    • 2011-05-04
    • 2013-01-22
    • 2013-04-15
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多