ZKX's LAB

用汇编语言编写程序 :统计一个字符串中某个字母的个数。 求高手啊!!急急急!!!!!! 汇编原理统计字符个数

2021-04-06知识2

用汇编语言统计字符串中每个字符的个数 要简单详细 带解析 code segmentassume cs:codeorg 100hstart:jmp beginstra db 254strn db?strr db 254 dup?arr db 254 dup?arrn db 254 dup(0)begin:push cspop dspush cspop eslea dx,stramov ah,10int 21hlea si,strr;字符串首地址置于silea di,arr;字符串中字符存于的备用首地址置于dimov cl,strn;输入的字符数mov ch,0;mov dx,0;不重复的字符数cld;清方向标志lodsb;装入第一个字符inc byte ptr[di+254];第一个字符计数器增1stosb;存入第1个字符inc dx;dx由0变1dec cx;输入的字符数减11:push cx;保存外循环的cxmov cx,dx;将已统计出的不重复的字符数置于计数器cxlodsb;装入下一个输入的字符到allea di,arr;置不重复的字符保存的首地址repne scasb;只要al与在arr中已保存的不相等则循环扫描je@2;若找到有相同的 转@2lea di,arr;没有找到则是新出现的字符,取arr首地址add di,dx;加上dx后 di指向紧邻的空白处inc byte ptr[di+254];将对应的计数器增1stosb;将新字符保存到空白处inc dx;不重复字符数增1jmp@3;转@32:inc cx;cx指向找到的相同的元素的上一个元素处mov ax,dx;已有元素总数置于axsub ax,cx;计算找到的元素在arr中的相对位置lea 。

用汇编语言 统计字符串中数字个数,只要统计数字的,简单点的 CODE SEGMENTASSUME CS:CODESTR1 DB 'degggdh762836kjwhfd8790237hgfhgsjdhgf65'N DW$-STR1X DW 0START:以下让数据段、附加数据段 与 代码段 同段PUSH CSPOP DSPUSH CSPOP ES以下统计 数字个数MOV X,0LEA SI,STR1MOV CX,NCLD1:LODSBCMP AL,'0'JB@2CMP AL,'9'JA@2INC X2:LOOP@1以下以10进制形式输出MOV AX,XMOV BL,10DIV BLPUSH AXMOV DL,ALOR DL,30HMOV AH,2INT 21HPOP AXMOV DL,AHOR DL,30HMOV AH,2INT 21H以下退出程序,返回dosMOV AH,4CHINT 21HCODE ENDSEND START

计算机汇编:从键盘输入一个字符串,统计指定字母的个数。例如,输入 你这个问题知,你的汇编是在什么机器上的,还有,是在PC系统上,还是裸机上。BIOS可用不?这些问题不道一样方法也就不一样,最好是在某个系统上。直接用库回,如果BIOS可用的话也可以的。如果直答接的话。代码很长哦。

#汇编原理统计字符个数

随机阅读

qrcode
访问手机版