ARRAY類型數(shù)據(jù)
劉玉蓉
發(fā)布于2014-10-10 16:53
78
0
標(biāo)簽:
定義了一個ARRY類型數(shù)據(jù) ARRAY[1..16] ,我要用比較每個字節(jié)大小
如何讀出每個字節(jié)比比較啊?
佳答案
1、定義了一個ARRY類型數(shù)據(jù) ARRAY[1..16] ,我要用比較每個字節(jié)大小
如何讀出每個字節(jié)比較啊?
字節(jié)的讀出:
DBB0,DBB1,…..DBB9.......DB16。
2、比較大小,下面是個排序的例子,即按由大到小的冒泡方法。注意這是雙字長數(shù)據(jù)在比較,供參考:
轉(zhuǎn)帖:
下面就來講解一下如何實(shí)現(xiàn)冒泡排序(冒泡原理,學(xué)過語言的人都應(yīng)該知道,如果不知道,請上網(wǎng)找一個吧,到處都是):
假定十個數(shù)據(jù),放在DB1中,安放順序如下:
DBD0
DBD4
…
DBD36
下面是西門子的程序
OPN DB 1 /////打開DB1這個數(shù)據(jù)塊
L 10 ////裝載10到MB0中,因?yàn)橛惺畟€數(shù)據(jù),要進(jìn)行十次排序,9次也可以的
LL0: T MB 0
L P#0.0 ////裝載地址指針,這是關(guān)鍵,不要搞錯了
LAR1
L 9
LL1: T MB 2 ////內(nèi)部循環(huán),進(jìn)行9次,直到把大值排到后
L DBD [AR1,P#0.0]
L DBD [AR1,P#4.0]
<R
JC LL2 ////比較前后兩個值,如果前面大于后面的,則前后數(shù)據(jù)交換
L DBD [AR1,P#0.0]
T #m_temp
L DBD [AR1,P#4.0]
T DBD [AR1,P#0.0]
L #m_temp
T DBD [AR1,P#4.0]
LL2: +AR1 P#4.0 ////指針自動進(jìn)行加4,因?yàn)槭歉↑c(diǎn)數(shù),所以要跳過4個字節(jié)
L MB 2
LOOP LL1 ///這個指令自動的將A寄存器里的值減1
L MB 0
LOOP LL0