EvoTalk

08 十二月, 2005

lodsb 與 scasd 指令的用法

Posted by: asd In: Code Snippet| asm| 程式設計 ()

  • lodsb 是把 si 指到的字串(單位byte)存到 ax
  • scasd 是把 eax 中的值從[edi]開始的位址按dword比較,同時將edi加4,如果相等,則ZR flag設為1

搭配repnz可用來搜尋字串

mov eax, uMsg
mov edi , offset dwMsgTable
mov ecx, MSG_TABLE_LEN
cld
repnz scasd
.if ZERO? ;如果找到的話

Most Commented Posts



3 Responses to "lodsb 與 scasd 指令的用法"

1 | lenjouee

四月 17th, 2007 at 3:57

Avatar

請教一下!那是否可用這個方法來搜尋陣列中的特定字元或是特定字串?
我嘗試寫了一個,並回傳找到該字元在陣列中的INDEX,但似乎有些困難。
是否可以請您指教呢?

2 | asd

五月 21st, 2007 at 10:13

Avatar

太久沒碰了,忘記了! sorry

3 | xlang

四月 11th, 2008 at 21:38

Avatar

直接用ASM指令的功能来查找确实麻烦,可以自己设计一种算法来更效率的做这种工作

Comment Form