汇编程序 分类统计字符串中大小写字母,数字,其他字符个数

定义字符串,不需要键盘输入,统计结果依次保存到X1,X2,X3,X4中

;分类统计字符串中大小写字母,数字,其他字符个数
;定义字符串,不需要键盘输入,统计结果依次保存到X1,X2,X3,X4中
data segment
buf db 'asdg123456,^&%$#$'
X1 db 0
X2 db 0
X3 db 0
X4 db 0
data ends
code segment
assume cs:code, ds:data
start:

mov ax,data
mov ds,ax

lea bx,buf ;定位首个字符
mov cx,X1-buf ;计算字符个数

lop:
mov al,[bx]

cmp al,'a'
jb next1
cmp al,'z'
ja next1
inc X1 ;小于a大于z则跳到下一项,否则X1+1
jmp exit

next1:
cmp al,'A'
jb next2
cmp al,'Z'
ja next2
inc X2 ;小于A大于Z则跳到下一项,否则X2+1
jmp exit

next2:
cmp al,'0'
jb next3
cmp al,'9'
ja next3
inc X3 ;小于0大于9则跳到下一项,否则X3+1
jmp exit

next3:
inc X4 ;剩下就是其它字符了,X4+1

exit:
inc bx
loop lop ;循环

mov ax,4c00h
int 21h

code ends
end start
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-28
;分类统计字符串中大小写字母,数字,其他字符个数
;定义字符串,不需要键盘输入,统计结果依次保存到X1,X2,X3,X4中
data segment
buf db 'asdg123456,^&%$#$'
X1 db 0
X2 db 0
X3 db 0
X4 db 0
data ends
code segment
assume cs:code, ds:data
start:

mov ax,data
mov ds,ax

lea bx,buf ;定位首个字符
mov cx,X1-buf ;计算字符个数

lop:
mov al,[bx]

cmp al,'a'
jb next1
cmp al,'z'
ja next1
inc X1 ;小于a大于z则跳到下一项,否则X1+1
jmp exit

next1:
cmp al,'A'
jb next2
cmp al,'Z'
ja next2
inc X2 ;小于A大于Z则跳到下一项,否则X2+1
jmp exit

next2:
cmp al,'0'
jb next3
cmp al,'9'
ja next3
inc X3 ;小于0大于9则跳到下一项,否则X3+1
jmp exit

next3:
inc X4 ;剩下就是其它字符了,X4+1

exit:
inc bx
loop lop ;循环

mov ax,4c00h
int 21h

code ends
end start

...统计出其中大小写英文字母、空格、数字和其他字符的个数
} printf("字母有%d个,数字有%d个,空格有%d个,其他有%d个",letters,digits,spaces,others);return 0;}

...字母(分大小写)及空格、数字、回车和其他字符,咋编?
程序代码:include <stdio.h>#include <string.h>#define MAX 10000void input(char source[]);void output(int sign[], int n);void main(){char source[MAX];int sign[256];int i;input(source);for(i=0; i<256; i++){sign[i] = 0;}\/\/统计字符串中每个字符的数量for(i=0; i...

(vb程序设计)求代码:分类统计。文本框中输入一串字符,统计各字母出现的...
Private Sub Command1_Click()List1.Clear Dim a(97 To 123) As Byte, i As Integer, t As String For i = 1 To Len(Text1.Text)t = Asc(LCase(Mid(Text1.Text, i, 1)))Select Case t Case Is >= 97, Is <= 122 a(t) = a(t) + 1 Case Else a(123) = a(123) + ...

下面C语言中,str[i][j]是什么意思?本人是超级菜鸟
这个程序是实现了一个对你所输入的一组字符串分别统计大小写字母、数字、空格以及其他字符的个数的功能。str[i][j]是一个i行j列的数组,当i、j赋予具体值的话就是第i行j列的数据元素。程序中0<=i<3,0<=j<80,也就是一个能存储3行80列数据的数组。也就是说一个240位的字符串用3行80列...

通过键盘上如何分别实现大小字母的输出?
在键盘上首先切换到英文模式,在英文键盘上,最左边处有个向上的粗箭头,按这个就可实现大小字母切换输入。

从键盘输入一个字符串,输出小写字母并统计个数用C语言怎么写
; 题目名称:分类统计字符 ; 题目来源:; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。Code Segment Assume CS:Code,DS:Code ; --- ; 功能:显示指定地址(Str_Addr)的字符串 ; 入口:; Str_Addr=字符串地址(要求在数据段); 用法: Output Str_Addr ; 用法举例:...

求计算机二级考试真题
请补充函数fun(),该函数的功能是:分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。 例如,输入aeiouAOUpqrt,结果为A:2 E:1 I:1 O:2 U:2 other:4。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序:...

高手帮帮忙啊~excel 求和的问题 在一个表格对另一个表格满足条件的某个...
字符合并 COUNTIF 统计某个单元格区域中符合指定条件的单元格数目。 条件统计 DATE 给出指定数值的日期。 显示日期 DATEDIF 计算返回两个日期参数的差值。 计算天数 DAY 计算参数中指定日期或引用单元格中的日期天数。 计算天数 DCOUNT 返回数据库或列表的列中满足指定条件并且包含数字的单元格数目。 条件统计 ...

EXCEL中如何实现一个整数(如27)按5的倍数去分,但余数不得小于2.5的函数...
⑦单元格内容合并CONCTENATE()将若干文字串合并到一个字符串中⑧RIGHT(A1,4)提取字符串最右边的若干字符,长度为4位⑨LEFT()返回字符串最左边的若干字符⑩MIDB()自文字的指定位置开始向右提取指定长度的字符串11、重复函数REPT()单元格重量出现的次数。12、NOW()返回电脑内部的系统日期与时间13、MONTH()将序列数...

求几个常用的 EXCEL 函数 例如 求平均 MAX 和 MIN
参数:Text为文本或对包含文本的单元格(或引用)。如果文本中不包含任何半角英文字母,则文本不会更改。实例:如果A1=excel,则公式“=JIS(a1)”返回EXCEL。12.LEFT或LEFTB 用途:根据指定的字符数返回文本串中的第一个或前几个字符。此函数用于双字节字符。语法:LEFT(text,num_chars)或LEFTB(text,...

相似回答