gpt4 book ai didi

c - 这个虚拟机如何将指令转换为十六进制值?

转载 作者:行者123 更新时间:2023-11-30 15:31:27 26 4
gpt4 key购买 nike

我正在学习虚拟机,我偶然发现了这本维基百科的书,它真的很棒。然而,我在作者正在解释他如何转换指令的部分,例如:

loadi r0 #100

0x1064

我不知道它是如何工作的?有人可以向我解释一下吗,这是有问题的链接 http://en.wikibooks.org/wiki/Creating_a_Virtual_Machine/Register_VM_in_C

如果你向下滚动到指令代码,他会谈论它,但对我来说没有意义,有人可以像我5岁一样向我解释吗?

最佳答案

loadi r0 #100指令成为16位指令。

命令loadi将位11到15(左边的位)设置为1:

0001xxxxxxxxxxxx

r0 用于寄存器 0,并设置位 8 至 11。

00010000xxxxxxxx

值 100 放置在位 0 到 7 中。位 4 到 7 乘以 16,然后与位 0 到 3 中的值相加。因此 100 = 6 乘以 16(等于 96)+ 4。

0001_0000_0110_0100 (in binary, seperations for clarity)
1064 (in hexa)

来源:http://en.wikibooks.org/wiki/Creating_a_Virtual_Machine/Register_VM_in_C#Instruction_codes

关于c - 这个虚拟机如何将指令转换为十六进制值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com