设内存缓冲区BUF中存有100个字符,写一个子程序,统计BUF中大写字符、小写字符个数,将结果分别保存在N_CHAR1、N_CHAR2单元。(10分)。提示:数据结构定义如下: DATA SEGMENT BUF DB ‘AJUuiy898@#EWDFyuii*&^9807jk...’; 共100个字符 N_CHAR1 DB ? ;保存字符串中大写字符个数 N_CHAR2 DB ? ;保存字符串中小写字符个数 DATA ENDS
时间: 2023-03-07 10:25:22 浏览: 160
答:程序可以如下:MOV CX, 100 ; 将待比较的字符个数设置为100
MOV SI, 0 ; 将SI指向BUF的首地址
MOV N_CHAR1, 0 ; 将N_CHAR1设置为0
MOV N_CHAR2, 0 ; 将N_CHAR2设置为0CYCLE:
MOV AL, [SI] ; 将BUF中的字符放入AL
CMP AL, 'A' ; 与A比较
JL INCR_CHAR2 ; 小于A时,跳转到INCR_CHAR2
JG INCR_CHAR1 ; 大于A时,跳转到INCR_CHAR1
INCR_CHAR1:
INC N_CHAR1 ; N_CHAR1加1
INCR_CHAR2:
INC N_CHAR2 ; N_CHAR2加1LOOP CYCLE ; 回到循环的开始处RET ; 返回
阅读全文