2011-06-09 68 views
4

这个问题是乞求一堆“你为什么这样做?”响应。68k寄存器地址

我一直未能在68k Programmer's Reference Manual中找到此信息,但这可能是因为我不确定要搜索哪种语言。

这里是68k的ADD操作码的指令格式。

enter image description here

位0-2和9-11候寄存器。什么是68k寄存器的二进制表示?他们是“地址”吗?

是的,我知道我可以编写一个68k的汇编程序并对其进行调试以查找此信息。我正在寻找一个参考。谢谢!

+0

寄存器没有地址。如果你不明白,你不了解机器架构。这些位简单地说明CPU中的哪个寄存器将被使用。他们解码我的微码引擎。 – 2011-06-09 21:22:41

+0

我知道他们不是内存地址。这很明显。他们仍然可以被称为/地址。另外,我没有声称理解机器架构。我正在尝试学习;请原谅我提问。 – mwcz 2011-06-09 22:33:51

+0

@ mwcz我们可以称他们为“zoinks”,但这并不能使他们变得更好。术语很重要,在编写和理解机器代码程序的情况下,非常重要。 – 2011-06-09 22:43:25

回答

4

See Sec。 2.1,“指令格式”:

指令指定要用操作码执行的功能,并定义每个操作数的位置。指令通过寄存器指定指定操作数位置,指令的寄存器字段保存寄存器编号;通过有效地址,指令的有效地址字段包含寻址模式信息;或通过隐式引用,指令的定义意味着使用特定的寄存器。 (强调增加)

+0

谢谢,这有帮助。我刚刚弄清楚了,这很明显,难怪它没有列在文档中。 :) – mwcz 2011-06-10 00:55:28

+1

@mwcz对于我们这个问题后的凡人,寄存器编号是8位D0-D7或A0-D7寄存器的3位二进制表示。 – Caltor 2012-01-16 16:47:08

+1

@Caltor是的,它是。当我发布这个问题时,我对于如何通过3位字段引用所有16​​个寄存器(A和D寄存器)感到困惑。现在感觉这是一个愚蠢的问题,因为它很明显(回想起来)数字(0-7)包含在寄存器字段中,并且寻址模式确定该数字是指A还是D寄存器。 – mwcz 2012-01-17 02:18:18

2

这些可能是指您链接的手册的图1-1,第1-2页中列出的An和Dn寄存器。

1

3位指定从0(位:0-0-0)到7(位:1-1-1)的地址寄存器编号。但通常你可以让汇编程序担心这个问题。 我希望这会有所帮助, Dave

+0

谢谢。我当时正在编写一个仿真器,所以依靠汇编器不是一种选择。 – mwcz 2015-02-26 22:53:12