【问题标题】:Interpreting assembly listing for a toy ISA in the Dhamdhere textbook解释 Dhamdhere 教科书中玩具 ISA 的装配列表
【发布时间】:2009-03-24 18:26:02
【问题描述】:

考虑以下汇编器输出列表:

START 100
MOVER BREG, ONE                                101) + 04 2 105 
MOVEM BREG, RESULT                             102) + 05 2 106
PRINT RESULT                                   103) + 10 0 106
STOP                                           104) + 00 0 000
ONE DC '1'                                     105) + 00 0 001
RESULT DS 1                                    106) 
  1. 代码前的 + 号表示什么?
  2. 为什么ONE的地址是001
  3. 为什么最后一个RESULT DS 1 语句后面的条目留空?

此列表出现在Systems Programming and Operating Systems 由 Dhamdhere 撰写(编者注:由回答者发现)。

【问题讨论】:

    标签: assembly disassembly mnemonics


    【解决方案1】:

    我不知道您使用的是哪个汇编程序(在您的问题中提供该信息可能是明智的),因此这些不是特别明智的答案:

    1. 不知道 - 你的汇编手册是怎么说的
    2. 不是——这就是价值
    3. DS 只是保留了一些空间

    编辑: 汇编器是一种计算机程序,它接收包含汇编语言的文本并将其转换为机器代码。它还可以以人类可读的形式产生输出,这就是您发布的代码的样子。人类可读形式的格式特定于您正在使用的特定汇编器(即程序) - 它并不特定于汇编器为其发出机器代码的机器架构。

    【讨论】:

    • 8086是一个CPU——汇编器是一个软件包。您使用的是哪个汇编程序软件包?
    • 我没有使用任何汇编程序软件包什么,我的意思是如果这个机器指令集是 8086 微处理器呢?我从我的课程教科书中写了这段代码,书中提到的机器指令格式是第一个用于符号 2 用于操作码 1 用于 reg 操作数 3 用于内存操作数
    • 对不起 - 我不明白。你说的是哪本书?
    • 在地址 101 + 的汇编器输出中 + 是符号 04 是某些指令的操作码(在上面的 MOVER 中) 2 是我认为一个寄存器(可能是 B 寄存器) 105 是内存操作数所以我是什么问题是这个标志的用途是它是否依赖于机器架构,如果是,它意味着什么
    • 这不是我的作业,我只是想从初级学习汇编语言
    【解决方案2】:

    这似乎是在使用Systems Program and Operation 第 4 章中的简单汇编语言。

    在操作码输出的描述中,它说,“符号不是指令的一部分。”快速阅读文本并没有发现它是的一部分,并且所有示例在该列中都有“+”。

    【讨论】:

    • 它与您在此处链接的文本相同,只是想知道我在问题中提出的 3 件事......谢谢
    【解决方案3】:
    1. “+”符号不是指令的一部分。 (数字指令的那一面是机器指令)

    2. ONE 的地址是 105,001 是使用 DC 分配给 ONE 的值,DC 是声明常量的缩写形式。

      DC 保留内存字空间并分配常数。

    3. RESULT DS 1 的条目留空,因为 DS 保留给定要求的内存空间,这里只给定 1,因此它只保留一个内存字位置。

    只有数字部分的另一面是机器指令,它遵循以下格式

    Sign opcode register_opcode memory_operand
    

    例如,

    101) memory location
    + Sign (not part of instruction)
    04 Machine opcode ( occupy 2 digits )
    2 Register operand ( occupy 1 digit )
    105 Memory operand ( occupy 3 digits )
    

    注意: 它是用于假设计算机的简单汇编语言,用于说明汇编程序的功能和技术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 2023-03-26
      • 1970-01-01
      • 2010-09-14
      • 2016-07-15
      • 2021-01-15
      • 2010-11-05
      相关资源
      最近更新 更多