cmp用于16位數(shù)據(jù)比較,比較的數(shù)據(jù)范圍是-32768到+32767,比較數(shù)據(jù)類型可以是常熟k,h等,可以是數(shù)據(jù)寄存器d,也可以是計(jì)數(shù)器c,可以是時(shí)間繼電器t,還可以是連續(xù)的位址(如k1x0,k2y0,k3m0,k2s0等)。
指令用法如下:
cmpd0d2m0
該指令為比較指令,將比較的結(jié)果<,=,>三種結(jié)果分別告知給m0,m1,m2。
如果d0>d2,m0=1
如果d0=d2,m1=1
如果d0<d2,m2=1
所以使用這個(gè)指令會(huì)連續(xù)占用以m0為首的三個(gè)連續(xù)的位地址。
另外,若比較數(shù)據(jù)范圍大于65535,請(qǐng)使用dcmp,這個(gè)是雙字比較指令,用法和cmp一樣,只不過比較的數(shù)據(jù)都是雙字32位數(shù)據(jù),所以使用時(shí)不要出現(xiàn)
dcmpd0d1m0
這種情況是不對(duì)的,因?yàn)楸容^數(shù)據(jù)d0已經(jīng)占用了d1和d0,所以這樣寫是錯(cuò)誤的。