⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 查找匹配字符串.txt

📁 这是一个汇编程序.用于查询字符串.希望有同好能阅读并优化这个程序.
💻 TXT
字号:
datarea segment
string1 db "Enter keyword:$"
string2 db "Enter sentence:$"
string3 db "Match at location:$"
string4 db "No match.",13,10,"$"
string5 db "H of the sentence.$"
keyword db 50d,?,51d dup(?)
sentence db 50d,?,51d dup(?)
datarea ends


code segment
main proc far
assume cs:code,ds:datarea,es:datarea
start:
      push ds
      sub ax,ax
      push ax

      mov ax,datarea
      mov ds,ax
      mov es,ax

      lea dx,string1
      mov ah,09h
      int 21h
      lea dx,keyword
      mov ah,0Ah
      int 21h
      mov ah ,02h
      mov dl,0ah
      int 21h      
      lea dx,string2
      mov ah,09h
      int 21h
      lea dx,sentence
      mov ah,0Ah
      int 21h
      mov ah,02h
      mov dl,0ah
      int 21h
      
      lea  si,keyword+2
      lea  di,sentence+2
      mov  ax,0
      mov  al,[sentence+1]
      mov  ah,[keyword+1]
      cmp  al,ah
      jl   no
      sub  al,ah
      mov  ah,0
      mov  cx,ax
      inc  cx
      
compare:
      push cx
      mov  cx,3
      cld      
      repz cmpsb
      jz   match      
      mov  ax,3
      sub  ax,cx
      sub  si,ax
      mov  ax,2
      sub  ax,cx
      sub  di,ax
      lea  bx,[di]
      pop  cx
      loop compare
no:   lea  dx,string4
      mov  ah,09h
      int  21h
      jmp  exit
match:
      lea  dx,string3
      mov  ah,09h
      int  21h
      sub  bx,word ptr sentence
      inc  bx
      call change
      lea  dx,string5
      mov  ah,09h
      int  21h
exit:
      ret
main endp


change proc near
      push ax
      push bx
      push cx
      push dx
      mov  ch,4
      mov  cl,4
      rol  bx,cl
      mov  al,bl
rotate:and al,0fh
      add  al,30h
      cmp  al,3ah
      jl   printit
      add  al,7h
printit:
      mov  dl,al
      mov  ah,2
      int  21h
      dec  ch
      jnz  rotate
      pop  dx
      pop  cx
      pop  bx
      pop  ax
      ret
change endp      
code ends
end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -