1.求字符串長(zhǎng)度指令
求字符串長(zhǎng)度指令slen返回in參數(shù)指定的字符串的長(zhǎng)度值,out為字節(jié)類(lèi)型。
2.字符串復(fù)制指令
字符串復(fù)制指令scpy將in參數(shù)指定的字符串復(fù)制到out指定的地址區(qū)中。
3.字符串連接指令
字符串連接指令(scat)將in參數(shù)指定的字符串連接到out指定的字符串的后面。
【例】 字符串指令應(yīng)用舉例。
ld i0.0
str_cpy ”hello ”,vb0 //將字符串“hello ”復(fù)制到vbo開(kāi)始的存儲(chǔ)區(qū)
scat ”world”,vb0 //將字符串“world”復(fù)制到vbo開(kāi)始的字符串的后面
strlen vb0,ac0 //求vb0開(kāi)始的字符串的長(zhǎng)度
字符串變量的首字節(jié)是字符串的長(zhǎng)度,vb0開(kāi)始的字符串為“hello”(最后有一個(gè)空格),vb0中是字符串的長(zhǎng)度6。執(zhí)行scat指令后,得到新的字符串為“hello world”,strlen指令求出的字符串的長(zhǎng)度為11。
4.從字符串中復(fù)制子字符串指令
sscpy指令從indx指定的字符編號(hào)開(kāi)始,將in指定的字符串的n個(gè)字符串復(fù)制到out中,out為字節(jié)類(lèi)型。
指令“sscpy vb0,7,5,vb20”將從vb0開(kāi)始的字符串中的第7個(gè)字符開(kāi)始,復(fù)制5個(gè)字符到vb20開(kāi)始的新字符串。
5.字符串搜索指令
sfnd指令在字符串in1中搜索字符串in2,由字節(jié)變量out指定搜索的起始位置。如果在in1中找到了與in2中字符串相匹配的一段字符,則在out中存入這段字符in1中的首個(gè)字符的位置。如果沒(méi)有找到,則out被清零。
6.字符搜索指令
cfnd指令查找在字符串in1中是否有字符串in2中包含的任意字符,字節(jié)變量out指定搜索的起始位置。如果找到了匹配的字符,字符的位置被寫(xiě)入out中。如果沒(méi)有找到,out被清零。
假設(shè)存儲(chǔ)在vbo開(kāi)始的區(qū)域的字符串包含溫度值,存儲(chǔ)在vb20開(kāi)始的區(qū)域中的字符串包含所有的數(shù)字、“+”號(hào)和“-”號(hào),用于識(shí)別字符串中的溫度值。下面的程序在字符串中找到數(shù)字的起始位置,并將其轉(zhuǎn)換為實(shí)數(shù),溫度值存放在vd200中。
ld i0.0
movb 1,ac0 //ac0用作out參數(shù)并指向字符串的首個(gè)字符
cfnd vb0,vb2,ac0 //在vb0字符串中尋找數(shù)字字符
str vb0,ac0,vd200 //將字符串。中的溫度值轉(zhuǎn)換為實(shí)數(shù)