1、目录目录 一、一、 任务及要求:任务及要求:. 1 二、二、 课程设计简述及整体方框图课程设计简述及整体方框图 . 2 1. 总体设计思路简述 2 2. 程序主框图. 2 三、三、 课程设计原课程设计原理分析理分析 3 四、四、 设计中出现的问题分析及解决方案设计中出现的问题分析及解决方案 . 3 五、五、 结论结论. 4 六、六、 体会与收获体会与收获 5 附录附录 1 1 程序源代码程序源代码 . 5 1 一、一、 任务及要求:任务及要求: 1、将教材中实验七中的 Power idea 公司的数据按照以下格式在屏幕上显 示。 2、编写一个可以自行启动计算机,不需要在现有操作系统环境中运行的
2、程 序。程序功能如下: 列出功能选项,让用户通过键盘进行选择,界面如下: 提示: a) 功能 1:考虑 ffff:0 单元 b) 功能:考虑硬盘的 0 道 0 面 1 扇区 c) 功能 3 执行动态显示当前日期、时间, 显示格式:年/月/日 时:分:秒 按下 ESC 键后,返回到主选单 d) 功能 4:可更改当前日期时间,更改后返回到主选单。 3、以上两个题目中选择一个自行完成。 我本次课程设计选择的题目是:我本次课程设计选择的题目是:任务一。 1 reset pc ;重新启动计算机 2 start system ;引导现有的操作系统 3 clock ;进入时钟程序 4 set clock ;
3、设置时间 2 二、二、 课程设计简述及整体方框图课程设计简述及整体方框图 1. 总体设计思路简述 设置六个子程序,其中 divdw 和 show_str 是被重复使用的,divdw 用于将 十六进制数转换为字符, show_str 用于显示字符数据, show_year, show_income, show_employee,show_wage 分别用于将年份,收入,员工数,人均工资在 dos 窗口显示。 2. 程序主框图 主程序 显示年份 显示收入 显示雇员数 显示人均收入 divdw 子程序将十 六进制数转换为 字符 show_str 子程序 显示字符串 divdw 子程序将十 六进制数转
4、换为 字符 show_str 子程序 显示字符串 show_str 子程序 显示字符串 3 三、三、 课程设计原理分析课程设计原理分析 运用多种寻址方式、多重循环、栈、div 指令、多种转移指令等构造六个子 函数完成了将 data 段中的数据分配到包含多个数据项的结构型数据的显示缓冲 区,和显示缓冲区的每个字的颜色属性和字符的设置,使代码更加清楚,按功能 对代码进行划分也可以避免寄存器的冲突。 四、四、 设计中出现的问题分析及解决方案设计中出现的问题分析及解决方案 编译、连接正常,并生成可执行文件,但执行时出现错误,可能是由于 计算机设置有问题,所以换另外一台计算机执行出结果。 4 五、五、
5、结论结论 5 六、六、 体会与收获体会与收获 刚开始对于程序设计没有思路,但是在重新仔细钻研了实验 7、实验 9、实 验 10 以后,对于课程设计一的设计就顺利很多了。不仅对于前十章的知识有了 更深层次的理解,也明白了,一门计算机语言的学习确实离不开一步步脚踏实地 的实践。 附录附录 1 1 程序源代码程序源代码 assume cs:code,ds:data,ss:stack stack segment db 32 dup(0) ;用来保存寄存器值 stack ends data segment db 32 dup(0) ;用于存放临时数据 db 1975,1976,1977,1978,197
6、9,1980,1981,1982,1983 db 1984,1985,1986,1987,1988,1989,1990,1991,1992 db 1993,1994,1995 ;以上是表示 21 年的字符串 4 * 21 = 84 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;以上是表示 21 年公司总收入的 dword 型数据 4 * 21 = 84 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800 ;以上是表示 21 年公司雇员人数的 21 个 word 型数据 2 * 21 = 42 data e