首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SIC汇编程序输出对象代码生成的混淆

SIC汇编程序输出对象代码生成的混淆
EN

Stack Overflow用户
提问于 2015-04-03 23:14:25
回答 1查看 3.2K关注 0票数 0

所以现在我正在尝试理解对象代码是如何生成的,但是这两行代码真的让我感到困惑,有人想给我解释一下吗?

代码语言:javascript
复制
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?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-03 23:30:07

所有这些都应该在体系结构的指令集参考和汇编程序手册中得到回答。

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

SIC似乎使用24位字和固定长度的指令编码。因为这个指令显然不带操作数,所以是零。也许cpu忽略了地址字段,所以您可以使用您想要的任何东西,或者它必须是零。却找不到确切的答案。

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

454F46分别是EOF的ascii码。您的汇编程序的C操作符可能指示它发出以下字符的ascii代码。

输入字节X' F1‘F1如何在目标代码中生成F1?

您的汇编程序的X操作符可能意味着发出具有给定十六进制值的字节。

STCH缓冲器,X 549039缓冲区是1039,在助记符中的STCH是54,但不是541039吗?

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29440934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档