|
主题 : : 实验七整理,调试通过 [待解决] |
回复[ 1次 ]
点击[ 307次 ] | |
荣誉值:0
信誉值:2
注册日期:2011-02-09 21:07 |
assume cs:codesg
YEAR_ARRRY EQU 0H
SUMM_ARRAY EQU 84
COUNT_ARRAY EQU 168
M_YEAR EQU 0H
M_SUMM EQU 5H
M_COUNT EQU 0AH
M_AVER EQU 0DH
data segment
;表示21年年份,字符串
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
db '1984', '1985', '1986', '1987', '1988', '1989', '1990', '1991', '1992'
db '1993', '1994', '1995'
;21年总收入,dword
dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
dd 345980, 590827, 803530, 1183000, 1843000, 2759000, 3753000, 4649000, 5937000
;雇员人数 dword
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
codesg segment
start:
mov ax, data
mov ds, ax
mov ax, table
mov es, ax
mov si, 0
mov di, 0
mov bx, 0
mov cx, 21
calc_one:
;年份
mov ax, YEAR_ARRRY[si]
mov dx, YEAR_ARRRY[si+2]
mov es:[bx].M_YEAR, ax
mov es:[bx].(M_YEAR+2), dx
;总收入
mov ax, SUMM_ARRAY[si] ;被除数低16位
mov dx, SUMM_ARRAY[si+2] ;被除数高16位
mov es:[bx].M_SUMM, ax
mov es:[bx].(M_SUMM+2), dx
;人均收入
div word ptr COUNT_ARRAY[di] ;除数
mov es:[bx].M_AVER, ax
;雇员人数
mov ax, COUNT_ARRAY[di]
mov es:[bx].M_COUNT, ax
add si, 4
add di, 2
add bx, 10h
loop calc_one
mov ax, 4c00h
int 21h
codesg ends
end start | | |