一个简单的汇编编程 题目: 查找匹配字符串

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:02:56
题目四 查找匹配字符串
完成实验2.2并进行扩充。
功能描述:
程序接收用户键入的一个关键字和一个句子。如果句子中不包含关键字则显示“no match!”;如果句子中包含关键字,则显示“ match!”, 并把该字在句子中的位置用十六进制数显示出来。然后从句子中删除该关键字,再把句子显示出来。

data segment
word1 db 'macth!',0ah,0dh,'$'
word2 db 'no match!',0ah,0dh,'$'
buffer1 db ? ;存入关键字
buffer2 db 20h dup(?)
db 0
db 20h duo(?) ;存输入字符,大小可改
data ends
stack1 segment stack
db 200h dup(?)
stack1 ends
code segment
assume cs:code,ss:stack,ds:data
start: mov ax,data
mov ds,ax
mov ah,01h
int 21h
mov buffer1,al ;送关键字
mov ah,0ah
int 21h
mov si,02h
mov cl,buffer2+1 ;置循环值
lp1: mov dl,buffer1
cmp dl,al ;比较
icn si
jz disp1 ;匹配显示match
loop lp1 ;不匹配继续循环查找
mov dx,offset word2 ;显示no match
mov ah,09h
int 21h
disp1: mov dx,offset word1
mov ah ,09h
int 21h
mov ah,4ch
int 21h
code ends
end start