汇编语言程序设计-课程设计.doc
上传人:王子****青蛙 上传时间:2024-09-14 格式:DOC 页数:7 大小:134KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

汇编语言程序设计-课程设计.doc

汇编语言程序设计-课程设计.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验目得1、熟练掌握call、ret得原理及应用2、熟练掌握子程序得框架、进行模块化程序设计3、掌握参数与结果得传递、批量数据传递等问题得解决方法实验内容及要求(一)综合程序设计:利用实验10中得三个子程序,将poweridea公司得数据按照下图所示得格式在屏幕上显示出来,要求计算人均收入并显示出来.poweridea公司得数据如下:assumecs:codesgdatasegmentdb’1975’,’1976',’1977','1978','1979',’1980’,'1981','1982','1983'db'1984','1985','1986',’1987','1988',’1989’,’1990','1991',’1992'db’1993',’1994',’1995';年份dd16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514dd345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000;公司总收入dw3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226dw11542,14430,15257,17800;公司雇员人数dataendstablesegmentdb21dup('yearsummne??')tableends要求:(1)给出该设计过程或算法(2)在代码中必要得地方给出相应注释(3)最终显示结果。三、实验解答过程及结果(1)该题目得第一段db型年份数据就是以字符串储存得,不适合后续得操作,所以先用ice子程序把年份数据转化为word型数据.接下来循环开始,先调用dtoc1子程序,把第一年(1975)得word型年份数据转化为字符串储存在es中,再调用show_str函数在屏幕缓冲区显示出来。接着调用dtoc2子程序与show_str子程序把第一年得收入在同一行显示出来。再接着调用dtoc1子程序与show_str子程序把第一年得雇员数在同一行显示出来,最后计算平均收入,同样调用两个子程序显示出来.不停地循环,循环21次,把所有得数据都显示出来,输入程序结果,程序完结。(2)代码及数据如下:assumecs:codesgdatasegmentdb’1975’,'1976’,’1977','1978','1979',’1980','1981',’1982',’1983'db'1984’,'1985',’1986’,'1987’,'1988','1989','1990','1991’,'1992'db'1993’,'1994’,’1995’;年份dd16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514dd345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000;公司总收入dw3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226dw11542,14430,15257,17800;公司雇员人数dataendstablesegmentdb21dup('yearsummne??')tableendsstacksegmentdb1024dup(0)stackendscodesgsegmentstart:movax,datamovds,axmovax,tablemoves,axmovax,stackmovss,axmovsp,1024movsi,0movbx,0movdh,5movax,1975;初始化,dh为输出时得行数movcx,21so:callicepushaxmovax,ds:[si]calldtoc1popaxpushcxmovdl,1movcl,00000111bcallshow_strpopcx;这两段输出年份pushaxpushdxmovax,ds:[si+84]movdx,ds:[si+86]calldtoc2popdxpopaxpushcxmovdl,8movcl,00000111bcallshow_strpopcx;这两段输出收入pushaxmovax,ds:[bx+168]calldtoc1popaxpushcxmovdl,18movcl,00000111bcalls