【问题标题】:Terms used for addressing modes. [intel 8085]用于寻址模式的术语。 [英特尔 8085]
【发布时间】:2011-08-11 16:06:30
【问题描述】:

在我正在研究的处理器的文档中说:

可用的操作数寻址模式有隐含、寄存器、立即、直接和寄存器 间接(使用 BC、DE 和 HL 寄存器对作为指向内存的 16 位指针)。

有人可以用外行的方式解释这些寻址模式之间的区别,或者张贴我可以学习的链接吗?

非常感谢。

【问题讨论】:

    标签: cpu-architecture addressing operands addressing-mode 8085


    【解决方案1】:
    • 暗示:指令不使用寄存器,或者寄存器映射是固定的,所以在汇编助记符中没有寄存器命名
    • 寄存器:指令对寄存器的内容进行操作
    • 立即:数据是指令流的一部分,这只能用于常量
    • 直接:数据的地址是指令流的一部分(即固定地址的数据)
    • 间接寄存器:数据的地址是在一个寄存器中找到的,或者是一组寄存器的总和。

    【讨论】:

      【解决方案2】:

      这是相当完整的 8080/8085 汇编手册:

      [PDF] Intel 8080/8085 Assembly Language Programming
      File Format: PDF/Adobe Acrobat
      

      ISIS-II 8080/8085 IAACRO 汇编器操作员手册,9800292。当您激活
      汇编器,您可以选择指定多个控件。 ...

      http://krchowdhary.com/intel-8085.pdf (5.5 MB)

      您需要第 1-15 节(pdf 第 27 页)

      【讨论】:

        【解决方案3】:

        隐含的意思是操作码不需要程序员明确说明源和地址;声明中暗示了它们。例如 LDA 总是加载累加器,累加器是所有 LDA 操作码的隐含目标地址。

        Register 表示源或目标是处理器寄存器而不是内存位置。例如 MOV r1,r2 是一个寄存器到寄存器的传输,它不涉及超出操作码的内存获取。

        立即表示代码存储中内存中的值,通常是紧跟在操作码之后的值。即:MOV r,n。值加载的内存地址引用是程序计数器。

        直接意味着在操作码之后提供内存地址,处理器首先将该内存地址加载到地址寄存器中,然后从该内存位置获取。内存地址引用在操作码之后提供,执行首先需要加载两个字节地址,然后从该位置加载内存值。

        间接意味着地址存储在可用于该目的的寄存器之一中。因为它只是一个寄存器到寄存器的传输来加载地址寄存器以获取内存,它比使用直接寻址更快。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-01-20
          • 2022-01-19
          • 1970-01-01
          • 2021-09-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多