Assembly彙編
Assembly彙編教學
Assembly - 什麼是彙編語言
Assembly 環境設置
Assembly 基本語法
Assembly 內存段
Assembly 寄存器
Assembly 系統調用
Assembly 尋址模式和MOV指令
Assembly 變量聲明
Assembly 常量
Assembly 算術指令
Assembly 邏輯指令
Assembly 條件
Assembly 循環
Assembly 數字
Assembly彙編 字符串處理
Assembly彙編 MOVS指令
Assembly彙編 LODS指令
Assembly彙編 STOS指令
Assembly彙編 CMPS指令
Assembly彙編 SCAS指令
Assembly彙編 數組
Assembly彙編 過程
Assembly彙編 遞歸
Assembly彙編 宏
Assembly彙編 文件管理
Assembly彙編 內存管理
Assembly彙編 SCAS指令
SCAS指令用於搜索一個特定的字符或字符串中的字符集。要搜索的數據項應該是在AL,AX(SCASW)或EAX寄存器(SCASD)的(SCASB)。被搜索的字符串應該是在內存中,並指出由ES:DI(或EDI)寄存器。
看看下面的程序的概念來理解:
section .text global _start ;must be declared for using gcc
_start: ;tell linker entry yiibai
mov ecx,len
mov edi,my_string
mov al , 'e' cld
repne scasb
je found ; when found ; If not not then the following code
mov eax,4 mov ebx,1 mov ecx,msg_notfound
mov edx,len_notfound int 80h jmp exit found: mov eax,4 mov ebx,1 mov ecx,msg_found
mov edx,len_found int 80h exit: mov eax,1 mov ebx,0 int 80h section .data
my_string db 'hello world', 0 len equ $-my_string
msg_found db 'found!', 0xa len_found equ $-msg_found
msg_notfound db 'not found!' len_notfound equ $-msg_notfound
上面的代碼編譯和執行時,它會產生以下結果:
found!