|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
;默认采用ML6.11汇编程序
DATAS SEGMENT
;此处输入数据段代码
DB '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
DB '1985','1986','1987','1988','1989','1990','1991','1992','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个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型数据
DATAS ENDS
TABLE SEGMENT
DB 21 DUP ('YEAR SUMM NE ?? ')
TABLE ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
;此处输入代码段代码
MOV AX,DATAS
MOV DS,AX
MOV AX,TABLE
MOV ES,AX
MOV CX,21
MOV SI,0
MOV DI,0
MOV BX,0
S:
MOV AX,DS:[SI] ;复制源年份前两位到AX寄存器
MOV ES:[DI],AX ;写入年份前两位
MOV AX,DS:[SI+2] ;复制源年份后两位到AX寄存器
MOV ES:[DI+2],AX ;写入年份后两位
MOV AX,DS:54H[SI] ;复制源收入低16位到AX寄存器
MOV ES:5H[DI],AX ;写入收入低16位
MOV AX,DS:54H[SI+2] ;复制源收入高16位到AX寄存器
MOV ES:5H[DI+2],AX ;写入收入高16位
MOV AX,DS:0A8H[BX] ;复制源雇员数到AX寄存器
MOV ES:0AH[DI],AX ;写入雇员数
MOV AX,ES:5H[DI] ;被除数低16位
MOV DX,ES:5H[DI+2] ;被除数高16位
DIV WORD PTR ES:0AH[DI] ;收入除以雇员数计算人均收入
MOV ES:0DH[DI],AX ;商作为人均收入写入
ADD SI,4
ADD DI,16
ADD BX,2
LOOP S
MOV AX,4C00H
INT 21H
CODES ENDS
END START |
|