标签:汇编 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、编译运行
2、T=0 2 加载数据段
3、D0查看数据段
与我们预设的字符段相同
4、G=0 运行并查看运行结果,与我们设想的相同
5、t单步执行查看过程
发现其在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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。