汇编第三版 王爽 实验7

按行复制


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'
	
	dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980,590827
    dd 803530,1183000,1843000,2759000,3753000,4649000,5937000
	
	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

code segment

start: 
	;ds指向数据段
	mov ax,data
	mov ds,ax
	;es指向table段
	mov ax,table
	mov es,ax

	call copy

	mov ax,4c00h
	int 21h

copy:
	mov cx,21
	mov di,0
	mov si,0
	mov bx,0
	s:	;年份1
		mov ax,ds:[di]
		mov es:[bx],ax
		;收入1
		mov ax,ds:[di+84]
		mov es:[bx+5],ax
		;雇员数
		mov ax,ds:[si+168]
		mov es:[bx+10],ax

		add si,2
		add di,2
		;年份2
		mov ax,ds:[di]
		mov es:[bx+2],ax	
		;收入2
		mov ax,ds:[di+84]
		mov es:[bx+7],ax
		;计算人均收入
		mov ax,es:[bx+5]
		mov dx,es:[bx+7]
		mov bp,es:[bx+10]
		div bp
		mov es:[bx+13],ax

		add di,2
		add bx,16
		loop s
	ret

code ends
end start 

posted @ 2022-03-30 17:27  Dragon-Li  阅读(33)  评论(0)    收藏  举报