一、 实验目的1. 熟练掌握 call 、ret 的原理及应用2. 熟练掌握子程序的框架、进行模块化程序设计3. 掌握参数与结果的传递、批量数据传递等问题的解决方法二、 实验内容及要求(一)综合程序设计:利用实验10 中的三个子程序,将power idea 公司的数据按照下图所示的格式在屏幕上显示出来,要求计算人均收入并显示出来。power idea 公司的数据如下:assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' ; 年份 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ; 公司总收入 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,17800 ; 公司雇员人数data ends table segment db 21 dup('year summ ne ??') table ends 要求:(1)给出该设计过程或算法(2)在代码中必要的地方给出相应注释(3)最终显示结果。三、实验解答过程及结果(1)该题目的第一段db 型年份数据是以字符串储存的,不适合后续的操作,所以先用 ice 子程序把年份数据转化为word 型数据。接下来循环开始, 先调用dtoc1 子程序,把第一年( 1975)的 word 型年份数据转化为字符串储存在es中,再调用show_str 函数在屏幕缓冲区显示出来。接着调用dtoc2 子程序和show_str 子程序把第一年的收入在同一行显示出来。再接着调用dtoc1 子程序和 show_str 子程序把第一年的雇员数在同一行显示出来,最后计算平均收入,同样调用两个子程序显示出来。不停地循环,循环 21 次,把所有的数据都显示出来,输入程序结果,程序完结。(2)代码及数据如下:assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' ;年份dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;公司总收入dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 dw 11542,14430,15257,1...