问题标签 [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 投票
0 回答
50 浏览

architecture - y86 指令集造成混乱

我是计算机体系结构的初学者。我尝试学习 Y86 架构。我得到了 Y86 架构的参考资料。我没看懂图片Stage computation: Arith/log. ops。我研究过这本书Computer Systems: A programmer's Perspective,但我不清楚

  1. M1[电脑]
  2. M1[PC+1]等线

根据本书,M1[x] 表示访问(读取或写入)内存位置 x 的 1 个字节。这意味着 M1[PC] 意味着访问(读取或写入)内存位置程序计数器的 1 个字节。这有意义吗?

  1. valP <- PC+2

但是为什么它是 PC+2 而不是任何其他整数。

我也是从书里知道的In the fetch stage, we do not require a constant word, and so valP is computed as PC + 2

但话又说回来It is also possible fetches a 4byte constant word valC

所以假设,在上面的例子中,在 rA:rB<-M1[PC+1] is valC<- M4[PC+2] 之后还有另一行,那么下一行 valP<-PC +______

在这里,我尝试按照我在此处引用的链接解决一个小程序

已编辑:我编辑了这个问题并尝试了解我从链接中获得了多少知识。

我的代码好吗?

0 投票
2 回答
45 浏览

assembly - CALL/GOTO 不需要 PIC 16F84 PCLATH Bit3+4?

我正在尝试模拟PIC16F84,现在需要实现PCL/PCLATH寄存器。

PIC16F84有 1K 的程序内存。

PCL是 8Bit 宽,所以在这种情况下,Bit 0 和 1用于PCLATH在每个大小为 的四个页面之间切换,256B到目前为止我是对的吗?

基于此,我不明白以下内容:

数据表说明了GOTO

PC 的高位从 PCLATH<4:3> 加载。GOTO 是一个两周期指令。

但是上位是不是PCLATH太多了?我的意思是只有 4 个页面,每个 256B,因此只PCLATH需要第 0 位和第 1 位。或者换句话说 - 第 3 位和第 4 位PCLATH始终为 0 ?为什么我在执行“CALL”或“GOTO”时需要关心“PCLATH”?

0 投票
0 回答
28 浏览

arm - 在没有可用调试信息或程序代码之外的地址“0xXXXXXXX”处中断

我正在使用带有 Nucleo_STM32F412ZG usb 的 STM32CUBEIDE 以及调试它时。它显示如下所示的消息: “在地址“0x8007d3a”处中断,没有可用的调试信息,或在程序代码之外。” 我只是想闪烁 LED 示例。 https://github.com/k-code/stm32f4-examples/tree/master/Task-1-Leds 我是新手,非常感谢任何输入。提前致谢! 控制台: STMicroelectronics ST-LINK GDB 服务器。版本 6.0.0 版权所有 (c) 2021,意法半导体。版权所有。

使用以下选项启动服务器:持久模式:禁用日志记录级别:1 侦听端口号:61234 状态刷新延迟:15 秒详细模式:禁用 SWD 调试:启用 InitWhile:启用

正在等待调试器连接... 已连接调试器 正在等待调试器连接... 已连接调试器 等待调试器连接... 正在关闭... 退出。

我在地址“0xXXXXXX”处检查了这个答案 ,没有可用的调试信息,或者在程序代码之外, 但这对我不起作用。 Nucleo_STM32F412ZG