编程语言
首页 > 编程语言> > 汇编 统计单词出现次数

汇编 统计单词出现次数

作者:互联网

统计单词出现次数

设有一段英文,其字符变量名为 ENG,并以$字符结束(如下定义)。程序检查单词 SUN 在文中出现的次数,并以格式“SUN echo times:”显示出次数。

DATA SEGMENT
ENG DB "aSUNbsunxysunbf$"
COUNT DB 0
STR DB "SUN'S NUMBER IS :$ "
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
	MOV DS,AX
	MOV SI,-1
NEXT: INC SI
	CMP ENG[SI],'S'
	JZ L1
	JMP L
L:  CMP ENG[SI],'$'
	JZ EXIT
	JMP NEXT
L1: INC SI
	CMP ENG[SI],'U'
	JZ L2
	JMP L
L2: INC SI
	CMP ENG[SI] ,'N'
	JZ L3
	JMP L
L3: INC COUNT
	JMP NEXT 
EXIT:
	LEA DX,STR
	MOV AH,9
	INT 21H
	MOV DL,COUNT
	MOV DH,0
	ADD DL,30H
	MOV AH,2
	INT 21H
	MOV AH,4CH
	INT 21H
CODE ENDS
	END START

代码仓库:https://github.com/SKPrimin/HomeWork/tree/main/Assembly/NumberofWordsinText

1、编译运行
img

img

2、T=0 2 加载数据段

img

3、D0查看数据段

img

与我们预设的字符段相同

4、G=0 运行并查看运行结果,与我们设想的相同

img

5、t单步执行查看过程

img

发现其在NEXT,L,L1,L2程序段中来回跳转,不符合时跳转顺序为INC->CMP->JZ->JMP。只有当符合条件时才会跳转到L3使COUNT加一

标签:汇编,JZ,ENG,JMP,MOV,单词,次数,SI,CMP
来源: https://www.cnblogs.com/skprimin/p/15959091.html