我正在尝试理解specs,但无法理解给出的示例的第一行:
SET A, 0x30 ; 7c01 0030以下是我从规范中了解到的情况:
第一个单词(7c01)完全定义instruction
SET a, b
所以我理解为A,0x3C的指令
有人能告诉我哪里出了问题吗?
发布于 2012-04-05 13:02:00
啊,好吧,从评论中我终于得到了答案。
您缺少了规范中的“值”部分,这里写着:
Values:
....
0x1f: next word (literal)所以我们有:
0x7c01 = 0111110000000001
0001 = SET
000000 = register A
011111 = 1F -> next word -> [PC++]下一个词是0x0030..。哇哦。
发布于 2015-07-09 21:59:33
@cli_hlt几乎是正确的
dcpu文档说:
在基本指令中,指令的第一个字的下5位是操作码,其余的11位被分成5位值b和6位值a。
B总是在a之后由处理器处理,是后面的5位。在位( LSB-0格式)中,基本指令的格式为: aaaaaabbbbbooooo。
所以正确的答案是:
0x7c01 = 0111110000000001
00001 = SET
00000 = register A
011111 = 1F -> next word -> [PC++]https://stackoverflow.com/questions/10028644
复制相似问题