马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 刘东方 于 2017-8-4 17:40 编辑
写了 调试 差不多快6个小时 总算是工作了
下面是结果的格式
|0 1 2 3 |4 5 6 7 |8 9 |A B |C D EF |
|年 年 年 年 |收 入 收 入 |员 工 |商 商 |余 数 空格 |
table:0 |1 9 7 5 |10 00 00 00 |03 00 |05 00|01 00 |
.
.
.
.
数据则全部存在 data segment 里面
因为不想把余数舍掉 就存在C,D 里面了
代码请看: 欢迎提供意见 批评 改进 等等
assume ds:data, cs:code
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987'
db '1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827,803530,1183000
dd 1843000,2759000,3753000,4649000,5937000
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226,11542,14430,15257,17800
data ends
table segment
db 21 dup('0123456789AB ')
table ends
code segment
start: mov ax,data
mov ds,ax ;income saved in ds
mov ax,table
mov ss,ax ;table 0-3: year/4-7
mov bx,0
mov si,0
mov di,0
mov bp,0
mov sp,160h
mov cx,21
s: push bx
mov ax,[bx] ;table 0-3: year
mov [bp],ax
mov ax,[bx+2] ;table 0-3: year
mov [bp+2],ax
pop bx
add bp,10h
add bx,4
loop s
mov bp,4
mov cx,21
s1: push bx
mov ax,[bx] ;table 4-7: Income
mov [bp],ax
mov ax,[bx+2]
mov [bp+2],ax
pop bx
add bp,10h
add bx,4
loop s1
mov bp,8
mov cx,21
s2: mov ax,[bx] ;table 8-9: Employee number
mov [bp],ax
add bp,10h
add bx,2
loop s2
mov bp,4
mov cx,21
s3: mov ax,[bp]
mov dx,[bp+2]
div word ptr [bp+4]
mov [bp+6],ax ;table A-B: Average income (Income/Employee)
mov [bp+8],dx
add bp,10h
loop s3
mov ax,4c00h
int 21h
code ends
end start |