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 21h
code ends
end start
str1被搜索的字符串 len_str1是str1的长度(equ是伪指令 相等于赋值 $-xxxx可以计算xxxx的长度)后面两个分别是没找到的输出以及索要寻找的字符
整体思想就是设置次数为len_str1的循环然后遍历str1 然后bx为索引,找到输出索引找不到索引就加一,如果循环结束还没找到就输出 not found
其他指令在其他博文里面有介绍了 这里不赘述了 再补充一个小知识