LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1108|回复: 3

PDP-11/40 一问

[复制链接]
发表于 2004-8-6 00:01:17 | 显示全部楼层 |阅读模式
下面是对 PDP-11/40 寻址方式 0 与 1 的解释 (ISP: Instruction Set Processor):

Mode            0
Designation     register
Symbolic        R
ISP             if (m = 0) then Rr<w1: 0>;
Description     The register (R, Rr) is the operand.

Mode            1
Designation     register deferred
Symbolic        @R or (R)
ISP             if (m = 1) then M[Rr];
Description     Defer to operand through register (R, Rr) as address.

可以看出方式 0 类似于 8086 汇编中的寄存器寻址方式,方式 1 类似于其寄存器间接寻址方式。
下面解释一下。PDP-11/40 的字长是 16 位,有十六个硬件寄存器。
m 是指寻址方式,所以 m = 0 就是指寻址方式 0。
< > 用来“定义表达式的限制,例如字长 <15: 0>”。
[ ] 用来“定义内存说明的限制;Mw[SP] 指明堆栈指针 (SP) 在内存中的地址”。
Mw 是“内存字声明;(方)括号中的地址指向内存中的某位置”。
然后就是我的问题了:为什么“Description”里谈论寄存器时都用 (R, Rr)?当然这不是绝对的,请看模式 3:

Mode            3
Designation     auto-increment deferred
Symbolic        @(R)+
ISP             if (m = 3) and (rg != 7) then (M[Mw[Rr]]; next Rr<-Rr+2;
Description     Defer to operand through (R), Mw[Rr] as address, then
                increment register (R, Rr).

哪位明白这是怎么回事啊?或者,大家就自己的理解发表一下意见好吗?
我无法找到更详细的说明了。
发表于 2004-8-6 22:09:03 | 显示全部楼层
这么老的东东还有谁研究它?
 楼主| 发表于 2004-8-7 00:32:44 | 显示全部楼层
看《莱昂氏 Unix 源代码分析》,需要理解 PDP-11/40 的汇编指令。
发表于 2007-6-26 16:22:10 | 显示全部楼层

帮忙!!

楼主有pdp-11/40处理机手册吗???中文版的最好!!!谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表