
请教汇编语言编程问题
最近老师布置了一个期中考试的题目,琢磨了半天还是不会,请教一下大家,能否帮我解决,先行感谢~~~~题目:有一个数组STRING,其中存放着字符,请统计该字符串中字母字符,...
最近老师布置了一个期中考试的题目,琢磨了半天还是不会,请教一下大家,能否帮我解决,先行感谢~~~~
题目:有一个数组STRING,其中存放着字符,请统计该字符串中字母字符,数字字符和空格字符的个数。
程序格式如下:DATA SEGMENT
∶
DATA ENDS
CODE SEGMENT
:
START:
:
:
CODE ENDS
END STARY 展开
题目:有一个数组STRING,其中存放着字符,请统计该字符串中字母字符,数字字符和空格字符的个数。
程序格式如下:DATA SEGMENT
∶
DATA ENDS
CODE SEGMENT
:
START:
:
:
CODE ENDS
END STARY 展开
1个回答
展开全部
DATA SEGMENT
STRING DB '1.Assemble language is very hard to study.2.You must pay more attention.'
COUNT EQU $-STRING;求串长度
UCCOUNT DB ?;存大写字母个数
LCCOUNT DB ?;存小写字母个数
NCOUNT DB ?;存数字个数
SCOUNT DB ?;存空格个数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA SI,STRING
MOV CX,COUNT
NEXT:
MOV AL,[SI]
CMP AL,20H
JNZ NEXTN
INC SCOUNT
JMP NEXT1
NEXTN:
CMP AL,30H
JB NEXT1
CMP AL,39H
JA NEXTLC
INC NCOUNT
JMP NEXT1
NEXTLC:
CMP AL,41H
JB NEXT1
CMP AL,5AH
JA NEXTUC
INC LCCOUNT
JMP NEXT1
NEXTUC:
CMP AL,61H
JB NEXT1
CMP AL,7AH
JA NEXT1
INC LCCOUNT
NEXT1:
INC SI
LOOP NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START
STRING DB '1.Assemble language is very hard to study.2.You must pay more attention.'
COUNT EQU $-STRING;求串长度
UCCOUNT DB ?;存大写字母个数
LCCOUNT DB ?;存小写字母个数
NCOUNT DB ?;存数字个数
SCOUNT DB ?;存空格个数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA SI,STRING
MOV CX,COUNT
NEXT:
MOV AL,[SI]
CMP AL,20H
JNZ NEXTN
INC SCOUNT
JMP NEXT1
NEXTN:
CMP AL,30H
JB NEXT1
CMP AL,39H
JA NEXTLC
INC NCOUNT
JMP NEXT1
NEXTLC:
CMP AL,41H
JB NEXT1
CMP AL,5AH
JA NEXTUC
INC LCCOUNT
JMP NEXT1
NEXTUC:
CMP AL,61H
JB NEXT1
CMP AL,7AH
JA NEXT1
INC LCCOUNT
NEXT1:
INC SI
LOOP NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START

2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询