本帖最后由 xiaofengli2008 于 2014-3-2 15:41 编辑
编号程序后,我用8086编译运行程序,代码如下:
ASSUME DS:DATA,SS:STACK,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','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个dword型数据
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型数据
DATA ENDS
TABLE SEGMENT
DB 21 DUP ('year summ ne ?? ')
TABLE ENDS
STACK SEGMENT
DB 16 DUP (0)
STACK ENDS
CODESG SEGMENT
START: MOV AX,DATA
MOV DS,AX
MOV AX,TABLE
MOV ES,AX
MOV AX,STACK
MOV SS,AX
MOV SP,16
MOV BX,0
MOV SI,0
MOV CX,21
S0: PUSH CX
MOV CX,2
S1: MOV AX,[SI]
MOV ES:[BX+SI],AX
ADD SI,2
LOOP S1
POP CX
ADD BX,16
LOOP S0
;以上为把21年的年份写入表格中
MOV BX,0
MOV SI,0
MOV CX,21
S2: PUSH CX
MOV CX,2
S3: MOV AX,[SI+84]
MOV ES:[BX+SI+5],AX
ADD SI,2
LOOP S3
POP CX
ADD BX,16
LOOP S2
;以上为把21年收入写入表格中
MOV BX,0
MOV SI,0
MOV CX,21
S4: MOV AX,[SI+168]
MOV ES:[BX+SI+10],AX
ADD SI,2
LOOP S4
;以上为把21年的雇员人数写入表格中
MOV BX,0
MOV SI,0
MOV CX,21
S5: MOV AX, [SI+84]
MOV DX,[SI+86]
DIV WORD PTR ES:[BX+SI+13]
MOV ES:[BX+SI+13],AX
ADD SI,4
ADD BX,16
LOOP S5
;以上表示21年的人均收入
MOV AX,4C00H
INT 21H
CODESG ENDS
END START
但是用umu8086编译通不过提示file:///file:///file:///file:/// 非法指令 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 |