assembly 如何在emu8086中计算字符串中特定字符的出现次数

jfewjypa  于 2023-01-26  发布在  其他
关注(0)|答案(2)|浏览(197)

请在这个问题上帮帮我
输出:
输入字符串:* * 已经**
A-2
B-0级
C-0
D-1职等
E-1

6l7fqoea

6l7fqoea1#

根据您支持的语言(请阅读:不是所有使用“A”到“E”的语言都具有相同数目的字符),创建无符号值的数组(数据类型也取决于数组的最长似然大小),然后从给定字母表的开始到结束进行枚举,对发现进行计数并递增所分配的数组条目。

  • 为完整起见 *:如果案例有效,您没有大声喊出来(请读:是'a'才算作'A')......如果要分别计算它们,则需要为不同的大小写保留合适的存储空间。枚举完字母表后,只需从数组的开头走到结尾,转储发现的结果。这不是最优雅的解决方案......但确实满足提供的参数。
mec1mxoz

mec1mxoz2#

编写一个过程,在整个字符串上循环查找一个特定的字符。每匹配一个字符就增加一个计数器。返回结果显示为 * 字符DL出现DH乘以 *:
例如“A - 2”。

mov  dl, "A"
call CountChar
... print result ...
mov  dl, "B"
call CountChar
... print result ...

CountChar:
  mov  dh, 0
  mov  cx, ... length of the input string ...
  jcxz Ready
  mov  bx, ... address of the input string ...
 Again:
  cmp  [bx], dl
  jne  Skip
  inc  dh
 Skip:
  inc  bx
  loop Again
 Ready:
  ret

相关问题