我正在嘗試編寫比較2個字符串的代碼。 假設string1被SI引用,string2被DI引用,並且每個字符串的長度都是50.這是正確的程序集嗎?
這是正確的嗎?
Mov SI,2000H
Mov DI,3000H
Mov CX,50H
CLD
REPNE CMPSW
我正在嘗試編寫比較2個字符串的代碼。 假設string1被SI引用,string2被DI引用,並且每個字符串的長度都是50.這是正確的程序集嗎?
這是正確的嗎?
Mov SI,2000H
Mov DI,3000H
Mov CX,50H
CLD
REPNE CMPSW
一些問題:
請注意放入CX的方式:如果您確定字符串的長度總是2的倍數,CMPSW會更快。你只需要調整內容CX
你說REPNE是錯誤的?如果是,那麼爲什麼? – Max 2011-04-29 15:53:16
@Max:REPNE =重複,如果不相等,REPE =重複,如果相等。您希望繼續比較SI和DI當前指向的兩個字節是否相等,因此REPE。 – 2011-04-29 16:46:10
我寫了REPNE CMPSW 爲什麼你做CMPSWenter ??? !!!!! – Max 2011-04-29 15:50:30
我剛剛糾正它。但檢查編輯歷史記錄,你會發現你最初編寫了CMPSWenter。 – fvu 2011-04-29 15:53:06