【问题标题】:In LC-3 assembly language, how do I convert these commands to machine code?在 LC-3 汇编语言中,如何将这些命令转换为机器代码?
【发布时间】:2011-12-17 15:27:06
【问题描述】:

对于我的一门课程,我需要用机器代码编写一个 LC-3 程序,但我似乎找不到带有句点的命令的机器代码:

.ORIG
.END
.BLKW

有人知道它们是什么吗?我已经完成了所有命令,例如: AND R2, R2, #0 --> 0101 010 010 1 00000

但是,我无法在线找到 .ORIG.END.BLKW 命令的前四位。

【问题讨论】:

    标签: assembly lc3


    【解决方案1】:

    我不熟悉您的特定方言,但在大多数汇编语言中,以. 开头的关键字不是指令助记符,而是汇编程序指令。在您的情况下,看起来.ORIG 可能表示程序的开始,.END 表示结束。 .BLKW 似乎是某种内存填充操作。

    编辑:我做了一个谷歌搜索并想出了this presentation。它说.ORIG 描述了在内存中放置以下块的位置。例如.ORIG 0x3000 将在地址0x3000 设置下一条指令。 .END,正如我上面提到的,描述了程序的结束。 .BLKW 表示“块字”,用于预留空间,例如用作数组。

    在所有情况下,这些指令都没有任何特定的机器代码。对于.ORIG,只需在指定位置写出以下操作码或数据即可。 .END 根本不会出现在机器码中,.BLKW 表示您可以直接从汇编程序中将指定的字节复制到机器码中。

    【讨论】:

    • 这就是他们的意思,是的。在其他汇编语言中,这些东西没有机器代码解释吗?
    • @user1017593,不,他们没有。它们不是指令或数据,那为什么会这样呢?它们只是向汇编器指示如何处理程序的内容。
    • 感谢您的回答。我对这一切都很陌生,所以这让我很困惑。
    • 当我现在尝试转换它时,它会给我所有这些代码的错误。第 10 行:意外字符 '.' .ORIG x3000
    • “当我尝试转换它时”是什么意思?你不是手工做的吗?
    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 2022-11-16
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    相关资源
    最近更新 更多