【问题标题】:Value of Program Counter after jmp loop (Assembly)jmp 循环后程序计数器的值(程序集)
【发布时间】:2015-01-25 23:11:07
【问题描述】:

我在作业中遇到了这个问题(引用如下),我不明白。我已经尝试在谷歌上搜索有关无条件分支、goto、跳转循环、汇编语言的更多信息,但一无所获。

我们将不胜感激任何类型的帮助。我对计算机硬件还是新手。我知道答案不应该太复杂。谢谢。

所有指令集都包含无条件分支(“gotos”)。 汇编语言语法可能是“jmp loop”,其中“loop”是标签 根据一些指示。程序运行时,每条机器指令 存储在内存中,因此有一个机器地址。

a) [8 分] 如果处理器执行“jmp loop”指令,并且如果 标记为“循环”的指令位于内存地址 1,024,什么是 'jmp loop' 指令完成之后但之前的 PC 值 程序顺序中的下一条指令已被提取?一般来说,如何 goto 会改变程序顺序吗?

【问题讨论】:

    标签: assembly


    【解决方案1】:

    这个问题几乎暴露了。从文本中,我们知道甚至存在的唯一内存地址是 1,024,这确实是答案。

    更一般地说,像这样的陈述

    jmp loop

    在概念上与

    相同

    mov ip, offset loop(通常是无效的语法)

    其中ip 是指令(或程序)计数器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 2019-07-10
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多