当前位置:编程学习 > 汇编语言 >>

汇编语言程序设计实验-----子程序设计

已知一个字符串存放在TEXT开始的连续单元中,另有一个子字符串存放在STRING开始的连续单元中,两个字符串均以$结束.编制程序,统计STRING开始的字符串在TEXT开始的字符串中出现的次数,并将结果存入COUNT字单元.请给出程序清单.
答案:data segment
string	db	'abc$'
text	db	'hiaabckabiiabcyyfabcds$'
output	db	'count=$'
count	db	3
	db	?
	db	3 dup(?)
data	ends
code	segment
	assume	cs:code,ds:data
start:	mov	ax,data
	mov	ds,ax
	mov	bx,offset	count
	mov	cl,0
	mov	si,offset	string
	mov	di,offset	text		
	mov	al,[si]	
l0:	mov	ah,[di]
	cmp	ah,'$'
	jz	l4
	cmp	ah,al
	jz	l1
	inc	di
	jmp	l0
l1:	inc	si
	inc	di
	mov	al,[si]
	mov	ah,[di]
	cmp	al,'$'
	jz	l3
	cmp	ah,'$'
	jz	l4
	cmp	ah,al
	jnz	l5
	
	jmp	l1
l3:	inc	cl
l5:	mov	si,offset	string
	mov	al,[si]
	
	jmp	l0
l4:	mov 	ah,09h
	mov 	dx,offset output
	int 	21h	
	mov	dl,0dh				;回车
        mov	ah,02h
	int	21h
	mov	dl,0ah				;换行
        mov	ah,02h
	int	21h 
	add	cl,30h
	mov	[bx],cl
	inc	bx
	mov 	ah,'$'
	mov 	[bx],ah
	mov 	ah,09h
	mov 	dx,offset count
	int 	21h
	mov 	ah,4ch
	int 	21h	
code	ends
	end	start
微机作业还是自己动手比较好

上一个:简单汇编
下一个:请问汇编语言中JB(JNAE) 怎么用,说是小于转走,那么是什么小于什么呢?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,