微机原理实验练习设计任务1:设计一程序,实现从键盘键入一串字母,回车后按A---Z顺序排列,并显示各个字母的个数。 例如

微机原理实验练习
设计任务1:
设计一程序,实现从键盘键入一串字母,回车后按A---Z顺序排列,并显示各个字母的个数。

例如:
ABCDAB…………
回车显示 A2B2C1D1…………

要求:
1. 对大写字母和小写字母进行统计,其它字符不计数,也不显示。
2. 假设每个字母出现的次数不大于9
3. 画出完整的程序框图
4. 将最终程序代码书写在试卷上
设计任务2:
设计一程序,实现从键盘键入一串字符,回车后对字符串当中的数字进行累加求和,并在屏幕上显示累加值。

例如:
A4123BCDA56B…………
回车显示 21
即求 4+1+2+3+5+6的和并显示结果在屏幕上。
要求:
1. 每个数字都当作个位数进行累加
2. 对字母不作任何要求.
3. 画出完整的程序框图
4. 将最终程序代码书写在试卷上
sabrinaxia 1年前 已收到1个回答 举报

雨想衣裳风想容 春芽

共回答了21个问题采纳率:95.2% 举报

没有什么难点,主要是比较费工夫。汇编语言可读性非常差,一般情况别人只可能指导思路,不可能代替,别人写出来的东西你自己看也费劲,而且什么都学不到。
我提点一下你吧,第一题如果让我做,我会先写一系列的子函数或者宏,然后依次调用完成整个工作:1、int 21h的键盘输入
2、int 21h的屏显
3、判断是否为大写字母(asc2码是否在41h到5ah的范围)
4、判断是否为小写字母(asc2码是否在61h到7ah的范围)
5、判断是否为回车
6、转换字母的asc2码为数字
主函数:开辟一个26*2的一系列存储单元,假如首地址为XXH,初值都为0。
调用1 存在某个地址[A]内。
依次调用3 4 5,若
3成立,调用6把大写字母的asc2码提取为B,执行XXH+B-41h内存储的数+1。
4成立,调用6把大写字母的asc2码提取为B,执行XXH+B-61h+26内存储的数+1。
5成立,开始输出:计数器i从0到26,每次循环执行调用2输出'41h+i'(大写字母A到Z)和调用2输出XXH+i内的内容。循环结束再自0起循环26次,每次循环执行调用2输出'61h+i'和XXH+26+i内的内容。
程序框图可以根据我的叙述你自己画出来,然后程序可以查指令表慢慢编写。如果能接受这种回答方式的话请追问我们做进一步交流,细节上也可以讨论,不能接受的话就算了。

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.031 s. - webmaster@yulucn.com