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

📄 search.asm

📁 IBM_PC汇编语言程序设计实验教程中第2章全部5个实验,smascii,search,count_char,phone,fibonacci.
💻 ASM
字号:
datasg segment 'data'
string1 db 'Enter keyword:','$'
string2 db 'Enter Sentence:','$'
string3 db 'Match at location:','$'
string4 db ' H of the sentence.','$'

mess1 db 'Match.',13,10,'$'
mess2 db 'No match!',13,10,'$'
enter db 13,10,'$'

keyin label byte
max1 db 5
act1 db ?
key db 5 dup(?)

strin label byte
max2 db 30
act2 db ?
str db 30 dup(?)

datasg ends

codesg segment 'code'
assume cs:codesg,ds:datasg,es:datasg

main proc far
push ds
sub ax,ax
push ax
mov ax,datasg
mov ds,ax
mov es,ax

start:
lea dx,string1
mov ah,09
int 21h

lea dx,keyin
mov ah,0ah
int 21h
lea dx,enter
mov ah,09
int 21h


loog1:
lea dx,string2
mov ah,09
int 21h

lea dx,strin
mov ah,0ah
int 21h
lea dx,enter
mov ah,09
int 21h
lea di,str
lea si,key
mov al,act2
mov ah,0
mov bl,act1
mov bh,0

cmp ax,bx
jb disp

sub ax,bx
add ax,1
mov bx,0
loog:
mov cl,act1
mov ch,0
cld
repz cmpsb
jz match
inc bx
lea di,str
add di,bx
lea si,key
dec ax
cmp ax,0
jne loog

jmp short disp
match:
	add bx,1
	lea dx,string3	
	mov ah,09
	int 21h	
	
	call binihex
	
	lea dx,string4
	mov ah,09
	int 21h
	lea dx,enter
	mov ah,09
	int 21h	
	jmp loog1
disp:
	lea dx,mess2
	mov ah,09
	int 21h
	jmp loog1
exit:
mov ah,4ch
int 21h
ret

binihex proc near
mov ch,4
rotate:
mov cl,4
rol bx,cl
mov al,bl
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
ret
binihex endp

main endp
codesg ends
end main

⌨️ 快捷键说明

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