note 貼一些常用的串指令,方便查閱

2022-03-22 09:25:16 字數 2960 閱讀 7624

movs

lods

cld

cmps

stos

rep

std

scas

movs ( move string)串傳送指令

movb//

位元組串傳送df=0, si = si + 1 , di = di + 1 ;df = 1, si = si - 1 , di = di - 1

movw//

字串傳送    

df=0, si = si + 2 , di = di + 2 ;df = 1, si = si - 2 , di = di - 2

執行操作:[di] = [si] ,將位於ds段的由si所指出的儲存單元的位元組或字傳送到位於es段的由di 所指出的儲存單元,再修改si和di, 從而指向下乙個元素.

在執行該指令之前

,必須預置si和

di的初值,用

std或

cld設定df值

.

movs    dst , src//同上,

不常用,dst

和src

只是用來用型別檢查

,並不允許使用其它定址方式來確定運算元

.1.目的串必須在附加段中,即必須是es:[di]

2.源串允許使用段跨越字首來修飾,但偏移位址必須是[si].

stos (store into string)存入串指令

stos    dst

stosb//

存放位元組串  

( di ) = al

stosw//

存放字串    

( di ) = ax

執行品作:把al或

ax中的內容存放由

di指定的附加段的位元組或字單元中

,並根據

df值修改及資料型別修改

di的內容

.1.

執行該指令之前,必須把要存入的資料預先存入ax或al中,必須預置di的初值.

2.di所指向的儲存單元只能在附加段中,即必須是es:[di]

lods ( load from string )從串取指令

lods    src

lodsb//

從位元組串取    al=(si)

lodsw//

從字串取      ax= (si±1) (si)

執行操作:把由si指定的資料段中位元組或字單元的內容送入al或ax中,並根據df值及資料型別修改si的內容.

1.在執行該指令之前,要取的資料必須在儲存器中預先定義(用db或dw),必須預置si的初值.

2.源串允許使用段超越字首來改變資料儲存的段區.

rep (repeat)重複操作字首

rep    string primitive

//其中:string primitive可為movs,stos或lods指令

執行操作:使rep字首後的串指令重複執行,每執行一次cx=cx-1,直至cx=0時退出rep.

方向標誌設定

cld (clear direction flag) 清除方向標誌指令

cld

執行操作:令df=0, 其後[si],[di]執行增量操作

std (set direction flag) 設定方向標誌指令

std

執行操作:令df=1, 其後[si],[di]執行減量操作

cmps (compare string)串比較指令

cmps       src ,  dst

cmpsb//

位元組串比較   (si)-(di)

cmpsw//

字串比較     (si+1)(si) - (di+1)(di)

執行操作:把由si指向的資料段中的乙個位元組或字與由di指向的附加段中的乙個位元組或字相減,不保留結果,只根據結果置標誌位.

scas (scan string )串掃瞄指令

scas        dst

scasb

scasw

執行操作:把ax或al的內容與由di指向的在附加段中的乙個位元組或字相減,不保留結果,根據結果置標誌位.

Vim的一些常用方便命令

一 撤銷和重做 按 u 可以撤銷,有時候會不小心撤銷過頭,一直不知道重做的快捷鍵,很頭大,其實按 ctrl r 即可 二 單詞移動和刪除 按 w b 可以按照單詞前後移動,同理,dw db 是前後刪除單詞 de不會刪除單詞後的空格,dw會 三 同時編輯多個檔案 vsp,開啟乙個垂直的新編輯介面 sp...

一些git常用指令

cd e androidsss 具體進入到那個碟符 git init 生成.git資料夾 在當前目錄新建乙個git 庫 git status 檢視狀態裡面有幾個檔案 git commit am 提交到遠端伺服器 加備註 遇到的問題 git config global user.email 18513...

llvm clang esl 一些常用指令

1 clang emit llvm c test.c 2 llvm link x.bc y.bc z.bc o final.bc 3 llvm dis x.bc im x.bc 多級指標 stl 類 lli hw.ll gdb home zhgu workspace llvm 6.0.0 build...