王爽汇编语言 课程设计1
- 格式:doc
- 大小:45.00 KB
- 文档页数:7
;第十章课程设计1。
assume cs:codesg,ds:data,es:table,ss:stack
data segment
db
'1975','1976','1977','1978','1979','1980','1991','1982','1983' db
'1984','1985','1986','1987','1988','1989','1990','1991','1992' db'1993','1994','1995'
dd
16,22,382,1356,2390,8000,16000,24486,59965,97479,140417,197514 dd
345980,590827,8035530,1183000,1843000,2759000,3753000,4649000 dd 593700
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 ?? ')
db 40 dup(' ')
db 10 dup(0)
db 4 dup(0)
table ends
stack segment
dw 32 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,64
mov bx,0
mov bp,0
call transmit
mov bx,0
mov cx,21
mov al,5
mov es:[bp+32h],al
mov al,20
mov es:[bp+33h],al
mov ax,28h
mov es:[bp+34h],ax
s_sta: call arrange
call show_dec
add bx,10h
mov al,es:[bp+32h]
inc al
mov es:[bp+32h],al
loop s_sta
mov ax,4c00h
int 21h
;////////////transmint///////////transmit//////////transmit///////////// ///
transmit: mov bx,0
mov bp,0
mov cx,21
s: push cx
;year
mov cx,4
mov si,0
s1: mov al,ds:[bx][si]
mov es:[bp][si],al
inc si
loop s1
pop cx
;summ
mov ax,ds:[bx][84]
mov es:[bp][5],ax
mov ax,ds:[bx+2][84]
mov es:[bp+2][5],ax
add bx,4
add di,2
add bp, 16
loop s
;ne
mov si,0
mov bx,0
mov bp,0
mov cx,21
s2:mov ax,[bx+168][si]
mov es:[bp][0ah],ax
add si,2
add bp,16
loop s2
;shou ru
mov bx,0
mov bp,0
mov si,0
mov di,0
mov cx,21
s3:mov ax,[bx+84][si]
mov dx,[bx+84+2][si]
div word ptr [bx+168][di]
mov es:[bp][0dh],ax
add si,4
add di,2
add bp,16
loop s3
ret
;//////////////////arrange//////////arrange/////////////arrange//////// arrange:push cx
push si
mov bp,150h
mov si,0
mov di,0
mov dx,0
;arrange year
mov ax,es:[bx][si]
mov es:[bp][si],ax
mov ax,es:[bx][si+2]
mov es:[bp][si+2],ax
;arrange year
mov ax,es:[bx+5][si]
mov dx,es:[bx+5][si+2] call tran_dec
mov cx,di
inc cx
s2_ar: mov al,es:[bp+28h][di]
mov es:[bp+10][di],al
sub di,1
loop s2_ar
;arrange summ
mov si,0
mov ax,es:[bx+0ah][si]
mov dx,0
call tran_dec
mov cx,di
inc cx
s3_ar:mov al,es:[bp+28h][di]
mov es:[bp+20][di],al
sub di,1
loop s3_ar
;arrange ne
mov si,0
mov ax,es:[bx+0dh][si]
mov dx,0
call tran_dec
mov cx,di
inc cx
s4_ar:mov al,es:[bp+28h][di]
mov es:[bp+30][di],al
sub di,1
loop s4_ar
pop si
pop cx
ret
tran_dec: