ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

汇编 统计单词出现次数

2022-03-03 13:01:23  阅读:185  来源: 互联网

标签:汇编 JZ ENG JMP MOV 单词 次数 SI CMP


统计单词出现次数

设有一段英文,其字符变量名为 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有