问题标签 [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 汇编器 - 子命令的问题
所以我们使用的是 pdp 11 模拟器,我试图以这种方式从另一个寄存器中减去一个寄存器:
子 r2, r4
我想要的是 r4 将包含 r2 和 r4 中保存的值之间的差异,而不是我得到一个巨大的、不相关的数字。我试过 sub r2, r5 和它同样的问题。
我哪里错了?这是代码:(该行在标志“kaka”之后)
编辑:这不是完整的代码,其余代码不相关,即使其余代码标记为注释也会出现问题。
location - 求UNIX V6部分代码说明
目前我正在阅读这本书:Lions_Commentary_on_UNIX_6th_Edition,我一起试图理解 unix v6 的源代码,我发现一些代码很有趣:例如
这是一些我不太擅长的 PDP-11 组件,所以谁能向我解释这些代码在这里尝试做什么?此外,在 PDP-11 中,还有另一个符号:“..”,任何人都可以解释这个符号的作用吗?
assembly - PDP-11 中的寻址模式
我有这个指令:
你能解释一下这条指令应该如何运行吗?
assembly - 汇编,PDP11,使用ascii码跳转到特定标签
我有一个小问题:我有一个"A"
从堆栈接收一个字母(比如说 )的子例程,我想跳转到同名的标签。
例如:
r1
将保存"A"
他从堆栈中获得的值。然后我希望它分支到 label "A"
。
谢谢。
assembly - PDP 11 - 如何知道分支命令的操作码
我在理解如何获得正确的分支命令操作码方面遇到了一些问题。让我们说命令:
beq opCode 是001400
我知道 opCode 中的最后两个字符假设包括我们需要跳转的偏移量。
在这个问题的答案中,它是书面的,001417
但我不明白为什么,他们是如何得到17
的40
?
将有一个简短的解释。
assembly - 通过阵列组件 PDP-11(帕斯卡三角形)
我是汇编程序的新手,我的任务是编写一个创建帕斯卡三角形的程序,当我得到一个表示三角形深度的数字 N 时。问题定义通过二维数组来做到这一点。
输出例如:
1 0 0 0
1 1 0 0
1 2 1 0
等等
我被允许仅使用问题中指示的内存并使用寄存器。我的问题是:如何访问以前的单元格来计算当前单元格,而不会丢失当前位置?
非常感谢!
assembly - 谜语 - 在等效 2 中替换 4 笔代码
据我了解,如果 r0 < 0 或 r0 > 11,这种代码和平是一个障碍。
如何将其优化为仅 2 笔代码。
assembly - 初学者裸机 pdp11 控制台输出
我正在尝试了解使用 pdp-11 的基本知识(在大学学习了指令集,想重温一下),想将一些字符作为第一个程序从 TTO/DL11 中射出(除非第一个程序太复杂程序)。
在 simh 上运行。显示开发有
阅读文档时,tx 缓冲区的偏移量为 566。在 stackoverflow 和其他一些页面上看到其他代码,在高位地址空间中有/可能有一个 mmu,说 177566(八进制)可能会将您放在那里,因为寄存器是 16 位而不是 22 位节目开发暗示。
什么都没有出来。
可以使用 set console telnet=4444 和 telnet 到那个,没有变化。毫无疑问,我无法解决超过 16 位的问题,但不太确定去哪里解决这个问题。
基本上我想,除非有很多代码(数千行 asm)才能让一些字符从控制台中出来,否则我想从那里开始“看到”一些东西,然后以此为基础。因此,如果我很接近但不完全,或者如果这不是最好的外围设备,那么去哪里,它们都在那个上层地址空间中。
我正在使用 gnu 工具
所以语法有点傻/不标准。至少现在,binutils 已经支持 pdp11 的几个版本,希望也能利用这一点。simh 的二进制文件格式并不难弄清楚,单步执行它与我想要的指令相匹配并提供 gnu 汇编程序。
在 simh pdp11 的 apt-got v3.8-1 版本和 github 上都尝试了 4.0 版本,结果相同。使用 pdp11 模拟器/可执行文件。
编辑
这使得
两个问题,一个是我没等到忙。在初始化/重置时没关系,它不忙。我认为踢球者是我在它吐出角色之前就停下来了。当我有循环时,它吐出了大部分字符。如果我发送一个字符并停止它不会出现,但是如果我将等待繁忙归零之后(notmain() 中的最后一件事),那么该字符就会出现。
如果我把它改成这个
它工作得很好……谢谢你让我开始。
手册中的注释:
所以那个答案就在那里,我没有看对地方。
编辑2:
在汇编中,为了达到将字符发送到 tty 的目标,使用 gnu 汇编语法(* 代替 @ 和 $ 代替 #)
unix - What is the meaning of -(sp) in unix v6 Assembly?
What's the meaning of -(sp)
?
I am reading code of Unix V6, on PDP-11 the old OS.
I already know the meaning of sp
, this is stack pointer.
Is this same as -1(sp)
?