汇编语言程序课程设计.docx

上传人:汽*** 文档编号:547757615 上传时间:2023-02-19 格式:DOCX 页数:4 大小:16.61KB
返回 下载 相关 举报
汇编语言程序课程设计.docx_第1页
第1页 / 共4页
汇编语言程序课程设计.docx_第2页
第2页 / 共4页
汇编语言程序课程设计.docx_第3页
第3页 / 共4页
汇编语言程序课程设计.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编语言程序课程设计.docx》由会员分享,可在线阅读,更多相关《汇编语言程序课程设计.docx(4页珍藏版)》请在金锄头文库上搜索。

1、汇编语言程序课程设计汇编课程设计与学习总结系 别 届别 学生姓名 指导教师 专 业 班 级 学 号 职 称二O 一六 年 六月课程设计任务安排:Power idea公司从1975年成立一直到1995年的基本情况如下表所示,该数据已在程序中定义好:年份 表1-1:公司基本情况收入 雇员 人均收入 1975 1976 1977 1978 1979 1980 1995data segment16 22 382 1356 2390 8000 5937000 3 7 9 13 28 38 17800 ? ? ? ? ? ? ? db 1975,1976,1977,1978,1979,1980,1981,

2、1982,1983 db 1984,1985,1986,1987,1988,1989,1990,1991,1992 db 1993,1994,1995 ;以上是21年的21个字符串 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;以上是表示21年公司总收入的21个dowrd型数据 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,

3、2258,2793,4037,5635,8226 ;以上是表示21年公司雇员人数的21个word型数据dw 11542,14430,15257,17800 data ends 图1-1:程序中数据定义计算data数据段中每一年的人均收入,并将所有数据按照如图1-2所示的格式在屏幕上显示出来。图1-2:效果图第一部分:程序设计思路以及程序流程图 程序主要从以下几个方面来进行设计 1、 人均收入的计算 人均收入等于收入除以雇员人数。设计中要注意的是要相对应的收入除以相对应的雇员人数。 所以在设计中用了直接寻址和间接寻址的方式来控制。si来定位 显示缓冲区的数值放置位置和年份字符串的字符,bx定位收

4、入字符串中 的字符,di定位雇员字符串中的字符。 2、 在屏幕中显示结果 向段地址为b800的地址空间写入数据,写入的内容将出现在显示器上。一个字符在显示缓冲区要占两个字节,低位字节存储字符的 ASCII码,高位字节存储字符的属性。 本设计中将年份、收入、雇员以及计算出的人均收入的数值转化为十进制的字符串,每个字符的ASCII码放入显示缓存区的低位;高位 存放颜色属性,本次设计为黑底白字,故设置为00000111B,即07h。 本程序共用了几个子程序,子程序之间相互调用,尽可能地将程 序优化。: 1、 2、3、 4、5、 s:主要作用是在指定位置将年份、收入、雇员以及计算出的人均收入的数值放入

5、显示缓冲区中,以指定的颜色进行显示。在过程中调用其他子程序,循环21次,将每个数据都放入缓存区中。 changeToStr:主要是将字型数据转换成十进制形式的字符串,以便屏幕中显示的是我们能够读懂的信息。转换方法是用数据除以10,循环多次,每次得到的余数都加上30H,便得到表示十进制的ASCII码串。 s1:判断数据的每一位都转化成十进制的ASCII码,只要除到商为0,就能确定每一位都转化了。所以在程序中循环多次,用jnz指令实现相关功能,直至数据各位的值都求出。 s2:将得到的十进制ASCII码串一位位地放入缓冲区中,用jnz指令判断,直至数值都放入显示缓冲区后,返回上一级程序。 divdw

6、:进行不会溢出的除法运算。在对字型数据的转换过程中,实现对10的不断取余。同时在计算人均收入时,完成收入除以雇员人数的计算。定位到收入字段 将年份放入es中,颜色设置为黑底白字 将基本数据放入寄存器dx,将es的段地址赋值为0b800h ,即为显示缓冲区 开始 将收入的值转化为十进制的ASCII码,放入es中,颜色设置为黑底白字 定位到年份定位到雇佣人数字段 bx加上84,收入 字段,显示缓冲区换至 下一行。 将雇员人数的值转化为十进制的ASCII 码,放入es中,颜色设置为黑底白字Y 结束 N 是否循环了21次? 将人均收入的值转化为十进制的ASCII码,放入es中,颜色设置为黑底白字 收入除以雇员人数,得到人均收入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号