问题标签 [pdp-11]
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 - 我在 pdp-11"ODD WORD ADDRESS" 中收到此消息,这是什么意思?
目前正在处理 pdp-11 中的代码,但我收到此错误“奇怪的字地址”,所以我在互联网上搜索并发现:一个奇怪的地址错误:如果在字自动增量或自动减量指令中使用的寄存器变得奇怪,则会发生这种情况。我不明白他们的意思!有人能帮我吗 ?
unix - cc编译器生成的unix v6汇编代码的含义?
例如,下面是一段 C 代码及其由 cc 编译器生成的汇编代码。
我可以理解大部分代码。但我不知道有什么作用~~foo:
。以及 和 中的神奇数字从何~c=177770
而来~d=177766
。硬件是 pdp-11/40。
assembly - PDP 11中一个内存位置存储了多少位
PDP 11 被称为字可寻址,这意味着每次数据访问都返回 16 位数据。假设我对内存中的地址 100 发出读取请求。它会从地址 100 返回 8 位(LSB),从地址 101 返回 8 位(MSB)。而且由于 PDP 11 有 16 个地址位,为什么它只有 32K 内存位置而不是 64K 内存位置?是不是因为它是字可寻址的(每次访问 2 个字节)
TIA。
assembly - 如何在 PDP-11 上的字节和字之间进行异或?
我们遇到的主要问题是一个数字被保存为一个字节,另一个被保存为一个字,我们意识到XOR
PDP-11 中有一个内置的。
assembly - 将 PDP-11 汇编语言编码/解码为二进制和十六进制?
我被分配了一项任务,我要为应用程序的编码和解码按钮编写 actionPreformed 方法,在该应用程序中,用户可以假设编码/解码 PDP-11 指令(仅限于ADD
, SUB
, MOV[B]
, CMP[B]
)。该应用程序应该能够获取 4 位十六进制数或 16 位二进制并将其解码为汇编,或输入其中一条汇编指令并将其编码为二进制/十六进制。
这对我来说都是新事物,我似乎无法思考如何做到这一点。有没有人有办法更简单地打破这个过程,或者有什么我应该从哪里开始的指针?我不太确定从哪里开始。谢谢!
c - C 程序如何在后台传输参数?
这是 PDP-11 代码混合 C 和汇编。在下面,u.u_rsav 是一个数组指针,
savu(u.u_rsav);
这个函数的汇编代码是
似乎在进入过程之前,它首先推送参数,然后推送返回点 PC 值。因此,r1 存储 PC,r0 存储参数。我的困惑是 sp(堆栈指针)在汇编代码跳回调用点之前没有恢复到原始值。它仍然指向参数存储在堆栈中的位置。
assembly - pdp-11 汇编错误 8-非法字符
晚上好,我是一名新程序员,正在尝试使用 pdp-11 模拟器在汇编中编译以下代码。但是我有错误堆栈,我确定语法但无法定义错误在哪里或要更改什么。编码 :
错误描述:“cmpb #'$, r0”行的“错误 8-非法字符”。
有谁知道这是为什么?我应该怎么写?关键是当我得到'$ char时停止循环。
assembly - 在 pdp-11 中打印消息
我在 pdp-11 中打印消息时遇到问题。代码是:
输出应该是消息:Welcome to Shir and Maya checkers game!
相反,我们得到的信息是:欢迎 tol@r 和 Maya 跳棋游戏!
这意味着由于某种未知原因,“Shir”被替换为“l@r”
我应该怎么办?
assembly - 了解汇编基本代码
有人可以解释值 r0 和 r1 之间的区别吗?
assembly - PDP-11 汇编器:“单操作数指令”如何工作
我正在尝试了解 PDP-11 组件。为此,我正在经历这个文件。
PDP-11 有几组指令类型。一种是单操作数指令,另一种是双操作数指令。双操作数指令例如是:
...它(如果我理解正确的话)从 R0 指向的内存中选择数据,然后递增 R0,然后将从内存中获取的数据存储到 R1 中。
但是单操作数指令呢?例如:
会发生什么?会不会:
- 检索 R0 指向的值
- 增加R0
- 增加价值
- 将结果存储到 R0 指向的新地址中?
- 再次增加R0?
还是跳过 2 或跳过 5?