(2)移位指令
移位指令可將寄存器或存儲(chǔ)單元的8位或16位的內(nèi)容向左或向右移動(dòng)1位或多位。
、賁AL/SHL
格式: SAL/SHL OPRD m
功能:SAL(算述左移)和SHL(邏輯左移)指令將操作數(shù)OPRD左移m位,移位后空出的位填零。操作數(shù)可以是寄存器、存儲(chǔ)器。m是移位次數(shù),為1時(shí)取立即數(shù),大于1時(shí)先將m賦予CL寄存器。
、赟AR
格式: SAR OPRD m
功能:算術(shù)右移指令。將指定操作數(shù)右移m位,最低位進(jìn)入標(biāo)志位CF,其他位依次右移,但符號(hào)位(最高位)保持不變。m的規(guī)定與SHL相同。③SHR
格式: SHR OPRD m
功能:邏輯右移指令。與SAR類擬,最低位進(jìn)入標(biāo)志位CF,但移位后空位的最高位填0。
(3)循環(huán)移位指令
8086/8088有四條循環(huán)移位指令,它們是:
●ROL OPRD M ;左循環(huán)移位
●ROR OPRD M ;右循環(huán)移位
●RCL OPRD M ;帶進(jìn)位的左循環(huán)移位
●RCR OPRD M ;帶進(jìn)位的右循環(huán)移位
4.串操作指令
串可以是字節(jié)串(一組字節(jié))或字串(一組字)。串指令有兩類,每類有5種。一類是串操作命令,一類是控制操作重復(fù)執(zhí)行的前綴命令。串操作時(shí),下列寄存器及標(biāo)志起著特定的作用,程序應(yīng)根據(jù)操作的具體要求先賦予初值。SI寄存器 源串變址用DI寄存器 目的串變址用CX寄存器 重復(fù)次數(shù)寄存器AL/AX 掃描值(關(guān)鍵字)FLAGS中標(biāo)志位:
DF 0表示重復(fù)操作中DI、SI應(yīng)自動(dòng)增量,1表示自動(dòng)減量。 ZF 用于控制掃描或比較操作結(jié)果。
(1)基本串操作命令
、費(fèi)OVS
格式: MOVS OPRD1,OPRD2
功能:將由SI作為偏移地址的源串中的一個(gè)字節(jié)或字,傳送到由DI作為偏移地址的目的串,且相應(yīng)修改偏移地址,以指向串中下一個(gè)元素。傳送完一個(gè)字節(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)志位上。同時(shí)修改源、目的串的偏移地址,以指向串中的下一個(gè)元素。標(biāo)志位AF、CF、OF、PF、SF和ZF反映兩串元素之間的關(guān)系。
、蹸MPSB/CMPSW
字節(jié)串/字串比較,無操作數(shù)。
⑤LODS OPRD
讀出字節(jié)串或字串。從由SI為偏移地址的源串中讀出一個(gè)字節(jié)或一個(gè)字送AL或AX,同時(shí)修改偏移地址,指向串的下一個(gè)元素。此指令對標(biāo)志位無影響。
⑥LODSB/LODSW
字節(jié)或字操作,無操作數(shù)。
、逽CAS
格式: SCAS OPRD
功能:搜索(掃描)串元素命令。從AL(字節(jié)操作)或AX的內(nèi)容中減去由DI作為偏移地址的目標(biāo)串元素。結(jié)果不改變累加器的值,只改變標(biāo)志位。利用SCAS指令可以進(jìn)行搜索,此時(shí)將搜索關(guān)鍵字放在AL(字節(jié))或AX(字)中,用于查找字符串中有無此關(guān)鍵字,記下查找次數(shù)。
、郤CASB/SCASW
搜索串中字節(jié)或字元素,無操作數(shù)。
、酳TOS
格式:STOS OPRD
功能:存儲(chǔ)字節(jié)或字串的指令。將AL(字節(jié))或AX(字)中內(nèi)容,存儲(chǔ)到以DI為偏移地址的目的串中,同時(shí)修改偏移地址,指向串的下一個(gè)元素。
⑩STOSB/STOSW
存儲(chǔ)字節(jié)串/字串,無操作數(shù)。
(2)重復(fù)前綴
、賀EP
可作為串傳送、串比較、串存儲(chǔ)、串搜索指令的前綴。最常用的是串傳送指令,使用時(shí)數(shù)據(jù)長度必須放在CX中。
②REPE/REPZ
用于串傳送、串搜索指令的前綴,使緊隨其后的指令重復(fù)執(zhí)行,直到CX=0或ZF=0為止。
、跼EPNE/REPNZ
用于串比較或串搜索指令的前綴,使其重復(fù)執(zhí)行直到XC=1或ZF=1為止。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試三級(jí)PC技術(shù)常見系統(tǒng)命令行北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |