簡單應用程式的設計 重複字首

2022-04-06 17:37:49 字數 1534 閱讀 9998

重複字首

由於串操作指令只能每次對字串的乙個字元進行處理,所以使用了乙個迴圈,以便完成對整個字串的處理,為了進一步提高效率,8086和8088還提供了重複指令字首,重複指令字首可以載入串操作指令指令之前,已達到重複執行其後串操作指令的目的

重複字首rep

rep用作為乙個串操作指令的字首,它重複其後面的串操作指令動作,每一次重複都先判斷cx是否為0,如果為0 就結束重複,否則cx的值就減1,重複其後面的串操作指令,所以cx等於0 時,就不執行其後面的字元操作指令

重複字首rep主要用在傳送指令movs和stos之前,值得指出的是rep不用在lodsb和lodsw指令之前

重複操作指令repz、repe

repz與repe是乙個字首的兩個助記符,下面的介紹repz為代表

repz用作乙個串操作指令的字首,他重複其後的串操作指令動作,每重複一次,cx的值減少1,重複直到cx為0或者串操作指令使零標誌zf為0,重複結果條件的檢查實在重複結果之前進行的

子程式strcmp

功能比較兩個字串是否相同

es:di =字串2首位址的段值的偏移

strcmp proc

cldpush di

xor al,al;先測量乙個字串的長度

mov cx,0ffffh

next:scansb

jnz next

not cx

pop di

repz cmpsb

mov al,[si-1

]mov bl,es:[di-1

]xor ah,ah

mov bh,ah

sub ax,bx

retstrcmp endp

重複字首repnz、repne

repz用作乙個串操作指令的字首,他重複其後的串操作指令動作,每重複一次,cx的值減少1,重複直到cx為0或者串操作指令使零標誌zf為1,重複結果條件的檢查實在重複結果之前進行的

;子程式名稱 strchr

;功能 判斷字元是否屬於字串

;strchr proc

push bx

push si

cldmov bl,al

test si,

1jz strchr1

lodsb

cmp al,bl

jz strchr3

and al,al

jz strchr2

strchr1:lodsw

cmp al,bl

jz srtchr4

and al,al

jz strchr2

cmp ah,bl

jz strchr3

and ah,ah

jnz strchr1

strchr2:stc

jmp short strchr5

strchr3:inc si

strchr3:lea ax,[si-2

]strchr5:pop si

pop bx

retstrchr endp

應用程式許可權設計

我們在開發系統的時候,經常會遇到系統需要許可權控制,而許可權的控制程度不同有不同的設計方案。1.基於角色的許可權設計 這種方案是最常見也是比較簡單的方案,不過通常有這種設計已經夠了,所以微軟就設計出這種方案的通用做法,這種方案對於每乙個操作不做控制,只是在程式中根據角色對是否具有操作的許可權進行控制...

應用程式許可權設計

我們在開發系統的時候,經常會遇到系統需要許可權控制,而許可權的控制程度不同有不同的設計方案。1.基於角色的許可權設計 這種方案是最常見也是比較簡單的方案,不過通常有這種設計已經夠了,所以微軟就設計出這種方案的通用做法,這種方案對於每乙個操作不做控制,只是在程式中根據角色對是否具有操作的許可權進行控制...

應用程式許可權設計

我們在開發系統的時候,經常會遇到系統需要許可權控制,而許可權的控制程度不同有不同的設計方案。1.基於角色的許可權設計 這種方案是最常見也是比較簡單的方案,不過通常有這種設計已經夠了,所以微軟就設計出這種方案的通用做法,這種方案對於每乙個操作不做控制,只是在程式中根據角色對是否具有操作的許可權進行控制...