彙編複習(在字串搜尋特定字元,成功顯示其位置,否則顯示"not found")
阿新 • • 發佈:2019-01-07
data segment
str1 db "loveYHigh"
len_str1 equ $-str1
s_fail db "not found$"
s_element db "Y"
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea si,str1
mov al,s_element
mov bx,1h
mov cx,len_str1
search:
cmp [si],al
jz show
inc bx
inc si
loop search
lea dx,s_fail
mov ah,09h
int 21h
jmp quit
show:
add bx,30h
mov dx,bx
mov ah,02h
int 21h
jmp quit
quit:
mov ah,4ch
int 21 h
code ends
end start
str1被搜尋的字串 len_str1是str1的長度(equ是偽指令 相等於賦值 $-xxxx可以計算xxxx的長度)後面兩個分別是沒找到的輸出以及索要尋找的字元
整體思想就是設定次數為len_str1的迴圈然後遍歷str1 然後bx為索引,找到輸出索引找不到索引就加一,如果迴圈結束還沒找到就輸出 not found
其他指令在其他博文裡面有介紹了 這裡不贅述了 再補充一個小知識