一个关于西门子间接寻址的问题.这个是寄存器区域间的寻址.

问题描述:

一个关于西门子间接寻址的问题.这个是寄存器区域间的寻址.
当AR=840000D4(hex)=1000 0100 0000 0000 0000 0000 1101 0100(b),实际上就是等于DBX26.4.这个是怎么得出来的饿
1个回答 分类:数学 2014-10-05

问题解答:

我来补答
地址寄存器的内容格式与pointer数据类型格式相似.你可以查阅手册"Format of the Parameter Type POINTER".
AR1,AR2最长只有32位.格式定义位
bit32.bit24 指存储区类型含义如下:
b#16#81__I__ Input area
b#16#82__ Q___ Output area
b#16#83__ M___ Bit memory area
b#16#84__ DB___ Data block
b#16#85__ DI___ Instance data block
b#16#86__ L__ Local data (L stack)
b#16#87__ V __Previous local data
bit23.bit19 为零
bit18.bit 3为字节地址
bit2.bit0为位地址
所以按上面原则,你可以推得84对应存储区域(类型),即DB,数据块
D4分解,11010 字节地址:26,100位地址4
所以这是某一个DB中的位地址,显然就是DBX26.4,
请注意:在这里,AR并不能提供是哪一个数据块号.数据块通常是通过pointer参数传递,然后用地址偏移分解出来的.
 
 
展开全文阅读
剩余:2000
上一页:质点位移问题