0

所以现在我正试图了解目标代码是如何生成的,但是这两行真的让我感到困惑,有人想向我解释一下吗?

RSUB is 4C0000, I understand RSUB is 4C Mnemonic, but where did 0000 came from?
EOF BYTE C'EOF'  Object code is 454F46, how did they get that?

INPUT BYTE X'F1'      F1
how did generate F1 in the object code?

STCH BUFFER, X        549039

BUFFER is 1039, and STCH in mnemonic is 54, but shouldn't it be 541039?


also after a few lines,

LDCH BUFFER, X       509039?
4

1 回答 1

4

所有这些都应该在您的架构的指令集参考和您的汇编器手册中得到解答。

RSUB 是 4C0000,我知道 RSUB 是 4C Mnemonic,但是 0000 是从哪里来的呢?

SIC 似乎使用 24 位字和固定长度的指令编码。由于该指令显然没有操作数,因此为零。也许 cpu 忽略了地址字段,所以你可以使用任何你想要的东西,或者它可能必须为零。无法找到一个明确的答案。

EOF BYTE C'EOF' 目标代码是 454F46,他们是怎么得到的?

45,4F46分别只是 , 和 的EasciiO代码F。大概C您的汇编器的操作员指示它发出以下字符的 ascii 代码。

INPUT BYTE X'F1' F1 是如何在目标代码中生成 F1 的?

大概X您的汇编器的运算符意味着发出具有给定十六进制值的字节。

STCH BUFFER,X 549039 BUFFER是1039,助记词中的STCH是54,但不应该是541039吗?

地址仅为低 15 位。第 15 位用作指示索引寻址模式的标志,因此1039变为9039.

于 2015-04-03T23:30:07.177 回答