问题标签 [program-counter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7319 浏览

assembly - 指令指针与程序计数器?

指令指针和程序计数器之间有什么基本区别吗?我相信它们都指的是同一个东西,eip/rip 寄存器,尽管到目前为止我所做的研究并不是很清楚。

0 投票
3 回答
1334 浏览

linker - PC与加载或链接地址有什么关系?

链接地址是执行程序的地址,而加载地址是实际放置程序的内存地址。

现在我很困惑程序计数器的值是多少?是加载地址还是链接地址?

0 投票
1 回答
948 浏览

mips - 如何在 MIPS 架构中不使用 J-Type 指令保存程序计数器地址

我必须在不使用 J-Type 指令的情况下将 jal 指令实现为伪指令。我可以用 jr 来实现它,但我知道 jal 将当前的 PC+8 存储在 $ra 中。我该如何实施?如何在没有 J-type 的情况下将 PC 地址存储在 ra 中?

0 投票
2 回答
3164 浏览

c - 更改 C 中的程序计数器

我想更改程序计数器(指令指针)的内容。我认为通过覆盖 C 中的系统信号处理程序,我可以在系统堆栈帧中获取指针。从那里我可以得到函数的返回地址并改变它。

但是,我得到了堆栈中的指针,但我不知道返回地址在堆栈帧上的确切存储位置。

0 投票
1 回答
176 浏览

assembly - 从汇编解码为机器码(Y86)时如何确定程序计数器?

从汇编解码到 Y86 时,我无法理解如何确定地址位置。在示例中,

地址位置如何从 0x030 到 0x032 到 0x03c?确定位置增加多少的方程式是什么?

0 投票
1 回答
161 浏览

javascript - 有没有办法在 Chrome 调试器中移动程序计数器?

在 Chrome 中调试 Javascript 时,有没有办法将程序计数器移动到给定的行?我的意思不是继续到给定的行,而是跳过指令。

我无法在教程或帮助中找到任何内容。我目前正在使用 v 49.0.2623.87。

0 投票
3 回答
9951 浏览

verilog - 带有分支的 Verilog 程序计数器

我需要创建一个 Verilog 模块,它接受时钟、复位、指令字的立即值(最低有效字节)和 ALU 的零输出作为输入,并为输出。分配说要注意,在这个架构中,当我们有一个分支时,下一个 PC 值应该是当前 PC 值加上从分支指令中提取的偏移量。偏移量用二进制补码表示,因此分支目标的范围是从 PC - 128 到 PC + 127。注意 PC 的值不应超过 0xFF,因为我们有一个 256 深的指令存储器。您无需在硬件中检查这种情况。

这是我到目前为止所拥有的,但我知道这是不完整的,我不确定如何处理立即数或者我是否需要为分支指令添加一些东西。有什么帮助/建议吗?

0 投票
2 回答
1378 浏览

memory - mips 有 32 位地址和 32 位指令吗?

我知道 32 位 MIPS 指令和内存寄存器是……嗯 32 位……并且 PC 会在指令寄存器中计算该指令的地址。

我的问题是:32 位地址是否附加到 32 位指令?

忽略这些都是零的事实......

0x00000000(地址)是否与 0x00000000(指令)连接?

例如,R-Type 是

其中上述地址为 000000_00000_00000_00000_00000_000000

两个 32 位数字是否连接在一起,以便 PC 吐出对应于64 位值的上半部分的 32 位?我经常看到有

任何帮助,将不胜感激。

0 投票
1 回答
351 浏览

syntax-error - verilog 程序计数器语法错误

所以我的程序计数器测试台出现语法错误,我无法弄清楚为什么我不断收到以下 verilog 源有语法错误:“pc_tb.v”,20:令牌是“初始”初始 ^

我使用初始错误吗?制作流水线数据路径,这是迄今为止我得到的唯一不适合我的部分

0 投票
0 回答
63 浏览

testing - RISCV 测试似乎在 start_pc 中没有代码

我已经克隆了这个 repo并使用工具链构建了测试。

但是遇到了一些问题:

  1. 运行这些测试的 riscv-qemu错误(segfault 或内存分配错误)。按照您网站上的说明进行操作
  2. 测试标头(例如rv32(64)mi-p-csr)中的起始 pc 设置为 80002000,但此位置没有代码(.tohost 部分)

你能解释一下如何解决这个问题吗?目前在 RISCV v1.9 上作为最新可用