?? find.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 + -