4.串操作指令
串可以是字節(jié)串(一組字節(jié))或字串(一組字)。串指令有兩類,每類有5種。一類是串操作命令,一類是控制操作重復(fù)執(zhí)行的前綴命令。串操作時,下列寄存器及標(biāo)志起著特定的作用,程序應(yīng)根據(jù)操作的具體要求先賦予初值。SI寄存器 源串變址用DI寄存器 目的串變址用CX寄存器 重復(fù)次數(shù)寄存器AL/AX 掃描值(關(guān)鍵字)FLAGS中標(biāo)志位:
DF 0表示重復(fù)操作中DI、SI應(yīng)自動增量,1表示自動減量。 ZF 用于控制掃描或比較操作結(jié)果。
(1)基本串操作命令
、費(fèi)OVS
格式: MOVS OPRD1,OPRD2
功能:將由SI作為偏移地址的源串中的一個字節(jié)或字,傳送到由DI作為偏移地址的目的串,且相應(yīng)修改偏移地址,以指向串中下一個元素。傳送完一個字節(jié)或字后,則依據(jù)控制標(biāo)志位DF和源、目的操作數(shù)的屬性,修改偏移地址。在使用MOVS指令之前,必須將源、目的操作數(shù)的偏移地址分別送SI、DI,并設(shè)置DF。
、贛OVSB/MOVSW
字節(jié)串/字串傳送命令,不帶操作數(shù),地址修改MOVSB命令以±1形式修改偏移地址,MOVSW以±2形式修改偏移地址。其余與MOVS相同。
、跜MPS
格式: CMPS OPRD1,OPRD2
功能:字節(jié)串或字串比較。從由SI作為偏移地址的源串中減去由DI為偏移地址的目標(biāo)串(字或字節(jié)),減的結(jié)果不送至任何操作數(shù),僅反映到標(biāo)志位上。同時修改源、目的串的偏移地址,以指向串中的下一個元素。標(biāo)志位AF、CF、OF、PF、SF和ZF反映兩串元素之間的關(guān)系。
④CMPSB/CMPSW
字節(jié)串/字串比較,無操作數(shù)。
、軱ODS OPRD
讀出字節(jié)串或字串。從由SI為偏移地址的源串中讀出一個字節(jié)或一個字送AL或AX,同時修改偏移地址,指向串的下一個元素。此指令對標(biāo)志位無影響。
、轑ODSB/LODSW
字節(jié)或字操作,無操作數(shù)。
、逽CAS
格式: SCAS OPRD
功能:搜索(掃描)串元素命令。從AL(字節(jié)操作)或AX的內(nèi)容中減去由DI作為偏移地址的目標(biāo)串元素。結(jié)果不改變累加器的值,只改變標(biāo)志位。利用SCAS指令可以進(jìn)行搜索,此時將搜索關(guān)鍵字放在AL(字節(jié))或AX(字)中,用于查找字符串中有無此關(guān)鍵字,記下查找次數(shù)。
、郤CASB/SCASW
搜索串中字節(jié)或字元素,無操作數(shù)。
、酳TOS
格式:STOS OPRD
功能:存儲字節(jié)或字串的指令。將AL(字節(jié))或AX(字)中內(nèi)容,存儲到以DI為偏移地址的目的串中,同時修改偏移地址,指向串的下一個元素。
、釹TOSB/STOSW
存儲字節(jié)串/字串,無操作數(shù)。
(2)重復(fù)前綴
①REP
可作為串傳送、串比較、串存儲、串搜索指令的前綴。最常用的是串傳送指令,使用時數(shù)據(jù)長度必須放在CX中。
②REPE/REPZ
用于串傳送、串搜索指令的前綴,使緊隨其后的指令重復(fù)執(zhí)行,直到CX=0或ZF=0為止。
、跼EPNE/REPNZ
用于串比較或串搜索指令的前綴,使其重復(fù)執(zhí)行直到XC=1或ZF=1為止。
相關(guān)推薦:
2014年計(jì)算機(jī)等級考試過關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |