西門子
的間接定址方式計有兩大型別:
儲存器間接定址和暫存器間接定址。
【儲存器間接定址】
儲存器間接定址的位址給定格式是:位址識別符號
指標。指標所指示
儲存單元中所包含的數值,
就是位址的確切數值單元。
儲存器間接定址具有兩個指標格式:
單字和雙字。
單字指標是乙個
16bit
的結構,從
0-15bit
,指示乙個從
0-65535
的數值,這
個數值就是被定址的儲存區域的編號。
雙字指標是乙個
32bit
的結構,從
0-2bit
,共三位,
按照進製指示被定址的位編號,
也就是0-7
而從3-18bit共位,
指示乙個從
0-65535
的數值,這個數值就是被定址的位元組編號。
指標可以存放在mdi
db和l區域中,也
就是說,可以用這些區域的內容來做指標。
單字指標和雙字指標在使用上有很大區別。下
面舉例說明:
l dw#16#35 //將位
進製數存入
acc1 t md2 //
這個值再存入
md2這是個
位的位儲存區域
l+10
將位整數
存入acc1
位進製數
自動移動到
acc2
tmw100
這個值再存入
mw100
,這是個
位的位儲存區域
opndbw[mw100] //
開啟dbw10
這裡的[mw100]
就是個單字指標,
存放指標的區域是m區,
mw100
中的值,就是指標間接指定的位址,它是個
位的值!
-------- l l#+10 //
以位形式,把
放入acc1
,此時,
acc2
中的內容為:
位整數10 t md104 //
這個值再
存入md104
這是個位的位儲存區域
a i[md104] //
對i1.2
進行與邏輯操作!
=dix[md2]
賦值背景資料位
dix6.5
adb[mw100].dbx[md2]
讀入db10.dbx6.5
資料位狀態
=q[md2] //
賦值給q6.5 -------- a db[mw100].dbx[md2] //
讀入db10.dbx6.5
資料位狀
態=q[mw100]錯誤
沒有q10這個元
件從上面系列舉
例我們至少看出來一點:
單字指標只應用在位址識別符號是非位的情況下。的確,單字指標
前面描述過,它確定的數值是
0-65535
,而對於
byte.bit
這種具體位結構來說,只能用雙字
指標。這是它們的第乙個區別,單字指標的另外乙個限制就是,它只能對tc
dbfc和fb
進行定址,通俗地說,單字指標只可以用來指代這些儲存區域的編號。
相對於單字
指標,雙字指標就沒有這樣的限制,
它不僅可以對位位址進行定址,
還可以對
byte
word
dword
定址,並且沒有區域的限制。不過,有得必有失,在對非位的區域進行定址時,
博途軟體STEP7程式移植步驟
博途軟體stpe7中,具有程式移植功能,使用者可以實現將step7 v5.5中的程式邏輯移植到博途軟體step7中,從而提高了工作效率和正確率。程式移植方法如下 1.在博途軟體step7中,在檢視下開啟的 啟動 中選擇 移植專案 命令 2.在 源路徑 域中指定要移植專案的路徑和檔名,選擇乙個移植格式...
在建DB塊時候應該注意的問題
1.字,雙字等這些佔位大於位元組的位址只能以偶數開始。2.建立陣列的時候 如上圖所示,雖然陣列是字,按照常理來說應該以位址15開始。但實際中是以16開始的,即陣列也只能以偶數開始。該陣列一共128個,到143結束。下乙個byte以144開始正常 這張圖里,陣列一共127個,以16開始,正常應該以14...
DB2 730學習筆記7
使用insert語句在表或檢視中新增新的行。insert into staff values 1212,cerny 20,sales 3,90000.00,30000.00 insert into staff values 1213,cerny 20,sales 3,90000.00,30000.0...