📄 判断子串.asm
字号:
data segment
Msg1 db "please input a string:",'$'
String db 100,0,100 dup(?)
Msg2 db 0ah,0dh,"Please input a sub string:$"
Srcstr db 100,0,100 dup(?)
Msg3 db 0ah,0dh,"Find:"
Result dw ?,'$'
data ends
stack segment para stack
db 20h dup(0)
stack ends
code segment
assume cs:code,ss:stack,ds:data,es:data
start:
mov ax,data
mov ds,ax
mov es,ax
lea dx,Msg1
mov ah,09h
int 21h
lea dx,String
mov ah,0ah
int 21h
xor bx,bx
mov bl,String+1
lea dx,Msg2
mov ah,09h
int 21h
lea dx,Srcstr
mov ah,0ah
int 21h
lea si,string+2
mov ax,si
lop:
lea di,srcstr+2
xor cx,cx
mov cl,srcstr+1
cld
repz cmpsb
jz mat
inc ax
mov si,ax
dec bx
jnz lop
mov result,'N'
jmp exit
mat:
mov result,'Y'
Exit:
lea dx,Msg3
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -