具体实验代码,search.asm如下:
;数据段
;**********************************************
datarea segment
string1 db "Enterkeyword:$"
string2 db "Entersentence:$"
string3 db "Matchat location:$"
string4 db "Nomatch!",13,10,"$"
string5 db "Hof the sentence.$"
keyword db 50D,?,50DDUP(?) ;0A功能调用:最大输入50个字符,实际输入个数,存放的字符
sentence db 50D,?,50DDUP(?)
datarea ends
;**********************************************
;代码段
;**********************************************
prognam segment
;----------------------------------------------
main procfar
assume ds:datarea,cs:prognam,es:datarea
start:
push ds
sub ax,ax
push ax
mov ax,datarea
mov ds,ax
mov es,ax
lea dx,string1 ;显示字符串1
mov ah,09h
int 21h
lea dx,keyword ;输入关键字
mov

本文详细介绍了汇编实验的过程,主要内容包括查找匹配字符串的算法实现。难点在于将匹配到的16位二进制关键字转换为4位16进制数,并在句子中正确查找关键字。实验中,通过循环移位和加法操作实现了二进制到16进制的转换。此外,还讨论了比较字符串和恢复指针的逻辑,以及避免错误地显示未匹配成功时的地址。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



