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

📄 find.asm

📁 这是汇编实验的程序,自己写的写的不好,希望多多指教,一起学习
💻 ASM
字号:
datasg segment
mess  db   'Enter Sentence:',13,10,'$'
mesd  db   'Enter keyword:',13,10,'$'
;
mess1   db   'no match',13,10,'$'
mess2   db   'match at location:',13,10,'$'
mess3   db   'H of the sentence.',13,10,'$'
;
wordssin  label  byte
maxd      db   10
actd      db    ?
wordss   db   3 dup(?)
sentencein  label  byte
maxs      db  25
acts      db   ?
sentence  db  3 dup(?)
datasg ends
;**********************************************************
prognam segment
;----------------------------------------------------------
main    proc   far
        assume  cs:prognam,ds:datasg,es:datasg
start:
    push ds
    sub  ax,ax
    push  ax
    mov  ax,datasg
    mov  ds,ax
    mov  es,ax

    lea dx,mesd
    mov ah,09h
    int 21h

    lea dx,wordssin
    mov ah,0ah
    int 21h

    mov dl,0ah
    mov ah,02
    int 21h

    mov dl,0dh
    mov ah,02
    int 21h

    lea dx,mess
    mov ah,09h
    int 21h

    lea dx,sentencein
    mov ah,0ah
    int 21h

    mov dl,0ah
    mov ah,02h
    int 21h

    mov dl,0dh
    mov ah,02h
    int 21h
opp:
    mov al,acts
    sub al,actd
    add al,1
    cbw
    lea bx,sentence
next:
     lea si,wordss
      mov cl,actd
      mov dx,ax

      mov al,cl
      cbw
      mov cx,ax
      mov ax,dx

      mov di,bx
      repe  cmpsb
      jz putstring
      add bx,1
      dec ax
      cmp ax,0
      ja  next

      lea dx,mess1
      mov ah,09h
      int 21h

      lea dx,mess
      mov ah,09h
      int 21h

      lea dx,sentencein
      mov ah,0ah
      int 21h
      jmp opp
putstring:
       lea dx,mess2
       mov ah,09h
       int 21h

       lea ax,sentence
       sub bx,ax                   
       add bx,1
       mov ch,04h
rotate:
       mov cl,04h
       rol bx,cl
       mov al,bl
       and al,0fh
       add al,30h
       cmp al,39h
       jle printit
       add al,07h
       jmp printit
printit:
        mov dl,al
        mov ah,02h
        int 21h
        dec ch
        cmp ch,0
        jnz rotate

       lea dx,mess3
       mov ah,09h
       int 21h
       jmp exit
exit:
       ret
main   endp
;-------------------------------------------------
prognam  ends
;*************************************************
end start

⌨️ 快捷键说明

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