|
主题 : : 实验七,琢磨了我好久! [待解决] |
回复[ 1次 ]
点击[ 331次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-07-11 13:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-12-04 14:44 |
assume cs:code
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'
;以上表示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 ?? ')
dw 0,0,0,0,0,0,0,0
table ends
code segment
start: mov ax,data
mov ds,ax
mov ax,table
mov ss,ax
mov sp,0160h
mov bp,0
mov bx,0
mov di,0
mov cx,21
s1: push cx
mov cx,4
mov si,0
s0: mov al,[bx+si]
mov [bp].0h[si],al
inc si
loop s0
pop cx
mov ax,54h[bx]
mov dx,56h[bx]
mov [bp].05h,ax
mov [bp].07h,dx
mov ax,0a8h[di]
mov [bp].0ah,ax
mov ax,[bp].05h
mov dx,[bp].07h
div word ptr [bp].0ah
mov [bp].0dh,ax
add bx,4
add di,2
add bp,10h
loop s1
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-09-27 19:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-05-26 14:05 |
我是这样写的
assume cs:code
data segment
db '1975', '1976', '1977', '1978', '1979', '1980', '1981'
db '1982', '1983', '1984', '1985', '1986', '1987', '1988'
db '1989', '1990', '1991', '1992', '1993', '1994', '1995'
;以上是表示公司21年的21个字符串
dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486
dd 50065, 97479, 140417, 197514, 345980, 590827, 803530
dd 1183000, 1843000, 2759000, 3753000, 4649000, 5937000
;以上是表示公司21年来每年的总收入
dw 3, 7, 9, 13, 28, 38, 130, 220, 476, 778
dw 1001,1442, 2258, 2793, 4037, 5635, 8226
dw 11542, 14430, 15257, 17800
;以上是表示公司21年来每年雇员人数
data ends
table segment
db 21 dup ('year summ ne ?? ')
table ends
code segment
start:
mov ax, data
mov ds, ax
mov ax, table
mov es, ax
mov bx, 0
mov si, 0
mov di, 0
mov cx, 21
s:
mov ax, [bx]
mov es:[di], ax
mov ax, 2[bx] ;最后将(bx) = (bx)+4
mov es:2[di], ax ;将(di) = (di)+10h
mov ax, 84[bx]
mov es:5[di], ax
mov ax, 86[bx]
mov es:7[di], ax
mov ax, 168[si] ;注意这里不能再用bx寄存器了
mov es:10[di], ax
mov ax, es:5[di]
mov dx, es:7[di]
div word ptr es:0ah[di]
mov es:0dh[di], ax
add bx, 4
add si, 2
add di, 10h
loop s
mov ax, 4c00h
int 21h
code ends
end start | | |
|