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

📄 findstringlast.asm

📁 汇编语言小程序
💻 ASM
字号:
DATAS SEGMENT
STRING1 DB 80 dup(?)
FLAG1 DB ?
flag db '0'
y     db   'please input the word you wanna find: $'
z     db   'please input the sentence:$' 
X     db   'the word you wanna find has appeared $'
DATAS ENDS

extra segment
STRING2 DB 80 dup(?)
extra ends

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,ES:EXTRA
START:
      push ds
      sub  ax,ax
      push ax
      push es
      sub  ax,ax
      push ax
      
      mov ax,datas
      mov ds,ax
      mov ax,extra
      mov es,ax
      lea bx,string1
      lea di,string2
      mov flag1,0
      
      lea dx,Y
      mov ah,09
      int 21h
     
      cld
next1: mov ah,01h
       int 21h
       cmp al,20h
       je print1
follow1:inc flag1
        mov [bx],al
        inc bx
        jmp next1 
print1: mov dl,0dH
      mov ah,2
      int 21h
      mov dl,0ah
      mov ah,2
      int 21h 
       lea dx,z       
       mov ah,09
       int 21h
next2: mov ah,01h
       int 21h
       cmp al,0dh
       jz compare
       
follow2:
        mov es:[di],al
        inc di
        jmp next2

COMPArE:
    MOV CH,0
    MOV CL,flag1
    LEA SI,STRING1
    LEA DI,ES:STRING2
    REPE CMPSB
    CMP CX,0
    JNZ Incs
    INC FLAG
    JMP INCS
INCS:    
    MOV AL,20H
    REPNZ SCASB
    CMP ES:[DI],'$'
    JZ PRINT
    
     MOV CH,0
    MOV CL,flag1
    LEA SI,STRING1
    REPE CMPSB
    CMP CX,0
    JNZ INCS
    INC FLAG
    JMP INCS
    
PRINT:
      mov dl,0dH
      mov ah,2
      int 21h
      mov dl,0ah
      mov ah,2
      int 21h
      lea dx,X
      mov ah,09
      int 21h
      MOV DL,FLAG
      MOV AH,02H
      INT 21H
    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

⌨️ 快捷键说明

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