汇编语言编程:从FIRST开始的100个单元中存放着一个字符串,结束符为$。统计该字符串中字母‘A’的个数
展开全部
ATA SEGMENT
NUMBER DB ?;存放统计数据,在程序退出以前可以在此看到统计数据,若对程序才算对
STR1 DB 'ASDAASZXCFGRSAAXADRRAT$';可以自己随便定义,注意以$结尾
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA;给数据段赋值
MOV DS,AX
LEA SI,STR1;字符串首地址
MOV BL,0;存放统计个数的寄存器赋初值
LOOP1:
MOV CL,[SI];取数据
INC SI
CMP CL,'$';看是否是结尾
JE EXIT ;是,退出
CMP CL,'A' ;不是结尾,比较是否是‘A’
JNE NEXT ;不是'A'比较下一个
INC BL ;是,统计数加1
next: JMP LOOP1
EXIT:MOV NUMBER,BL;将统计数送往存储区
MOV AH,4CH
INT 21H
CODE ENDS
END START
NUMBER DB ?;存放统计数据,在程序退出以前可以在此看到统计数据,若对程序才算对
STR1 DB 'ASDAASZXCFGRSAAXADRRAT$';可以自己随便定义,注意以$结尾
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA;给数据段赋值
MOV DS,AX
LEA SI,STR1;字符串首地址
MOV BL,0;存放统计个数的寄存器赋初值
LOOP1:
MOV CL,[SI];取数据
INC SI
CMP CL,'$';看是否是结尾
JE EXIT ;是,退出
CMP CL,'A' ;不是结尾,比较是否是‘A’
JNE NEXT ;不是'A'比较下一个
INC BL ;是,统计数加1
next: JMP LOOP1
EXIT:MOV NUMBER,BL;将统计数送往存储区
MOV AH,4CH
INT 21H
CODE ENDS
END START
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询