Assembly PDP-11汇编程序中的寻址模式

Assembly PDP-11汇编程序中的寻址模式,assembly,addressing-mode,pdp-11,Assembly,Addressing Mode,Pdp 11,我有一个关于pdp-11(模拟器)的小问题,我有这个命令 (从地址1000开始) 加2500,#2500 这一初步清单: register/address - initial value pc 1000 sp 600 2500 3000 我想知道这个小片段到底是如何运行的,在我的小册子中我发现: 首先,它读取地址1000中的信息,在这个地址中,我们有值066727,在我们读取地址1002中的数字之后,值

我有一个关于pdp-11(模拟器)的小问题,我有这个命令 (从地址1000开始) 加2500,#2500

这一初步清单:

register/address - initial value
pc                 1000
sp                 600
2500               3000
我想知道这个小片段到底是如何运行的,在我的小册子中我发现:
首先,它读取地址1000中的信息,在这个地址中,我们有值066727,在我们读取地址1002中的数字之后,值必须是2500(因为add
2500
,#2500),但在我的小册子中,我有1474个,没有任何解释为什么,我知道这里有相对寻址模式,但是为什么地址1002中有1474而不是2500,提前感谢您的帮助

我想不起所有的寻址模式,但看看地址1474,看看它是否包含2500

ADD 2500,#2500
编译为

    0:      066727 ; ADD
    2:      002474 ; 2500 - 6 (next instruction offset)
    4:      002500 ; #2500 (literal value)
    6:      ...    ; next instruction
  ...
 2500:      003000
如果您有:

    add     2500,#2500      ;add content of location 2500 to immediate value.
组装的第一个字是指令,第二个字是地址数据 对于第一个操作数(即
2500
),第三个操作数将是立即数
2500
。 第一个操作数的PC相对寻址模式将 将PC设置为给定的值,以获取操作数的地址。这就是区别 在
2500
和PC之间的该点(
1474
,在读取偏移量的增量之后)

通常,人们会做一个:

    add     #2500,2500       ;add 2500 to the word at location 2500.
作为第一个示例,将结果存储在指令流中

    add     #2500,2500       ;add 2500 to the word at location 2500.