微机原理习题答案1234章 联系客服

发布时间 : 星期二 文章微机原理习题答案1234章更新完毕开始阅读

※子程序MAXLTR的编程思路: 设置显示器显示方式为80*25彩色文本方式,清屏。设置光标位置,使提示文档左对齐整体居中。输出输入字符串提示文档,读取输入字符串并将其放入KEYBUF。在输入字符串尾加结束标志$,输出输入字符串。预设字符串中最大值为0。从前往后,依次取字符串中的每个字符,若其大于当前最大值,则进行替换,即可得到字符串中的最大值,并输出。最后输出说明文档。 其流程框图见图3-4。

START 初始化 清屏 设置光标位置(5,5) 显示提示字符串IN_STR 设置光标位置(5,6) KEYBUF ← 输入字符串 (AL) ← 输入字符串长度 AL按符号扩展成AX (CX) ← (AX) 在字符串尾加结束标志’$’ 设置光标位置(5,7) 显示提示字符串OUT_STR 显示输入的字符串 设置光标位置(5,8) 显示提示字符串MAXCHR (DL) ← 0 (BX) ← KEYBUF + 2 N ((BX)) > (DL) Y (DL) ← ((BX)) (BX) ← (BX) + 1 N (CX) ← (CX) – 1 (CX) = 0 ? Y 显示字符(DL) 设置光标位置(5,9) 显示提示字符串HINSTR 子程序MAXLTR返回 图3-4 子程序MAXLTR流程框图

- 48 -

※子程序SORTNUM的编程思路: 设置显示器显示方式为80*25彩色文本方式,清屏。设置光标位置,使提示文档左对齐整体居中。输出输入数据组提示文档,读取输入数据组字符串并将其放入KEYBUF。调用子程序CIN_INT,将字符串转换成数据串。判断数据串是否有错误或者为空,若是,则重新输入数据组。调用子程序MPSORT,采用冒泡法对数据串进行排序。再调用子程序INT_OUT,输出排序后的数据组。最后输出说明文档。

其流程框图见图3-5。

START 初始化 清屏 设置光标位置(5,5) 显示提示字符串IN_NUM 设置光标位置(5,6) KEYBUF ← 输入字符串 调用子程序CIN_INT Y (AL) = 0 ? N 设置光标位置(5,7) 显示提示字符串OUT_NUM 设置光标位置(5,8) 调用子程序MPSORT 调用子程序INT_OUT 设置光标位置(5,9) 显示提示字符串HINSTR 子程序SORTNUM返回 图3-5 子程序SORTNUM流程框图

※子程序CIN_INT的编程思路:

入口参数为:无;出口参数为:AL(有无错误标志,0为有,1为无)。从前往后,依次取字符串中的每个字符进行判断。CH表示数据组数据个数,AL表示当前数据x,DL作为有无数据标志。若当前字符为空格,则转到ADDNUM,判断DL是否为1,若为1,则CH增1,调用子程序ADDNEW,增加新数x,然后DL、AL清零;否则判断当前字符c是否在‘0’-‘9’之间,若不是,则判错,将AL置0,子程序CIN_INT返回;否则,DL置1,x=x*10+c-‘0’,判断x是否超过255,若是,则判错,将AL置0,子程序CIN_INT返回;否则,对下一个字符进行操作。字符串判断结束后,若DL为1,则有新数x未加至数据组,调用子程序ADDNEW,增加新数x。将数据组个数CH放入NUMBUF,将AL置1。

其流程框图见图3-6。

※子程序ADDNEW的编程思路:

入口参数为:CH(数据组数据个数)、AL(当前数据x);出口参数为:无。取出数据组NUMBUF的首地址,加上数据组数据个数,即为当前数据x的地址,将x放入该地址。

其流程框图见图3-7。

- 49 -