问题标签 [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.
assembly - 指令指针与程序计数器?
指令指针和程序计数器之间有什么基本区别吗?我相信它们都指的是同一个东西,eip/rip 寄存器,尽管到目前为止我所做的研究并不是很清楚。
linker - PC与加载或链接地址有什么关系?
链接地址是执行程序的地址,而加载地址是实际放置程序的内存地址。
现在我很困惑程序计数器的值是多少?是加载地址还是链接地址?
mips - 如何在 MIPS 架构中不使用 J-Type 指令保存程序计数器地址
我必须在不使用 J-Type 指令的情况下将 jal 指令实现为伪指令。我可以用 jr 来实现它,但我知道 jal 将当前的 PC+8 存储在 $ra 中。我该如何实施?如何在没有 J-type 的情况下将 PC 地址存储在 ra 中?
c - 更改 C 中的程序计数器
我想更改程序计数器(指令指针)的内容。我认为通过覆盖 C 中的系统信号处理程序,我可以在系统堆栈帧中获取指针。从那里我可以得到函数的返回地址并改变它。
但是,我得到了堆栈中的指针,但我不知道返回地址在堆栈帧上的确切存储位置。
assembly - 从汇编解码为机器码(Y86)时如何确定程序计数器?
从汇编解码到 Y86 时,我无法理解如何确定地址位置。在示例中,
地址位置如何从 0x030 到 0x032 到 0x03c?确定位置增加多少的方程式是什么?
javascript - 有没有办法在 Chrome 调试器中移动程序计数器?
在 Chrome 中调试 Javascript 时,有没有办法将程序计数器移动到给定的行?我的意思不是继续到给定的行,而是跳过指令。
我无法在教程或帮助中找到任何内容。我目前正在使用 v 49.0.2623.87。
verilog - 带有分支的 Verilog 程序计数器
我需要创建一个 Verilog 模块,它接受时钟、复位、指令字的立即值(最低有效字节)和 ALU 的零输出作为输入,并为输出。分配说要注意,在这个架构中,当我们有一个分支时,下一个 PC 值应该是当前 PC 值加上从分支指令中提取的偏移量。偏移量用二进制补码表示,因此分支目标的范围是从 PC - 128 到 PC + 127。注意 PC 的值不应超过 0xFF,因为我们有一个 256 深的指令存储器。您无需在硬件中检查这种情况。
这是我到目前为止所拥有的,但我知道这是不完整的,我不确定如何处理立即数或者我是否需要为分支指令添加一些东西。有什么帮助/建议吗?
memory - mips 有 32 位地址和 32 位指令吗?
我知道 32 位 MIPS 指令和内存寄存器是……嗯 32 位……并且 PC 会在指令寄存器中计算该指令的地址。
我的问题是:32 位地址是否附加到 32 位指令?
忽略这些都是零的事实......
0x00000000(地址)是否与 0x00000000(指令)连接?
例如,R-Type 是
其中上述地址为 000000_00000_00000_00000_00000_000000
两个 32 位数字是否连接在一起,以便 PC 吐出对应于64 位值的上半部分的 32 位?我经常看到有
任何帮助,将不胜感激。
syntax-error - verilog 程序计数器语法错误
所以我的程序计数器测试台出现语法错误,我无法弄清楚为什么我不断收到以下 verilog 源有语法错误:“pc_tb.v”,20:令牌是“初始”初始 ^
我使用初始错误吗?制作流水线数据路径,这是迄今为止我得到的唯一不适合我的部分
testing - RISCV 测试似乎在 start_pc 中没有代码
我已经克隆了这个 repo并使用工具链构建了测试。
但是遇到了一些问题:
- 运行这些测试的 riscv-qemu错误(segfault 或内存分配错误)。按照您网站上的说明进行操作
- 测试标头(例如rv32(64)mi-p-csr)中的起始 pc 设置为 80002000,但此位置没有代码(.tohost 部分)
你能解释一下如何解决这个问题吗?目前在 RISCV v1.9 上作为最新可用